US20020094084A1 - Method and apparatus for providing conditional access in connection-oriented interactive networks with a multiplicity of service providers - Google Patents

Method and apparatus for providing conditional access in connection-oriented interactive networks with a multiplicity of service providers Download PDF

Info

Publication number
US20020094084A1
US20020094084A1 US09/135,615 US13561598A US2002094084A1 US 20020094084 A1 US20020094084 A1 US 20020094084A1 US 13561598 A US13561598 A US 13561598A US 2002094084 A1 US2002094084 A1 US 2002094084A1
Authority
US
United States
Prior art keywords
key
packets
customer
recited
public
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US09/135,615
Other versions
US6424714B1 (en
Inventor
Anthony Wasilewski
Douglas Woodhead
Gary Logston
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.)
Cisco Technology Inc
Scientific Atlanta LLC
Original Assignee
Scientific Atlanta 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
Application filed by Scientific Atlanta LLC filed Critical Scientific Atlanta LLC
Priority to US09/135,615 priority Critical patent/US6424714B1/en
Assigned to SCIENTIFIC-ATLANTA, INC. reassignment SCIENTIFIC-ATLANTA, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LOGSTON, GARY LEE, WASILEWSKI, ANTHONY J., WOODHEAD, DOUGLAS F.
Publication of US20020094084A1 publication Critical patent/US20020094084A1/en
Application granted granted Critical
Publication of US6424714B1 publication Critical patent/US6424714B1/en
Assigned to SCIENTIFIC-ATLANTA, LLC reassignment SCIENTIFIC-ATLANTA, LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: SCIENTIFIC-ATLANTA, INC.
Assigned to CISCO TECHNOLOGY, INC. reassignment CISCO TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SCIENTIFIC-ATLANTA, LLC
Anticipated expiration legal-status Critical
Assigned to SCIENTIFIC-ATLANTA, LLC reassignment SCIENTIFIC-ATLANTA, LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: SCIENTIFIC-ATLANTA, INC.
Assigned to SCIENTIFIC-ATLANTA, LLC reassignment SCIENTIFIC-ATLANTA, LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: SCIENTIFIC-ATLANTA, INC.
Assigned to TECH 5 SAS reassignment TECH 5 SAS CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT 7523479 NEEDS TO BE INCLUDED, WAS ACCIDENTALLY MISSED WHEN RECORDING ASSIGNMENT PREVIOUSLY RECORDED ON REEL 049603 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE NEED TO INCLUDE PATENT 7523479 IN THE ASSIGNMENT. WAS ACCIDENTALLY MISSED ON LAST RECORDING. Assignors: CISCO TECHNOLOGY, INC.
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17345Control of the passage of the selected programme
    • H04N7/17354Control of the passage of the selected programme in an intermediate station common to a plurality of user terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J2203/00Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
    • H04J2203/0001Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
    • H04J2203/0073Services, e.g. multimedia, GOS, QOS
    • H04J2203/008Support of video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management

Definitions

  • the present invention relates to a control system for providing interactive information services, such as video, audio, library, interactive games, and the like over a digital network.
  • interactive information services such as video, audio, library, interactive games, and the like
  • Particular video applications include “movie on demand,” on-line data retrieval, and home shopping.
  • the invention relates to a control system for providing secure transmission of these information services between a service provider and a customer's set top unit over a digital network.
  • Such an exemplary system typically has three distinct segments: (1) a service provider (SP), which provides the video, audio, interactive games and the like (collectively referred to hereinafter as “programs”) to the system; (2) a customer, who purchases the programs from the service provider; and, (3) a network operator, which provides a transmission path or connection between the SP and the customer for delivery of the programs.
  • SP service provider
  • a layer of complexity is added to the operation and design of the system if the network operator is defined as a telephone company by the Federal Communications Commission (FCC). In such a case, the network operator is subject to regulation under the jurisdiction of the FCC.
  • the system will then be further categorized into Level 1 services (L1) and Level 2 services (L2).
  • Level 1 services provide the information session connection and define the portion of the system responsible for setting up and maintaining interactive communication sessions between customers and SPs.
  • Level 1 services are provided by the network operator and are regulated by the FCC.
  • Level 2 services define the portion of the system responsible for providing the programs requested to the L1 portion of the system from the SP and for terminating the service at the customer end of the network.
  • a provider of Level 2 services is defined by the FCC as an enhanced services provider and is not regulated by the FCC. Significantly, these FCC regulations limit the control a Level 1 services provider may have over Level 2 services.
  • conditional access In a Level 1/Level 2 system, which is under the jurisdiction of the FCC, the SP resides in Level 2 and the control that the SP can exercise over Level 1 services is restricted. However, in any system where a SP is delivering programs to a customer over a network, the SP has a need to prevent the unauthorized access to the programs provided to the customer. For example, a non-subscriber may attempt to illegitimately receive the programs intended for the use of paying subscribers. This protection of programs through the prevention of unauthorized access is referred to as “conditional access.” As used herein the terms “conditional access” and “conditional access layer” broadly refer to the control mechanisms, data structures and commands that provide for selective access or denial of specific services. Prior art systems have provided conditional access by encrypting the programs at the SP site and decrypting the programs at the customer site.
  • Lee et al. U.S. Pat. No. Re. 33,189, discloses a system using an encryption mechanism for providing conditional access in a satellite television system and is hereby incorporated by reference.
  • a program is scrambled at a SP site using a frequently changing random number.
  • the random numbers are encrypted with a key and broadcast along with the program to customer sites.
  • Customers who have paid receive the key, encrypted with the unique ID that is embedded in their set top unit (STU).
  • STU set top unit
  • These customers' STUs can decrypt the key using the unique ID embedded within it.
  • the customers' STU can then decrypt the encrypted random numbers, as they are broadcast, and use the random numbers, along with the key, to decrypt the program.
  • the key in the Lee invention must be securely transmitted; otherwise, an unauthorized user could get access to the key and gain access to the broadcast programs.
  • Lee protects the key by using the unique ID of the STU to encrypt it.
  • Such a technique works fine in a broadcast environment where there is a single broadcaster to multiple users. In that environment, the broadcaster can take adequate measures to protect the list of valid customer STU IDs.
  • multiple service providers i.e., broadcasters
  • the list of unique STU IDs is vulnerable to discovery by unauthorized parties, and the security of the system may be breached.
  • the Lee system is appropriate for a broadcast environment in which the SPs have the only reasonable means to address the STUs. Therefore, the system is not susceptible to compromise by unauthorized users addressing the STUs.
  • an unauthorized user could put information on the network addressed to individual STUs and thereby compromise the system.
  • Applicants have recognized that a conditional access system in a digital network environment must have a mechanism that allows the STU to authenticate the identity of the SP. Thus, applicants have recognized that an improved encryption technique is needed.
  • conditional access should be performed while a program is still in control of the Level 2 service provider, i.e., before it is delivered to the L1 portion of the system. Access to the program and vital conditional access information can be closely controlled by a service provider.
  • the file server equipment currently available to service providers does not provide the necessary functionality to perform conditional access before a program is output from the file server. As a result, there is a need for method and apparatus to provide conditional access to a program after it exits a file server, but before it enters the L1 portion of the system.
  • the present invention meets the needs discussed above by providing method and apparatus between the SPs and the Level 1 services provider that accepts programs destined for an STU in the form of MPEG-2 transport packets enveloped in one of a plurality of network protocols.
  • the packets are removed from a first network protocol.
  • Conditional access layers are applied to the packets. After applying the conditional access layers, the packets are encapsulated and output in a second network protocol destined for the STU.
  • a method of providing conditional access to selected program is provided.
  • Packets representing a program requested by a customer having an STU are selected.
  • Those program bearing packets are encrypted according to a first encryption algorithm using a first key.
  • the first key used to encrypt the program is, in turn, encrypted according to a second encryption algorithm using a second key.
  • the first keys are transported in packets to the customer's STU along with the program packets.
  • the second key is, in turn, encrypted using a public-key cryptographic technique such that the public key used in the encryption corresponds to the private key of the customer's STU.
  • the encrypted second key is then transported via packets to the STU along with the program and first key packets.
  • the apparatus provides means for receiving program bearing packets in a first network protocol from a first data link and removing the packets from the first network protocol.
  • the apparatus selects all packets comprising a particular program requested by a customer.
  • Conditional access is then applied to the requested program at the packet layer in accordance with the method described above.
  • the apparatus then encapsulates all packets in a second network protocol and outputs them over a second data link for delivery to the customer's STU.
  • method and apparatus are provided for generating a message authentication code comprised of a hash of the first key and the second key, such that the STU can determine if the packets bearing the first key has been tampered with during transmission. Additional method and apparatus are provided for applying a digital signature to the encrypted second key, such that the authorized customer can determine the identity of the provider of the encrypted second key, thereby preventing unauthorized users from addressing STUs.
  • FIG. 1 illustrates an exemplary digital video distribution system in which the present invention may be employed.
  • FIG. 2 is a block diagram providing further details of a server access and broadband encrypter re-mapper in accordance with a presently preferred embodiment of the invention.
  • FIG. 2A is a block diagram illustrating further details of a presently preferred embodiment of an FDDI input card.
  • FIG. 2B is a block diagram illustrating further details of a presently preferred embodiment of a SONET-ATM output card.
  • FIG. 2C is a block diagram illustrating further details of a presently preferred embodiment of a conditional access card.
  • FIG. 2D is a block diagram illustrating the operation of the control card.
  • FIG. 3 is a functional block diagram illustrating the conditional access scheme provided in accordance with the present invention.
  • FIG. 3A is a functional block diagram illustrating the process of message authentication of control words in accordance with the present invention.
  • FIG. 3B is a functional block diagram illustrating the process of adding a digital signature to an MSK in accordance with the present invention.
  • FIG. 4 graphically illustrates the structure and content of an exemplary MPEG-2 transport packet.
  • FIG. 5 graphically illustrates the mapping of MPEG-2 transport packets into ATM cells in accordance with the present invention.
  • FIG. 6 graphically illustrates the mapping of MPEG-2 transport packets into an FDDI frame in accordance with the present invention.
  • FIG. 7 graphically illustrates the mapping of MPEG-2 transport packets into a DS-3 frame in accordance with the present invention.
  • FIG. 8 graphically illustrated the mapping of MPEG-2 transport packets into a UNISON frame in accordance with the present invention.
  • FIG. 9 graphically illustrates the transport overhead structure utilized in the UNISON-1 STS-3c frame structure.
  • FIG. 10 graphically illustrates the Synchronous Payload Envelope (SPE) structure used for transmitting MPEG-2 transport packets in accordance with the UNISON-1STS-3c frame structure.
  • SPE Synchronous Payload Envelope
  • FIG. 11 illustrates a functional block diagram of an exemplary set top unit implementing the conditional access method of the present invention.
  • FIG. 12 is a functional block diagram illustrating the context and operation of the Conditional Access Manager.
  • FIG. a block diagram of the components of an exemplary digital information distribution system 10 (“distribution system”) in which the present invention may be incorporated.
  • distribution system provides a mechanism whereby data, such as compressed digital video data from a service provider (SP) 110 , is transmitted over a broadband transmission network under the control of a network operator 120 to a customer 130 for presentation to the customer's STU 90 .
  • SP service provider
  • the term set top unit refers to any customer device capable of receiving and decoding digital services, such as personal computers, home control terminals, decoders and the like.
  • the received information could be displayed on the customer's television or computer screen.
  • a bi-directional communication path is also established and maintained between the SP 110 and the customer 130 by the network operator 120 , which allows the customer 130 to interact with the service provider. For example, the customer 130 may wish to select programs from a menu, control the playback of a program, or interact with a video game.
  • NCMC network control and management computer
  • the NCMC 100 then provides a communication connection between a particular service provider 110 a , 110 b and the customer 130 .
  • the NCMC 100 ensures that bandwidth is available on the digital network 70 and the network access node (NAN) 80 .
  • NAN network access node
  • the NCMC 100 passes the customer request to the requested SP 110 via server gateway 61 .
  • the server gateway 61 handles communications with various billing agencies to determine the customer's eligibility to receive the requested program and to determine the conditional access requirements for the requested program.
  • An SP stores programs on a file server in the form of Moving Picture Experts Group (MPEG-2) Systems transport packets, containing compressed digital video and audio data as well as other digital service information.
  • MPEG-2 transport packets are then output over data link 40 encapsulated in a network protocol.
  • the packets are to be transmitted through the digital network 70 to a NAN 80 and then to the customer's STU 90 .
  • the service providers 110 want to ensure that programs entering the digital network 70 are viewed only by the customers who have been authorized by the server gateway 61 . Thus there is a need to provide conditional access to programs before those programs enter the digital network 70 .
  • apparatus 20 and 30 are provided between the SP 110 and the digital network 70 to provide a means for adding conditional access to the program to be transmitted.
  • SABER 20 receives the MPEG-2 transport packets from the SP 110 , via data link 140 , encapsulated in the network protocol of that link.
  • the SABER 20 extracts the MPEG-2 transport packets, adds conditional access, and then re-encapsulates the packets in a second protocol (which may be the same or different from the first protocol) for introduction into digital network 70 .
  • the CAM 30 provides the SABER with information necessary to selectively apply the conditional access to the MPEG-2 transport packets.
  • the CAM 30 receives the conditional access requirements and unique PID assignments for the requested program from the SP via the server gateway 61 .
  • the second network protocol may be the same as or different from the first network protocol of data link 40 .
  • data link 40 may conform to an FDDI network protocol
  • data link 50 may conform to an ATM network protocol
  • both data links 40 may conform to an ATM network protocol.
  • protocols presently anticipated by the SABER 20 are SONET-ATM, FDDI, DS-3 and UNISON-1, all of which can be used to transfer Moving Picture Experts Group (MPEG-2) Systems transport packets through data link 40 or data link 50 .
  • MPEG-2 Moving Picture Experts Group
  • the network protocols listed and described herein are merely illustrative, and should not be construed as limiting the invention to those protocols listed, other protocols, for example, a proprietary protocol, could function equally well.
  • the SABER 20 could be located elsewhere in the system 10 .
  • the SABER 20 might be located at the opposite end of the digital network 70 , between the digital network 70 and the NANs 80 .
  • Network control and management computer (NCMC) 100 manages sessions between the STUs 90 and the SPs 110 .
  • the NCMC 100 is responsible for provisioning the NAN 80 , provisioning the STUs 90 , providing routing information to the digital network 70 when appropriate, and for information session management between the STUs 90 and the SPs 110 .
  • the STUs 90 or the SPs 110 may send requests for information service connections to the NCMC 100 .
  • the NCMC 100 determines if there are resources available on the network for transporting the requested services and, if so, establishes the requested service connection from the SP 110 to the STU 90 .
  • the NCMC 100 then sends the service information to both the STU 90 and the SP 110 to allow them to connect to the network and to begin the requested interactive information service.
  • the NCMC 100 may establish sessions in the manner described in U.S. Pat. No. 5,481,542, which is incorporated herein by reference in its entirety.
  • the SPs 110 control the system that provides programs to the customer.
  • the SP employs one or more file servers 60 , a server gateway 61 , and in accordance with the present invention, a conditional access manager (CAM) 30 and a SABER 20 .
  • the file servers store programs in MPEG-2 transport packet format for delivery to customers. That is, when a customer requests a program from the file server 60 , the file server outputs MPEG-2 transport packets bearing the requested program for delivery over the digital network 70 .
  • an SP 110 would like to diminish the possibility that the program will be diverted to an unauthorized user.
  • the SP 110 would like to add a layer of conditional access to the program to ensure that only the customer that requested the program will have the ability to view it.
  • Currently available file server equipment does not have the capability to add the necessary conditional access layers. If the packets output by the file server 60 are transmitted without conditional access over the digital network 70 and are intercepted by an unauthorized user in possession of a STU 90 capable of decoding MPEG-2 transport packets, that unauthorized user could have access to all transmitted programs.
  • conditional access layers are added to the MPEG-2 transport packets by the SABER 20 in conjunction with the CAM 30 .
  • the CAM 30 and the SABER 20 coordinate the process of adding conditional access to the transport packets of a given program via an ethernet link 140 .
  • the process of adding conditional access involves encrypting the contents of transport packets and the corresponding keys and ensuring that that information is provided to the STUs 90 .
  • the CAM 30 keeps track of program level information (e.g., PID maps and higher levels of encryption keys) which it periodically provides to the SABER 20 .
  • the CAM 30 periodically generates other data (e.g., system-wide pay-per view access, copy protection information, and the like) that it must deliver to the STU 90 . That information is placed in Entitlement Control Messages and Entitlement Management Message that are carried in MPEG-2 transport packets which are multiplexed into the stream of program bearing MPEG-2 packets.
  • Entitlement Control Messages and Entitlement Management Message that are carried in MPEG-2 transport packets which are multiplexed into the stream of program bearing MPEG-2 packets.
  • a method for providing conditional access information to STUs is described in more detail in Wasilewski, U.S. Pat. No. 5,420,866, which is assigned to the same assignee as the present invention and is hereby incorporated by reference in its entirety.
  • Those packets generated by the CAM 30 are transmitted from the CAM 30 to the STU 90 via the SABER 20 , where they are mapped into the network layer protocol of data link 50 .
  • FIG. 3 presents a functional diagram of the presently preferred conditional access model.
  • the present invention provides three functional levels of protection: (1) program encryption, (2) control word encryption and authentication, and (3) entitlement message encryption and authentication.
  • the program bearing MPEG-2 transport packets are encrypted using random number generated keys, referred to hereinafter as control words.
  • control words are encrypted using a second randomly generated key. This second key is referred to hereinafter as a multi-session key (MSK).
  • MSK multi-session key
  • the multi-session key is encrypted using a public key cryptography technique.
  • the first layer is implemented using a private-key cryptographic technique.
  • the program encrypter receives MPEG-2 transport packets as an input, along with a control word, and outputs encrypted MPEG-2 transport packets.
  • the encrypter may employ any suitable encryption algorithm, such as DES or Triple DES.
  • DES Triple DES
  • the header information in MPEG-2 transport packets is never encrypted; conditional access is applied only to the payload portions of the MPEG-2 transport packets.
  • an STU 90 can read the PIDs and other overhead information carried in the MPEG-2 transport packets without the need to decrypt the packets.
  • control words must be transferred to the STU to enable the eventual decryption of the program. During this transfer, the control words are vulnerable to unauthorized access.
  • the control words are encrypted using the MSK to prevent an unauthorized user from gaining access to them and, thereby, to the programs they were used to encrypt. This is indicated in box 153 , which shows the control words as an input, along with the MSK, and encrypted control words as an output.
  • the MSKs must also be securely transferred to the STU 90 .
  • the third level of the encryption model supports this secure transfer.
  • this third level of encryption uses a public-key encryption algorithm to encrypt the MSKs, which obviates the need to securely transfer an endless hierarchy of keys from the SP 110 to the STU 90 .
  • each STU 90 has a private key and a corresponding public key.
  • the public key for a particular STU 90 is used to encrypt the MSK.
  • a digital signature technique is used to further guarantee the security of the conditional access system. As a result, the MSK can be securely transferred to the STU 90 . No further encryption levels are necessary, because the STU already contains the private key that corresponds to its public key, which the STU 90 can use to decrypt the MSK.
  • control words used in the first level of encryption, change most often, e.g., every few seconds. This frequent key changing is designed to thwart attempts by unauthorized users to compromise the encryption algorithm by discovering the key. Such a design is effective because even if an unauthorized user came into possession of a control word, that control word would expire before any advantage could be gained.
  • a private key encryption scheme with a relatively small control word is used (e.g., DES with a 56-bit key).
  • the conditional access solution of the present invention overcomes an additional obstacle—only a single interactive connection exists between the SP 110 and the STU 90 , and that connection is assumed not to be secure. As a result of having a single interactive connection, the SP 110 must send the encryption keys along with the program to the STU 90 over that same connection. Any assumptions about the insecurity of the network also apply to the transmission of keys from the SP 110 to the STU 90 . In order to provide adequate security to the transmission of programs and overcome the single connection obstacle, the control words must also be protected from unauthorized access. Thus, at the second level of the conditional access model, the control words are themselves encrypted using a second encryption algorithm.
  • the data rates required to transmit encrypted control words to the STU 90 are much lower than the data rates required to transmit the program data. Consequently, the keys can be encrypted with a longer key and a more robust encryption algorithm (e.g., Triple DES with a 112 bit key).
  • the system must deliver the control words to the STU 90 over the single interactive connection. Accordingly, the control words are inserted into MPEG-2transport packets for transmission to the STU 90 .
  • the control words are delivered to the STU 90 in the form of entitlement control messages (ECM). Such messages are used to transmit control words to the STUs 90 along with authentication information, such as a message authentication code.
  • ECM entitlement control messages
  • Each ECM comprises header information, and the ECM payload, which contains the control word and a message authentication code.
  • Message authentication is another mechanism provided at the second conditional access level, ensuring that the ECM data is not tampered with during transmission.
  • this authentication is accomplished by use of a message authentication code (MAC), which is transmitted with the encrypted control words in the ECM.
  • MAC message authentication code
  • the clear (alternately referred to as non-encrypted) control word is encrypted with the MSK as signified by box 153 .
  • the clear control word, other data e.g., system-wide pay-per view access, copy protection, and the like
  • the MSK is concatenated together ( 1002 ).
  • This concatenation is then hashed, as indicated at box 1004 , using a one-way hash algorithm, such as the well-known Message-Digest (MD5) algorithm, to produce a MAC.
  • MD5 hash produces an output value from which it is computationally infeasible to discover the input value to the hash algorithm.
  • the MAC is appended to the encrypted control word, as indicated at 1006 .
  • the producer of the MAC e.g., the SABER 20
  • the producer of the MAC must know both the pre-encrypted control word and the MSK to produce a proper output hash value.
  • the resulting hash value is transmitted to the STU 90 , along with the encrypted control word, in the ECM.
  • the MAC process is reversed before releasing the control word for use in decryption.
  • the encrypted control word is parsed from the ECM and decrypted with the MSK (box 1008 ), which was transmitted to the STU (as indicated by dashed lines in FIG. 3A) through a mechanism described in detail below.
  • the now clear control word and the MSK are concatenated and hashed (box 1010 ) in similar fashion to the technique used in the SABER 20 prior to transmission. This hash value is then compared to the MAC received in the ECM ( 1012 ). If the two values match then the control words are authorized for use by the STU 90 in decrypting the program.
  • the ECMs may be carried in MPEG-2 transport packets in one of two ways: (1) as part of the adaptation fields within the MPEG-2 transport packets that carry the program data that the control words were used to encrypt, or (2) as separate MPEG-2 transport packets. In the second case, a unique PID is assigned to those packets, and they are multiplexed into the stream of packets bound for the STU 90 .
  • the MSK can be subjected to enhanced protection. Moreover, the consequences of a discovered MSK may be greater than the consequences of a discovered control word. This is so because the MSK remains valid for a much longer duration and may apply to multiple programs. Thus, a more robust encryption algorithm is prudent. According to the present invention, a public-key encryption algorithm is utilized for this third level encryption.
  • each STU 90 has a public key/private key pair.
  • the private portion of the key pair is stored securely within the STU 90 and is never disclosed publicly.
  • a variety of means can be employed to ensure that the public key is not publicly disclosed.
  • the private key can be implanted during manufacture into a tamper resistant processor in the STU 90 . All records of the private key for that STU 90 can then be destroyed to guarantee that no unauthorized users will discover the private key.
  • the STU 90 can contain an algorithm that generates a public key/private key pair. In this scheme, when the STU 90 is started for the very first time, it would generate a key pair, secure the private key portion internally, and provide the public portion as an output. As a consequence, the only record of the private key will remain securely stored within the STU 90 , without any record of the private key ever being known external to the STU 90 .
  • the public key corresponding to a particular private key is used to encrypt messages (e.g., MSKS) in the CAM 30 prior to transmission to the STUs 90 .
  • the public key can be made widely available, without compromising the integrity of the conditional access system.
  • the wide availability of public keys allows the multiple SPs to share a single STU without concern that the third level key will become known to unauthorized users. But, because the list of public keys are widely available to multiple SPs 110 , a method of sharing key information among the SPs 110 is required.
  • a conditional access authority will maintain the integrity of the public keys and distribute the public keys to the SPs 110 as needed.
  • the conditional access authority maintains a public key database with which it is trusted to ensure that every public key corresponds to the proper STU 90 . Otherwise, if the integrity of the conditional access authority is compromised, an unauthorized user could falsify a key entry in the tables maintained by the conditional access authority, which would in turn provide a false public key to the SPs 110 . Thus, messages intended to be transmitted by an SP 110 to an authorized STU 90 could be diverted by the unauthorized user.
  • the conditional access authority may also maintain a public key reference for all the SPs 110 . So that STUs 90 may be provisioned with SP 110 public keys in verifying SP 110 digital signatures.
  • a strategy for prohibiting unauthorized users from sending entitlement management messages i.e., messages that carry the MSKs to a particular STU 90
  • the public key for a particular STU 90 may be widely available and susceptible to discovery by unauthorized users. Without some additional protective mechanism, an unauthorized user could obtain the public key for one of the STUs 90 and delivered a message to it; the STU 90 would accept the message and decrypt it. False MSKs could thus be sent over the digital network 70 , compromising the integrity of the system.
  • a digital signature is used, which authenticates the sender of the message as an authorized SP 110 . Specifically, before transmission, a digital signature is used to “sign” a hashed message with the SP's 110 private key. After reception of that message, the STU 90 uses the SP's 110 public key to verify that the message is authentic.
  • FIGS. 3B This digital signature mechanism is illustrated in FIGS. 3B.
  • a clear EMM (which may contain an MSK or other STU 90 specific information) to be sent to an STU 90 is hashed (box 1020 ) using a one-way hash function, such as the well-known MD5 hash algorithm.
  • the output hash value is then encrypted using the private key of the SP 110 that sending the EMM. Encryption is performed using a well-known public-key encryption algorithm, such as RSA.
  • This process creates a digital signature token that is appended to the clear EMM as indicated at 1023 .
  • the digitally signed EMM is then encrypted with the public key of the STU 90 that is to receive the message. This signed, encrypted EMM is then transmitted to the STU 90 via digital network 70 .
  • the EMM is addressable to a group of or individual decoders, and contains the MSK and the digital signature as well as other information, such as address and message length.
  • Each STU 90 contains a unique public address that identifies the decoder. Before the EMM is transmitted, this public address information is embedded in a clear field of the EMM. The STU 90 examines the clear public address field of all incoming EMMs and accepts those that contain its particular public address. In this manner, specific information may be transmitted to individual STUs 90 .
  • the STU 90 decrypts the EMM with its private key (box 1026 ). This results in a clear EMM carrying the MSK and a token, which bears the digitally signed hash of the EMM.
  • the token portion of the message i.e., the digitally signed hash
  • the SP's public key (box 1028 )
  • the clear EMM output from box 1026 is hashed to produce a hashed EMM. If the message is authentic, then the two hash values will be equivalent (box 1032 ).
  • the MSK that arrived in the EMM can then be authenticated for use by the STU 90 .
  • the STU 90 In order to determine the proper SP 110 public key at box 1028 and thereby decrypt the messages received, the STU 90 will keep an internal list of public keys corresponding to the private keys of authorized SPs 110 . This information is provided to the STU 90 by the conditional access authority to ensure the integrity of the public keys.
  • a stream of program bearing MPEG-2 transport packets enter the SABER 20 embedded in a network protocol layer.
  • the SABER 20 removes the first network protocol layer to access the MPEG-2 transport packets.
  • Conditional access layers are added through multiple encryption levels.
  • MPEG-2 transport packets bearing ECMs and EMMs generated by the conditional access process are multiplexed with the transport packets that carry the data (e.g., video, audio) of the user selected program to form a single outgoing packet stream destined for the STU 90 .
  • the MPEG-2 transport packets Before the MPEG-2 transport packets exit the SABER 20 , they are encapsulated into the original network protocol in which they were received or a different, second network protocol layer for transmission over the digital network 70 .
  • the SABER 20 receives input from various other system components. From the file server(s) 60 , over data link 40 , the SABER 20 receives programs in the form of MPEG-2 transport packets embedded in a network protocol layer. From the CAM 30 over an ethernet interface 140 , the SABER 20 receives program specific encryption information (i.e., which programs, identified by PIDs, should be encrypted) and replacement PID values. When the SABER 20 has finished adding conditional access layers to a program, it re-encapsulates the MPEG-2 transport packets of the program into a second network protocol and transmits them to the digital network 70 over data link 50 .
  • program specific encryption information i.e., which programs, identified by PIDs, should be encrypted
  • the SABER is comprised of a channel bank backplane 21 for inter-card communication, one or two input cards 28 , an output card 26 , a conditional access card 24 and a control card 22 .
  • Non-encrypted programs are received from a SP 110 via the input cards 28 a and 28 b , which remove the MPEG-2 transport packets of the programs from the network protocol of data link 40 and replace the PIDs assigned by the file server of the SP 110 with new PIDs.
  • These PIDs are replaced by the SABER 20 , as provided by the CAM 30 , to prevent multiple programs from multiple SPs 110 from delivering program information in MPEG-2 transport packets with identical PIDs.
  • the MPEG-2 transport packets are then sent over the backplane 21 to the control card 22 , which multiplexes multiple MPEG-2 transport streams together when more than one input card 28 is used.
  • the control card 22 then transfers the transport packets to the conditional access card 24 over data path 150 .
  • the conditional access card 24 encrypts the transport packets as required and sends them back to the control card 22 via data path 150 .
  • the transport packets are then multiplexed and sent over the backplane 21 to the output card 26 , where they are embedded into a second network protocol for transmission over data link 50 .
  • the Channel Bank Backplane 21 is an inter-card communication interface.
  • the bus ensures that the cards of the SABER 20 can transmit control information and transport packets among themselves. All the cards desired for a particular set-up are configured and then plugged into the backplane 21 .
  • FDDI capable input cards and a SONET-ATM capable output card 26 are plugged into the backplane 21 in the appropriate slots and the desired protocol conversion is accommodated.
  • the backplane 21 is an 8 bit-parallel data bus with clock, enable and sync lines.
  • the bus operates at a clock rate of 27 MHz, which is the nominal clock rate defined by the MPEG-2 standard.
  • Each card with the exception of control card 22 , interfaces to the backplane through a common channel bank interface (CBI).
  • CBI provides a FIFO buffer and glue logic for inter-card communication.
  • the CBI operates in conjunction with the channel bank multiplexer (CBMUX) 152 on the control card 22 , to transfer MPEG-2 transport packets across the backplane 21 .
  • CBMUX channel bank multiplexer
  • Cards that need to transfer data over the backplane 21 such as the input cards 28 , have a local buffer within the CBI to store MPEG-2 transport packets until packets transfers are requested by the CBMUX 152 .
  • the CBI transfers a packet over the backplane 21 where it is retrieved by the CBMUX 152 on the control card 22 .
  • Control information is transferred between cards over the backplane 21 .
  • the presently preferred bus is a high speed 8-bit parallel bus, those skilled in the art should appreciate that alternate bus designs could function equally well, for example, a 32-bit parallel bus could be used.
  • the CBMUX 152 also directs the CBI on a particular card to accept packets from the backplane 21 . For example, in order for the CBMUX 152 to transfer a packet to the output card 26 , the CBMUX 152 signals the CBI on the output card 26 to receive the packet. The packet is then output over the backplane 21 where it is received and bufferred by the CBI on the output card 26 .
  • the SABER 20 has a capability to conform to different protocols merely by selectively plugging cards into the backplane 21 that implement the desired protocol. Such capability facilitates the ability of SABER 20 to translate between a variety of network protocols.
  • the appropriate input 28 and output cards 26 are selected, configured, and plugged into the proper slots in the SABER 20 .
  • the input card 28 that matches the input network protocol of data link 40 is plugged into the backplane 21 .
  • the output card 26 that matches the output network protocol of data link 50 is also plugged into the backplane 21 .
  • the SABER 20 can translate between the two network protocols selected from the group of network protocols supported by the input 28 and output cards 26 , while providing conditional access.
  • the cards 26 , 28 that interface to the network data links 40 , 50 are generally implemented as a single card that operates in either an input mode or an output mode.
  • SONET-ATM is selected as the input network level protocol for data link 40
  • a SONET-ATM I/O card would be configured as an input card 28 .
  • the card 28 will then accept data in the form of SONET frames carrying ATM cells that contain MPEG-2 transport packets.
  • the card will extract the MPEG-2 transport packets from each incoming data stream.
  • SONET-ATM is selected as the output network protocol for data link 50
  • an identical card could be configured to map MPEG-2 transport packets to, and output packets in, ATM-cell bearing SONET frames.
  • An input card 28 may conform to one of a variety of network protocols.
  • the input card 28 may receive programs in an FDDI, SONET-ATM, UNISON-1, or DS-3 protocol.
  • these protocols are merely examples and should not be construed as limiting.
  • An input card 28 accepts program data from data link 40 in the form of MPEG-2 transport packets which are embedded in the network protocol layer of data link 40 and then extracts the MPEG-2 transport packets from the network protocol layer. Examples of the mapping between MPEG-2 and the various protocols are described more fully below.
  • the input cards 28 re-map the PIDs carried in the set of MPEG-2 transport packets of each program.
  • programs are stored on the file servers 60 in MPEG-2 transport packets.
  • the file server 60 assigns Packet Ids (PIDs) to the transport packets of the program that are unique with respect to that file server 60 .
  • PIDs Packet Ids
  • multiple file servers 60 feed programs to the SABER 20 , and potentially, multiple SABERs 20 feed programs to the digital network 70 . If two or more file servers 60 output programs in MPEG-2 transport packets bearing identical PIDs, collisions will occur. Accordingly, the CAM 30 (see FIG.
  • the NCMC 100 in conjunction with information provided by the NCMC 100 , keeps track of the PIDs in use over the network and provides the SABER 20 with a PID re-mapping table that gets stored on the input card 28 .
  • the PIDs assigned by the file servers 60 are extracted from the MPEG-2 transport packets.
  • the input card 28 searches the PID re-mapping table for available PIDs and replaces the PIDs received from the file server 60 with those specified in the table, before transferring those packets to the control card 22 .
  • the NCMC 100 and CAM 30 ensure that no PID collisions occur downstream in the system 10 .
  • the output card 26 conforms to one of a variety of network protocols. Moreover, with the exception of PID re-mapping, the output card 26 performs the functional opposite of the input card 28 . Essentially, the output card 26 receives MPEG-2 transport packets from the backplane 21 through its CBI and maps the MPEG-2 transport packets into the network protocol of data link 50 . Then, the output card 26 outputs the particular program over the data link 50 .
  • the example mappings presented below describe, in detail, how the MPEG-2 transport packets are mapped to or from a given network protocol. In the input mode, the MPEG-2 transport packets are removed (i.e., mapped out) from the network protocol. In the output mode, the MPEG-2 transport packets are mapped into the network protocol.
  • FIG. 4 illustrates a standard MPEG-2 transport packet 200 .
  • the MPEG-2 transport packet is a fixed length packet of 188 bytes. Further, those 188 bytes are divided among a 4 byte header 210 , a variable length adaptation field 220 of n bytes, and a 184-n byte payload 230 .
  • the adaptation field 220 is optional and may contain such things as timestamps for synchronizing the components of distribution system 10 .
  • the MPEG-2 packets are sometimes concatenated to form larger data blocks and sometimes segmented to form shorter data blocks. Exemplary protocol mappings are provided below.
  • an available selection of input/output cards 26 , 28 support a mapping between MPEG-2 transport packets and SONET-ATM.
  • This mapping consists of several layers of translation. First, MPEG-2 transport packets are mapped into ATM cells via AAL5 PDUs, then the ATM cells are mapped into SONET frames. This mapping is illustrated in FIG. 5.
  • AAL5 PDU ATM adaptation layer 5 protocol data units
  • the AAL 5 PDU has a variable length payload field that generally must be padded to align to a 48-byte boundary.
  • the 8-byte trailer contains standard AAL 5 PDU information, such as length and CRC-32 information.
  • Two MPEG-2 transport packets 200 a and 200 b map into the payload 252 of a single AAL5 PDU 250 at the common part convergence sublayer. Because the two 188-byte MPEG-2 packets and the 8-byte trailer are aligned to a 48-byte boundary (i.e., equally divisible into 48-byte blocks), no padding is required.
  • mapping proceeds according to standard ATM specifications.
  • the payload 252 and the trailer 254 of the AAL5 PDU 250 together total 384 bytes, which segments into exactly eight segmentation and reassembly PDUs 260 .
  • These eight 48-byte SAR PDUs 260 fit into the payload 272 of eight ATM cells 270 .
  • the ATM cell header 271 h of the eighth cell 270 h has its user-to-user indicator bit set to 1, which indicates that it is the last cell of the group of eight that comprise the two MPEG-2 transport packets 200 a and 200 b.
  • ATM cells are grouped by the number of cells between cells with user-to-user interface bits set to one.
  • the payload of each of the eight cells is removed and concatenated.
  • the CRC-32 value can then be checked at the common part convergence sublayer to verify the data. If the data is valid the AAL 5 payload can be divided into the two MPEG-2 transport packets.
  • SONET OC-3 provides the physical layer for transmitting the MPEG-2 bearing ATM cells. Accordingly, the ATM cells must be further mapped into SONET frames for transmission over the physical data links 40 , 50 .
  • SONET to ATM mapping follows the well-known UNI 3.1 standard, which is described in detail in the ATM User-Network Interface Specification, Version 3.1, which is hereby incorporated by reference.
  • SONET OC-3 provides a physical connection at 155.52 Mbps.
  • the mapping of ATM cells is performed in a row alignment fashion, with the byte structure of the ATM cell aligned with the byte structure of the SONET payload.
  • the ATM cells fill the entire SONET frame payload.
  • the SONET connection performs at 155.52 Mbps, because of the SONET overhead, the actual transfer capacity for ATM cells is 149.76 Mbps.
  • Standard FDDI frames 280 are a maximum of 4,500 octets, comprised of a preamble 281 , starting delimiter 282 , frame header 283 , information (herein conforming to Logical Link Control PDU format) 284 , frame check sequence 285 , ending delimiter 286 and frame status fields 287 . All of these fields are standard FDDI protocol and are not modified with respect to the mapping of MPEG-2 transport packets.
  • the frame header field 283 contains standard destination 294 and source address fields 296 .
  • the frame control field 292 within the frame header 283 contains an indicator that the frames are asynchronous non-source routed Logical Link Control frames.
  • the information field 284 within the FDDI frame 280 contains data in Logical Link Control PDUs that conform to standard IEEE 802.2 Type I packets.
  • the payload 299 contains the MPEG-2 transport packets 200 a - 200 u concatenated end to end, with a single payload carrying a maximum of 21 MPEG-2 transport packets for a total of 3948 octets.
  • FIG. 7 illustrates the MPEG-2 transport packet to DS-3 frame mapping.
  • three MPEG-2 transport packets 200 a , 200 b , and 200 c (not shown) map into a single DS-3 frame.
  • each 188 byte MPEG-2 transport packet is concatenated with an additional 8 byte trailer 205 giving a final packet length of 196 bytes.
  • a single DS-3 frame may contain up to 4,704 bits or 588 bytes of data. Since the MPEG-2 transport packets with the Reed-Solomon encoding are 196 bytes, three MPEG-2 transport packets map into the data bits of a DS-3 frame.
  • the three concatenated MPEG-2 transport packets are then loaded into the DS-3 frame data bits with the most significant bit of the first transport packet aligned with the most significant bit of the DS-3 frame. No subframe alignment is necessary.
  • the data links 40 or 50 may also transport digital data in accordance with a UNI-directional, Synchronous Optical Network (UNISON-1) interface developed by the assignee of the present invention.
  • the UNISON-1 interface has physical layer characteristics as well as an underlying network transport structure modeled after the Synchronous Optical Network (SONET) transport protocol.
  • SONET Synchronous Optical Network
  • a UNISON-1 network provides point to point optical communications using a modification of SONET which does not require complete conformance to the SONET specifications.
  • the physical interface for the UNISON-1 optical signal preferably meets the specifications described for the OC-3 optical interface, intermediate reach, as defined in Bellcore document TR-NWT-000253, Issue 2, December 1991, Section 4, Table 4.11, Column IR-1, while the physical/optical connector is preferably an FC/PC mechanical connector.
  • the UNISON-1 interface signal is preferably synchronized from a Stratum 3 timing source derived from a Regional Bell Operating Company.
  • the basic data rate utilized in the digital network 70 in accordance with the invention is the Synchronous Transport Signal Level 3 concatenation (STS-3c) rate of 155.52 Mbps.
  • Concatenation refers to the transport condition of a SONET system where the entire Synchronous Payload Envelope (SPE) is treated as a single entity or contiguous data stream.
  • SPE Synchronous Payload Envelope
  • MPEG-2 transport packets are mapped into the SPE and are then passed to the digital network 70 as a single entity.
  • the optical counterpart of the STS-3c is the Optical Carrier Level 3 signal (OC-3), which is the result of a direct optical conversion of the STS-3c after frame synchronous scrambling.
  • OC-3 Optical Carrier Level 3 signal
  • a preferred embodiment of the STS-3c frame for UNISON-1 in accordance with the invention consists of 270 columns and 9 rows of 8-bit octets, for a total of 2430 octets.
  • the STS-3c has a bit rate of 155.52 Mbps.
  • the first three columns in each row are the Transport Overhead containing overhead octets of Section and Line layers.
  • 81 octets are thus allocated, with 27 octets allocated for Section Overhead and 54 octets allocated for Line Overhead.
  • the Section Overhead for STS-3c preferably consists of the following fields: STS-3c framing (A 1 and A 2 ), multiplex identification (C 1 ), bit-interleaved parity (BIP-8) (B 1 ) for Section error monitoring functions, and three octets allocated to form one 192 kbps message based channel (D 1 , D 2 and D 3 ). El and Fl are currently unused.
  • the Line Overhead for the STS-3c preferably consists of a pointer field (H 1 and H 2 ) which provides offset in the octets between the pointer and the first octet of the STS SPE and indicates when concatenation has occurred, a bit-interleaved parity field (B 2 ) for line error monitoring functions, and nine octets allocated to form one 576 kbps message channel (D 4 through D 12 ).
  • H 3 , K 1 , K 2 , Z 1 , Z 2 , and E 2 are currently unused.
  • the payload is contained in the SPE as illustrated in FIG. 10, which is a 125 msec frame structure.
  • the illustrated UNISON-1 STS-3c SPE consists of 261 columns and 9 rows of bytes, for a total 2349 bytes. As shown in FIG. 10, column 1 preferably contains 9 bytes designated as STS Path Overhead (POH), while the remaining 2340 bytes are available for payload.
  • POH STS Path Overhead
  • the UNISON-1 STS-3c SPE begins in row 1, column 10 of the STS-3c frame.
  • MPEG-2 transport packets are mapped into the UNISON-1 STS-3c SPE as illustrated in FIG. 10. As shown in FIG.
  • the Path Overhead consists of the following fields: B 3 is a Bit-Interleaved Parity octet (BIP-8) for path error monitoring functions; C 2 is allocated to indicate the construction and content of the STS SPE; H 4 indicates the location of the start of the next MPEG-2 Systems transport packet envelope; and the remainder of the POH octets are currently unused.
  • B 3 is a Bit-Interleaved Parity octet (BIP-8) for path error monitoring functions
  • C 2 is allocated to indicate the construction and content of the STS SPE
  • H 4 indicates the location of the start of the next MPEG-2 Systems transport packet envelope
  • the remainder of the POH octets are currently unused.
  • the MPEG-2transport packets are then mapped into the UNISON-1 STS-3c payload, as shown in FIG.
  • the SPE payload consists of reserved (R) octets (currently unused), MPEG-2 transport packets comprising 188 octet packets combining a variety of video, audio and private data into single or multiple streams for storage or transmission, and a Reed Solomon Parity bit (P) for error correction.
  • scrambling is employed.
  • a frame synchronous scrambler of sequence length 127 operating at the line rate is used.
  • the generating polynomial is 1+x 6 +x 7 . All bits to be scrambled are added, modulo 2 , to the output from the x 7 position of the scrambler.
  • the scrambler runs continuously throughout the complete STS-3c frame illustrated in FIG. 8. However, the frame bytes and the identification bytes preferably are not scrambled.
  • concatenation refers to the transport condition of a SONET OC-N system where the entire SPE is treated as a single entity or contiguous data stream.
  • the H 1 and H 2 octets are assigned predefined values.
  • the MPEG-2 Systems transport packets are mapped into the SPE and are then passed to the digital network 70 as a single contiguous entity.
  • the SABER 20 accepts programs over data link 40 in FDDI frames, and outputs the program with the conditional access over data link 50 in SONET-ATM frames.
  • two FDDI input cards 28 a , 28 b are matched to a single SONET-ATM output card 26 .
  • an exemplary input card 26 that implements FDDI to MPEG-2 mapping
  • an exemplary output card 28 that implements MPEG-2 to SONET-ATM mapping.
  • the FDDI card is capable of accepting data over an FDDI network from a maximum of 64 programs at a combined rate of 75 Mbps. Multiple FDDI cards can be inserted into the backplane 21 to achieve the combined data rate and number of sessions desired.
  • the FDDI frames arrive over an optical fiber interface from data link 40 .
  • the standard FDDI rate of 100 Mbps is supported, although the MPEG-2 transport packets transferred to the FDDI card arrive at a combined rate of 75 Mbps.
  • the additional bandwidth is available for overhead frame information and communication from the FDDI card 28 to the file server 60 .
  • the FDDI frames are bufferred by the FDDI Interface and DMA control section 121 , which strips away the physical layer of FDDI information and transfers the FDDI payload of MPEG-2packets to the RAM buffer 123 .
  • the Session Manager and Data Pre-processor 122 replaces all of the PIDs on a per-frame basis.
  • the processor 122 handles communication with the FDDI Interface and DMA control section 121 to communicate with the file server 60 to maintain the FDDI link. For example, buffer overflow or underflow conditions are monitored and communicated to the file server 60 to slow down or speed up the transfers of data as needed. Buffer levels are constantly monitored. Also, a frame sequence count is monitored to ensure synchronization between the FDDI card and the file server 60 . After PIDs are re-mapped, the transport packets are transferred to buffer 124 .
  • a Session Buffer Management and Rate Control (SBRC) section 125 keeps track of the MPEG-2 transport packets on a per session basis.
  • the SBRC section 125 calculates the rate at which packets should be output for each session. When a packet is due for output, it is moved to the CBI 126 for output onto the backplane 21 for delivery to the control card 22 and thereafter the conditional access card 24 .
  • the SBRC section 125 corrects the timebase of the program for variable delays experienced on the FDDI input card 28 .
  • the timebase correction is outlined in the MPEG-2 Systems Standards Reference.
  • FIG. 2B An exemplary output card 26 that implements the SONET-ATM mapping is illustrated in FIG. 2B.
  • the function of the card can be appreciated in conjunction with FIG. 5, which illustrates the mapping of MPEG-2 transport packets into ATM cells.
  • the control processor 264 is a general purpose processor that controls the flow of information through the input card 26 .
  • the channel bank interface 262 receives MPEG-2 transport packets from the control card 22 via backplane 21 .
  • the MPEG-2 transport packets are stored in buffer 263 , awaiting processing by the MPEG processor 265 .
  • the MPEG processor 265 manages the buffer 263 , and passes pairs of MPEG-2 transport packets, which form an AAL 5 PDU, to the ATM segmenter and reassembler (SAR) 267 . Segmentation consists of dividing the AAL 5 PDU into 48-byte blocks and adding a 5-byte header.
  • the SAR 267 then buffers the ATM cells internally and feeds the cells as needed to the ATM framer 268 .
  • Adaptation of the cell stream output from the SAR 267 is performed by the ATM framer 268 , which envelops the ATM cells into SONET frames for output.
  • the ATM framer 268 contains an elastic buffer for cell storage, calculates the ATM HEC byte, and stuffs null cells into the SONET frame when the SAR has no cells ready for transmission.
  • the ATM framer 268 creates the OC-3c frame, and generates and inserts into the OC-3c data stream B 1 , B 2 , and B 3 parity bytes.
  • the SONET frames are then sent to the SONET OC-3c transceiver 269 for transmission over digital network 70 .
  • the transceiver includes an optical transmitter suited for transmitting an OC-3 signal of the intermediate reach class. The transmitter is driven by a 155.52 Mbps balanced PECL driver.
  • FIG. 2D is a functional block diagram of the operation of the control card 22 .
  • the control card 22 accepts transport packets from the backplane 21 through the CBMUX 152 .
  • the CBMUX 152 polls the input cards 28 via the backplane 21 for available packets.
  • the CBMUX 152 multiplexes the MPEG-2 transport packets into a single stream by polling each input card 28 successively. After a packet is retrieved from an input card 28 by the data poller 135 , the packet is transferred to buffer 137 , where it waits to be transferred to the conditional access card 24 .
  • MPEG-2 transport packets are then transferred via interface 150 to the conditional access card 24 , where the packets are selectively encrypted as described in detail below.
  • the MPEG-2 transport packets are transferred back to the control card 22 via interface 150 and accepted by the data output block 139 .
  • the control card 22 multiplexes MPEG-2 transport packets from the respective cards together before delivering them to the conditional access card 24 .
  • the control card 22 receives provisioning information from the CAM 30 over the ethernet data link 140 .
  • the ethernet interface 136 moves the provisioned information into memory for access by the control processor 132 .
  • the control card 22 multiplexes the MPEG-2transport packets of one or more programs, including transport packets containing EMMs generated by the CAM 30 and ECMs generated by the conditional access card 24 in accordance with the MPEG-2 Systems Standards Reference (ISO 13818-1).
  • the CBMUX 152 When instructed by the control processor 132 , the CBMUX 152 outputs an MPEG-2 transport packet from the data output buffer 139 to the output card 26 .
  • the output card 26 then appropriately formats the data for output from the SABER 20 .
  • Conditional access is provided through the cooperation of three separate components: the conditional access manager (CAM) 30 , the control card 22 and the conditional access card 24 .
  • CAM conditional access manager
  • These three components implement the improved three layer encryption scheme of the present invention for providing conditional access to the MPEG-2 transport packets of particular programs, which has been described in detail above. Data flow between the components is illustrated by reference to FIGS. 2 and 2C.
  • Non-encrypted MPEG-2 transport packets that have been removed from the network protocol in which they were received from data link 40 are transferred from the input card 28 to the control card 22 via the backplane 21 .
  • the packets are then transferred from the control card 22 to the conditional access card 24 via link 150 for encryption.
  • the CAM 30 provides the conditional access card 24 with an MSK used to encrypt the control words of the first level of encryption.
  • the conditional access card 24 encrypts the MPEG-2 transport packets using the frequently changing control words, it transfers the packets back to the control card 22 via data link 150 .
  • the control card 22 multiplexes these transport packets, along with other transport packets, to form an outgoing transport stream for transmission to an STU 90 .
  • the conditional access card 24 implements the first two of the three encryption layers and the last layer is provided by the CAM 30 .
  • the non-encrypted transport packets enter the program encrypter 154 through data path 150 .
  • a control word i.e., key
  • the random number generator 156 provides a seed to the controller 157 which generates control words used to encrypt the transport packets.
  • the random number generator 156 is implemented using a dedicated hardware device such as the NM 810 random number generator card from Newbridge Microsystems.
  • the program encrypter 154 uses the well-know Data Encryption Standard (DES) algorithm to encrypt the programs.
  • DES Data Encryption Standard
  • the control words are changed often (e.g., every few seconds).
  • the encryption algorithm is implemented in hardware.
  • control words are encrypted using the MSK received from the CAM 30 .
  • the data rates of the control words relative to the program information are relatively low. Therefore, more exhaustive encryption can be done to ensure the security of the control word encryption against attack.
  • These control words are encrypted using Triple-DES. Because more time is available to encrypt the control words, the encryption algorithm is implemented in firmware.
  • FIG. 2C illustrates a block diagram of the internal operation of the conditional access card 24 .
  • the MPEG-2 transport packets arrive from the control card 22 over data link 150 and are bufferred in FIFO 160 .
  • the packets then travel to the packet distribution logic 163 .
  • the packet encryption processor 158 performs the control word look up on a per-packet basis and is implemented using an AM29030 RISC processor. Specifically, processor 158 retrieves a control word that corresponds to the PID of the packet to be encrypted.
  • the control word is transferred to the packet distribution logic 163 , which distributes packets and control words to the DES blocks 166 .
  • Each DES block 166 receives an entire packet, determines if the packet is to be encrypted and, if so, breaks the packet into 8 byte blocks and sends the blocks to a VM009 VLSI DES chip for encryption of the MPEG-2payload 230 (see FIG. 4). After encryption, the three packets are re-multiplexed by the packet re-multiplexing logic 162 , which ensures that the packets are output in the same order that they arrived. From the packet re-multiplexing logic 162 , the FIFO 161 buffers packets for transmission back to the control card 22 for output onto the backplane 21 .
  • a control processor 157 in cooperation with the random number generator 156 , generates control words, assigns the control words to the PIDs of packets to be encrypted, and places them into the dual port RAM 151 for use by the packet encryption processor 158 .
  • the CAM 30 provides the control processor 157 over the ethernet interface 159 with information, such as the identity of PIDs that should be encrypted and updated MSKs.
  • the control processor communicates this information to the packet encryption processor 158 via dual port RAM 151 so that the processor 158 can selectively control the encryption of program bearing transport packets.
  • the control processor 157 in conjunction with the Triple-DES encrypter 153 encrypts the control words with the current MSK.
  • the Triple-DES encrypter 153 comprises a VLSI VM007 encrypter chip that implements the Triple-DES encryption algorithm.
  • the message authentication function i.e., MD5 hashing
  • the Control Processor 157 is implemented by the Control Processor 157 .
  • the encrypted control words are sent to the CBI 164 where they are inserted in MPEG-2 transport packets, assigned a unique PID, and transmitted over the backplane to be multiplexed into the stream of transport packets by the control card 22 .
  • the MSK is also encrypted and inserted in MPEG-2 transport packets. These transport packets are generated by the CAM 30 but are also routed through the CBI 164 of the conditional access card 24 for output onto the backplane 21 . All the transport packets are multiplexed by the control card 22 to form a single outgoing transport stream.
  • the CAM 30 acts as the master controller of the conditional access system. It provides the connections to a variety of external components to determine all the information necessary to set-up an environment for applying conditional access.
  • a functional block diagram of the CAM in the context of the various external components is provided in FIG. 12. As illustrated, the CAM 30 communicates with the server gateways 61 to coordinate PID assignments and to receive information concerning program conditional access requirements. Additionally, the CAM 30 communicates with the SABER 20 to provide provisioning information, such as PID re-mapping tables, and to communicate conditional access information to the STUs 90 .
  • the CAM 30 communicates with a conditional access authority 400 (i.e., a public key server) to get the public keys of the STUs 90 and the SPs 110 .
  • a conditional access authority 400 i.e., a public key server
  • the third level of encryption is performed by the CAM 30 .
  • This third level is implemented using a public-key encryption algorithm.
  • all interfaces from the CAM 30 and the external components are through ethernet.
  • ethernet this is merely an example and is not intended to be limiting. Any suitable interface to external components can be employed that achieves similar results.
  • a dial-up connection can provide the required link between the CAM 30 and the conditional access authority 400 .
  • a small computer systems interface can provide the connection to more proximate devices, such as the transaction encryption device 300 .
  • the CAM 30 consists of a control processor 32 and memory 34 for program-related storage. Most of the functions of the CAM 30 are implemented in software. Initially, the CAM 30 is in communication with the server gateways 61 , via an ethernet connection. When a server gateway 61 has received a request for a program from a customer and has received authorization for connection bandwidth from the NCMC 100 , the SP 110 prepares to transmit program bearing MPEG-2 transport packets to the requesting STU 90 over the distribution system 10 . In so preparing, the server gateway 61 communicates with the CAM 30 and relates information, such as which PIDs are assigned to the program and whether conditional access should be applied.
  • the CAM 30 After receiving the request, the CAM 30 informs the SABER 20 of the PID re-mapping and conditional access requirements of the program.
  • the CAM 30 also provides the SABER 20 with the current MSK to be used in providing conditional access to a program.
  • the CAM 30 In addition to sending the MSK to the SABER 20 , the CAM 30 must send the MSK to authorized STUs 90 .
  • the CAM 30 also performs the digital signature function described above.
  • the CAM 30 includes a transaction encryption device (TED) 300 that has secured within it the private key of the SP.
  • the CAM 30 then provides the TED 300 with the MSK.
  • the TED 300 encrypts the MSK with the appropriate STU 90 public key and signs the hash of the MSK message with its SP private key, according to the process described in detail above and illustrated in FIG. 3B.
  • the MSK and signed hash are then returned to the CAM 30 where it is embedded in a EMM for transmission to the STU 90 via the SABER 20 .
  • multiple SPs 110 may share a single conditional access apparatus (i.e., SABER 20 and CAM 30 ).
  • conditional access apparatus i.e., SABER 20 and CAM 30 .
  • SPs 110 must sign the message hash with a digital signature to prevent unauthorized access to the STUs 90 . This is accomplished by encrypting the hash with the private key of the SP 110 , which corresponds to its public key that has been provided to the STUs 90 .
  • the CAM 30 acts as a clearinghouse for all SPs 110 .
  • the CAM 30 authorizes the SPs 110 via the server gateway 61 and then the CAM 30 digitally signs all messages on behalf of the SPs 110 . Accordingly, the message from the SP 110 to the CAM 30 will be hashed and signed according to a digital signature technique, similar to that illustrated in FIG. 3B.
  • the CAM 30 will check the SP 110 signature against a corresponding public key, which the CAM 30 receives from the conditional access authority 400 . If the digital signature is authentic, the connection to the STU 90 will be allowed.
  • the EMM In transmitting MSKs to the STU 90 via an EMM, the EMM is hashed and signed with the digital signature of the CAM 30 .
  • the STU 90 will recognize this digital signature as authentic according to the method described above for the SP 110 to STU 90 digital signature.
  • This system will allow multiple SPs 110 to share a single CAM 30 and SABER 20 by sharing a single private key.
  • the STUs 90 are unable to distinguish between SPs 110 .
  • a different system is necessary.
  • multiple SPs 110 can share a single CAM 30 and SABER 20 combination by each employing a separate TED 300 .
  • the CAM 30 communicates with the TED 300 of each SP 110 to encrypt and sign MSKs for delivery to the STUs 90 .
  • the SPs 110 can then each provide a separate public/key private key pair.
  • measures are taken to ensure that the private key of each SP 110 is adequately protected from discovery.
  • each request by a SP 110 via a corresponding server gateway 61 would result in all encryption for that SP 110 being directed to its own TED 300 .
  • multiple SPs 110 can share a single CAM 30 and SABER 20 and the STUs 90 will still be able to distinguish between SPs 110 .
  • Each STU 90 has a public key/private key pair.
  • the private key is secured within the STU 90 in a secure processor.
  • the associated public key is then published in a public key database server maintained by a conditional access authority 400 .
  • the CAM 30 looks up the public key for the STU 90 and sends the MSK to the STU 90 encrypted with the public key of that STU 90 .
  • the STU 90 can then decrypt the MSK using its corresponding private key.
  • the CAM 30 maintains a data base of valid STU 90 public keys, which it periodically updates from the conditional access authority 400 .
  • FIG. 11 is a functional block diagram of an exemplary STU 90 .
  • a NAN 80 removes the MPEG-2packets from the network protocol of the digital network 70 , raw MPEG-2 transport packets are transmitted to the STU 90 .
  • the STU 90 receives the packets through its broadband interface processor 190 , which negotiates the delivery of packets from the NAN 80 .
  • the broadband interface processor 190 receives instructions from the general purpose processor 193 about which packets to de-multiplex from the MPEG-2 transport packet stream. These instructions include information related to the ECMs associated with the program bearing MPEG-2 transport packets.
  • the broadband interface processor 190 passes the associated ECMs to the secure processor 196 which performs the Triple-DES decryption of the control words carried in the ECMS and verifies that the STU 90 is authorized for the requested program service.
  • the secure processor 196 then passes the decrypted control words back to the broadband interface processor 190 which uses them to decrypt the program.
  • the secure processor 196 also performs the decryption of the MSKs carried in EMMs.
  • the secure processor contains the private key that corresponds to the public key of the STU 90 , which the SP 110 used to encrypt the EMMs as described in detail above.
  • the secure processor 192 has access to the public keys of authorized SPs 110 which are contained in buffer 192 .
  • the secure processor 192 implements the reverse of the third level of encryption described in detail above and provides EMM authentication by verifying the digital signature of the EMM.
  • the packets are output to FIFO 191 .
  • the memory manager 194 then moves the packets to buffer 192 for access by the MPEG-2 multimedia processor 198 .
  • the transport packets are processed by the MPEG-2 multimedia processor 198 for playback on a presentation device (not shown).
  • the presentation device may be any appropriate device, such as a television or a personal computer.
  • the present invention is directed to a method and apparatus for adding conditional access in connection-oriented, interactive networks with a multiplicity of service providers. It is understood, however, that changes may be made to the embodiments described above without departing from the broad inventive concepts thereof. For example, while the present invention is described in the context of an interactive system, the same methods and apparatus would work effectively in a broadcast environment. Accordingly, this invention is not limited to the particular embodiments disclosed, but is intended to cover all modifications that are within the scope and spirit of the invention as defined by the appended claims.

Abstract

Methods and apparatus are described for ensuring that programs comprising at least one of video, audio, and data that are requested by a customer from a service provider (SP) via an interactive information services system, which transmits the requested programs in program bearing packets to a set top unit (STU) associated with the customer, are accessible by only authorized customers. The apparatus is positioned between the SP and the STU and comprises: means for receiving the program beating packets in a first network protocol from a first data link and removing the packets from the first network protocol; means for adding conditional access to the program bearing packets; and, means for re-encapsulating the program bearing packets in a second network protocol and outputting the program bearing packets over a second data link. Methods and apparatus for applying conditional access are described that comprise encrypting selected program bearing packets with a first key; encrypting the first key with a second key; and, encrypting the second key according to a public-key encryption algorithm using a public key corresponding to a private key stored within the STU associated with the customer.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims priority of earlier filed U.S. provisional application Serial No. ______, filed Dec. 4, 1995, entitled “An Apparatus for Providing Conditional Access in Connection-Oriented, Interactive Networks With a Multiplicity of Service Providers.” (Attorney Docket No.: T-598).[0001]
  • FIELD OF THE INVENTION
  • The present invention relates to a control system for providing interactive information services, such as video, audio, library, interactive games, and the like over a digital network. Particular video applications include “movie on demand,” on-line data retrieval, and home shopping. More particularly, the invention relates to a control system for providing secure transmission of these information services between a service provider and a customer's set top unit over a digital network. [0002]
  • BACKGROUND OF THE INVENTION
  • Recent advances in digital signal processing techniques and, in particular, advancements in digital compression techniques, have led to an abundance of proposals for providing new digital services to the customer's home via existing telephone and coaxial cable lines. For example, proposals have been made to provide hundreds of CATV channels to customers by compressing digital video, transmitting the compressed digital video over conventional coaxial CATV cables, and then decompressing the video at the customer's set top unit. Another proposed application of this technology is a “movie on demand” video system in which a customer communicates directly with a video service provider via the telephone lines or coaxial CATV cables to request a particular video program from a video library, and the requested video program is routed to the caller's home via the telephone lines or via the coaxial CATV cables for immediate viewing. [0003]
  • Such an exemplary system typically has three distinct segments: (1) a service provider (SP), which provides the video, audio, interactive games and the like (collectively referred to hereinafter as “programs”) to the system; (2) a customer, who purchases the programs from the service provider; and, (3) a network operator, which provides a transmission path or connection between the SP and the customer for delivery of the programs. A layer of complexity is added to the operation and design of the system if the network operator is defined as a telephone company by the Federal Communications Commission (FCC). In such a case, the network operator is subject to regulation under the jurisdiction of the FCC. The system will then be further categorized into [0004] Level 1 services (L1) and Level 2 services (L2). Level 1 services provide the information session connection and define the portion of the system responsible for setting up and maintaining interactive communication sessions between customers and SPs. Level 1 services are provided by the network operator and are regulated by the FCC. Level 2 services, on the other hand, define the portion of the system responsible for providing the programs requested to the L1 portion of the system from the SP and for terminating the service at the customer end of the network. A provider of Level 2 services is defined by the FCC as an enhanced services provider and is not regulated by the FCC. Significantly, these FCC regulations limit the control a Level 1 services provider may have over Level 2 services.
  • In a [0005] Level 1/Level 2 system, which is under the jurisdiction of the FCC, the SP resides in Level 2 and the control that the SP can exercise over Level 1 services is restricted. However, in any system where a SP is delivering programs to a customer over a network, the SP has a need to prevent the unauthorized access to the programs provided to the customer. For example, a non-subscriber may attempt to illegitimately receive the programs intended for the use of paying subscribers. This protection of programs through the prevention of unauthorized access is referred to as “conditional access.” As used herein the terms “conditional access” and “conditional access layer” broadly refer to the control mechanisms, data structures and commands that provide for selective access or denial of specific services. Prior art systems have provided conditional access by encrypting the programs at the SP site and decrypting the programs at the customer site.
  • For example, Lee et al., U.S. Pat. No. Re. 33,189, discloses a system using an encryption mechanism for providing conditional access in a satellite television system and is hereby incorporated by reference. In Lee, a program is scrambled at a SP site using a frequently changing random number. The random numbers are encrypted with a key and broadcast along with the program to customer sites. Customers who have paid receive the key, encrypted with the unique ID that is embedded in their set top unit (STU). These customers' STUs can decrypt the key using the unique ID embedded within it. The customers' STU can then decrypt the encrypted random numbers, as they are broadcast, and use the random numbers, along with the key, to decrypt the program. As noted above, the key in the Lee invention must be securely transmitted; otherwise, an unauthorized user could get access to the key and gain access to the broadcast programs. Lee protects the key by using the unique ID of the STU to encrypt it. Such a technique works fine in a broadcast environment where there is a single broadcaster to multiple users. In that environment, the broadcaster can take adequate measures to protect the list of valid customer STU IDs. However, in a telephone architecture regulated by the FCC, as described above, multiple service providers (i.e., broadcasters) must have access to the multiple users. In such an environment, the list of unique STU IDs is vulnerable to discovery by unauthorized parties, and the security of the system may be breached. Additionally the Lee system is appropriate for a broadcast environment in which the SPs have the only reasonable means to address the STUs. Therefore, the system is not susceptible to compromise by unauthorized users addressing the STUs. However, in a digital network environment where STUs are uniquely addressable, and multiple SPs have access to multiple STUs, an unauthorized user could put information on the network addressed to individual STUs and thereby compromise the system. Applicants have recognized that a conditional access system in a digital network environment must have a mechanism that allows the STU to authenticate the identity of the SP. Thus, applicants have recognized that an improved encryption technique is needed. [0006]
  • Moreover, while encryption has provided conditional access, the problem of where to perform the conditional access in an FCC regulated system remains unresolved. Applicants have recognized that a solution that performs the conditional access within the L1 portion of the system is unnecessarily complicated by FCC regulation. [0007]
  • Applicants have recognized that conditional access should be performed while a program is still in control of the [0008] Level 2 service provider, i.e., before it is delivered to the L1 portion of the system. Access to the program and vital conditional access information can be closely controlled by a service provider. Unfortunately, the file server equipment currently available to service providers does not provide the necessary functionality to perform conditional access before a program is output from the file server. As a result, there is a need for method and apparatus to provide conditional access to a program after it exits a file server, but before it enters the L1 portion of the system.
  • The problem is complicated further when considered in the context of a typical digital network environment. In such an environment it is expected that the SPs will store programs on file servers in the form of Moving Picture Expert Group (MPEG-2) Systems transport packets, as defined in MPEG-2 Systems International Standards Reference (ISO/IEC JTC1/SC29/WG11 N0801, November 1994, ISO Reference No. 13818-1), which is hereby incorporated by reference. Importantly, although the MPEG-2 Systems International Standards Reference does not standardize on a particular method of conditional access, it does contemplate the addition of conditional access to the MPEG-2 transport packets. Thus, to conform to the MPEG-2 standard, it is necessary that conditional access be added to programs at the MPEG-2 transport packet layer rather than at a higher network protocol layer. However, when a program leaves a service provider's file server, it will not be in a convenient format for applying conditional access. Rather, the program, in the form of MPEG-2 transport packets, will leave the file-server enveloped in a first network protocol. Additionally, in some applications, the packets may then need to be re-mapped into a second network protocol to conform to the network protocol provided by the network operator. Thus, in this context there is a need for method and apparatus for removing the MPEG-2 transport packets of a particular program from a first network protocol, providing conditional access to the MPEG-2 transport packets, and then mapping the MPEG-2 transport packets back into the first network protocol or into a second network protocol. [0009]
  • SUMMARY OF THE INVENTION
  • The present invention meets the needs discussed above by providing method and apparatus between the SPs and the [0010] Level 1 services provider that accepts programs destined for an STU in the form of MPEG-2 transport packets enveloped in one of a plurality of network protocols. According to the present invention, the packets are removed from a first network protocol. Conditional access layers are applied to the packets. After applying the conditional access layers, the packets are encapsulated and output in a second network protocol destined for the STU.
  • According to an aspect of the present invention a method of providing conditional access to selected program is provided. Packets representing a program requested by a customer having an STU are selected. Those program bearing packets are encrypted according to a first encryption algorithm using a first key. The first key used to encrypt the program is, in turn, encrypted according to a second encryption algorithm using a second key. The first keys are transported in packets to the customer's STU along with the program packets. The second key is, in turn, encrypted using a public-key cryptographic technique such that the public key used in the encryption corresponds to the private key of the customer's STU. The encrypted second key is then transported via packets to the STU along with the program and first key packets. [0011]
  • According to another aspect of the present invention the apparatus provides means for receiving program bearing packets in a first network protocol from a first data link and removing the packets from the first network protocol. The apparatus selects all packets comprising a particular program requested by a customer. Conditional access is then applied to the requested program at the packet layer in accordance with the method described above. The apparatus then encapsulates all packets in a second network protocol and outputs them over a second data link for delivery to the customer's STU. [0012]
  • According to a further aspect of the present invention, method and apparatus are provided for generating a message authentication code comprised of a hash of the first key and the second key, such that the STU can determine if the packets bearing the first key has been tampered with during transmission. Additional method and apparatus are provided for applying a digital signature to the encrypted second key, such that the authorized customer can determine the identity of the provider of the encrypted second key, thereby preventing unauthorized users from addressing STUs.[0013]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The foregoing summary, as well as the following detailed description of the preferred embodiment, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, there is shown in the drawings an embodiment that is presently preferred, it being understood, however, that the invention is not limited to the specific methods and instrumentalities disclosed. In the drawings: [0014]
  • FIG. 1 illustrates an exemplary digital video distribution system in which the present invention may be employed. [0015]
  • FIG. 2 is a block diagram providing further details of a server access and broadband encrypter re-mapper in accordance with a presently preferred embodiment of the invention. [0016]
  • FIG. 2A is a block diagram illustrating further details of a presently preferred embodiment of an FDDI input card. [0017]
  • FIG. 2B is a block diagram illustrating further details of a presently preferred embodiment of a SONET-ATM output card. [0018]
  • FIG. 2C is a block diagram illustrating further details of a presently preferred embodiment of a conditional access card. [0019]
  • FIG. 2D is a block diagram illustrating the operation of the control card. [0020]
  • FIG. 3 is a functional block diagram illustrating the conditional access scheme provided in accordance with the present invention. [0021]
  • FIG. 3A is a functional block diagram illustrating the process of message authentication of control words in accordance with the present invention. [0022]
  • FIG. 3B is a functional block diagram illustrating the process of adding a digital signature to an MSK in accordance with the present invention. [0023]
  • FIG. 4 graphically illustrates the structure and content of an exemplary MPEG-2 transport packet. [0024]
  • FIG. 5 graphically illustrates the mapping of MPEG-2 transport packets into ATM cells in accordance with the present invention. [0025]
  • FIG. 6 graphically illustrates the mapping of MPEG-2 transport packets into an FDDI frame in accordance with the present invention. [0026]
  • FIG. 7 graphically illustrates the mapping of MPEG-2 transport packets into a DS-3 frame in accordance with the present invention. [0027]
  • FIG. 8 graphically illustrated the mapping of MPEG-2 transport packets into a UNISON frame in accordance with the present invention. [0028]
  • FIG. 9 graphically illustrates the transport overhead structure utilized in the UNISON-1 STS-3c frame structure. [0029]
  • FIG. 10 graphically illustrates the Synchronous Payload Envelope (SPE) structure used for transmitting MPEG-2 transport packets in accordance with the UNISON-1STS-3c frame structure. [0030]
  • FIG. 11 illustrates a functional block diagram of an exemplary set top unit implementing the conditional access method of the present invention. [0031]
  • FIG. 12 is a functional block diagram illustrating the context and operation of the Conditional Access Manager.[0032]
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • Referring to the drawings wherein like numerals indicate like elements throughout, there is shown in FIG. a block diagram of the components of an exemplary digital information distribution system [0033] 10 (“distribution system”) in which the present invention may be incorporated. A similar system is described in U.S. Pat. No. 5,481,542, which is assigned to the same assignee as the present invention and is hereby incorporated by reference in its entirety. The distribution system 10 provides a mechanism whereby data, such as compressed digital video data from a service provider (SP) 110, is transmitted over a broadband transmission network under the control of a network operator 120 to a customer 130 for presentation to the customer's STU 90. As used herein, the term set top unit refers to any customer device capable of receiving and decoding digital services, such as personal computers, home control terminals, decoders and the like. In the case of a video service, for example, the received information could be displayed on the customer's television or computer screen. A bi-directional communication path is also established and maintained between the SP 110 and the customer 130 by the network operator 120, which allows the customer 130 to interact with the service provider. For example, the customer 130 may wish to select programs from a menu, control the playback of a program, or interact with a video game.
  • Various aspects of the [0034] distribution system 10 incorporating the present invention are described-below. First, an overview of the components of the distribution system 10 are described. Following the overview, detailed information concerning the various components of the distribution system 10 that incorporate the present invention is provided.
  • I. System Overview [0035]
  • When a [0036] customer 130 requests a program, the request is routed from the customer's STU 90 through a network access node 80 to the network control and management computer (NCMC) 100. The NCMC 100 then provides a communication connection between a particular service provider 110 a, 110 b and the customer 130. To establish the connection, the NCMC 100 ensures that bandwidth is available on the digital network 70 and the network access node (NAN) 80. Thereafter, the NCMC 100 passes the customer request to the requested SP 110 via server gateway 61. The server gateway 61 handles communications with various billing agencies to determine the customer's eligibility to receive the requested program and to determine the conditional access requirements for the requested program. An SP stores programs on a file server in the form of Moving Picture Experts Group (MPEG-2) Systems transport packets, containing compressed digital video and audio data as well as other digital service information. The requested MPEG-2 transport packets are then output over data link 40 encapsulated in a network protocol. Ultimately, the packets are to be transmitted through the digital network 70 to a NAN 80 and then to the customer's STU 90. The service providers 110 want to ensure that programs entering the digital network 70 are viewed only by the customers who have been authorized by the server gateway 61. Thus there is a need to provide conditional access to programs before those programs enter the digital network 70. Accordingly, one aspect of the present invention, apparatus 20 and 30, referred to herein as Service Access and Broad Band Encrypter Re-mapper (SABER) 20 and Conditional Access Manager 30, are provided between the SP 110 and the digital network 70 to provide a means for adding conditional access to the program to be transmitted. In particular the SABER 20 receives the MPEG-2 transport packets from the SP 110, via data link 140, encapsulated in the network protocol of that link. According to the present invention the SABER 20 extracts the MPEG-2 transport packets, adds conditional access, and then re-encapsulates the packets in a second protocol (which may be the same or different from the first protocol) for introduction into digital network 70. The CAM 30 provides the SABER with information necessary to selectively apply the conditional access to the MPEG-2 transport packets. The CAM 30 receives the conditional access requirements and unique PID assignments for the requested program from the SP via the server gateway 61.
  • The second network protocol, that of [0037] data link 50, may be the same as or different from the first network protocol of data link 40. For example, data link 40 may conform to an FDDI network protocol, while data link 50 may conform to an ATM network protocol, or both data links 40, may conform to an ATM network protocol. Among the protocols presently anticipated by the SABER 20 are SONET-ATM, FDDI, DS-3 and UNISON-1, all of which can be used to transfer Moving Picture Experts Group (MPEG-2) Systems transport packets through data link 40 or data link 50. However, the network protocols listed and described herein are merely illustrative, and should not be construed as limiting the invention to those protocols listed, other protocols, for example, a proprietary protocol, could function equally well.
  • Significantly, if the [0038] digital network 70 were inherently secure (for example, a completely fiber network) the SABER 20 could be located elsewhere in the system 10. In such a secure network, the SABER 20 might be located at the opposite end of the digital network 70, between the digital network 70 and the NANs 80.
  • Network control and management computer (NCMC) [0039] 100 manages sessions between the STUs 90 and the SPs 110. Among its duties, the NCMC 100 is responsible for provisioning the NAN 80, provisioning the STUs 90, providing routing information to the digital network 70 when appropriate, and for information session management between the STUs 90 and the SPs 110. In providing the session management, either the STUs 90 or the SPs 110 may send requests for information service connections to the NCMC 100. After receiving a request, the NCMC 100 determines if there are resources available on the network for transporting the requested services and, if so, establishes the requested service connection from the SP 110 to the STU 90. The NCMC 100 then sends the service information to both the STU 90 and the SP 110 to allow them to connect to the network and to begin the requested interactive information service. The NCMC 100 may establish sessions in the manner described in U.S. Pat. No. 5,481,542, which is incorporated herein by reference in its entirety.
  • II. Service Provider Complex [0040]
  • The SPs [0041] 110 control the system that provides programs to the customer. To provide these programs, the SP employs one or more file servers 60, a server gateway 61, and in accordance with the present invention, a conditional access manager (CAM) 30 and a SABER 20. The file servers store programs in MPEG-2 transport packet format for delivery to customers. That is, when a customer requests a program from the file server 60, the file server outputs MPEG-2 transport packets bearing the requested program for delivery over the digital network 70. However, before relinquishing control over a program, an SP 110 would like to diminish the possibility that the program will be diverted to an unauthorized user. In particular the SP 110 would like to add a layer of conditional access to the program to ensure that only the customer that requested the program will have the ability to view it. Currently available file server equipment does not have the capability to add the necessary conditional access layers. If the packets output by the file server 60 are transmitted without conditional access over the digital network 70 and are intercepted by an unauthorized user in possession of a STU 90 capable of decoding MPEG-2 transport packets, that unauthorized user could have access to all transmitted programs.
  • According to the present invention, conditional access layers are added to the MPEG-2 transport packets by the [0042] SABER 20 in conjunction with the CAM 30. The CAM 30 and the SABER 20 coordinate the process of adding conditional access to the transport packets of a given program via an ethernet link 140. Generally, the process of adding conditional access involves encrypting the contents of transport packets and the corresponding keys and ensuring that that information is provided to the STUs 90. Concurrently, the CAM 30 keeps track of program level information (e.g., PID maps and higher levels of encryption keys) which it periodically provides to the SABER 20. Additionally, the CAM 30 periodically generates other data (e.g., system-wide pay-per view access, copy protection information, and the like) that it must deliver to the STU 90. That information is placed in Entitlement Control Messages and Entitlement Management Message that are carried in MPEG-2 transport packets which are multiplexed into the stream of program bearing MPEG-2 packets. A method for providing conditional access information to STUs is described in more detail in Wasilewski, U.S. Pat. No. 5,420,866, which is assigned to the same assignee as the present invention and is hereby incorporated by reference in its entirety. Those packets generated by the CAM 30 are transmitted from the CAM 30 to the STU 90 via the SABER 20, where they are mapped into the network layer protocol of data link 50.
  • III. The Conditional Access Model of the Present Invention [0043]
  • The inner workings of the [0044] SABER 20 and the CAM 30 are better understood with reference to a conditional access model. To that end, a presently preferred embodiment of the conditional access model of the present invention is presented here before embarking on a hardware level description of implementation details of that model. FIG. 3 presents a functional diagram of the presently preferred conditional access model.
  • The present invention provides three functional levels of protection: (1) program encryption, (2) control word encryption and authentication, and (3) entitlement message encryption and authentication. At the first level, the program bearing MPEG-2 transport packets are encrypted using random number generated keys, referred to hereinafter as control words. At the second level, the control words are encrypted using a second randomly generated key. This second key is referred to hereinafter as a multi-session key (MSK). At the third level, the multi-session key is encrypted using a public key cryptography technique. [0045]
  • The first level of encryption—program encryption—is indicated in FIG. 3 by [0046] box 154. Preferably, the first layer is implemented using a private-key cryptographic technique. As indicated the program encrypter receives MPEG-2 transport packets as an input, along with a control word, and outputs encrypted MPEG-2 transport packets. The encrypter may employ any suitable encryption algorithm, such as DES or Triple DES. Significantly, in the present embodiment, the header information in MPEG-2 transport packets is never encrypted; conditional access is applied only to the payload portions of the MPEG-2 transport packets. Thus, an STU 90 can read the PIDs and other overhead information carried in the MPEG-2 transport packets without the need to decrypt the packets.
  • The control words must be transferred to the STU to enable the eventual decryption of the program. During this transfer, the control words are vulnerable to unauthorized access. Thus, at the second level of the encryption model, the control words are encrypted using the MSK to prevent an unauthorized user from gaining access to them and, thereby, to the programs they were used to encrypt. This is indicated in [0047] box 153, which shows the control words as an input, along with the MSK, and encrypted control words as an output.
  • The MSKs must also be securely transferred to the [0048] STU 90. The third level of the encryption model supports this secure transfer. In accordance with another aspect of the present invention, this third level of encryption uses a public-key encryption algorithm to encrypt the MSKs, which obviates the need to securely transfer an endless hierarchy of keys from the SP 110 to the STU 90. According to this technique, each STU 90 has a private key and a corresponding public key. As indicated by box 155, the public key for a particular STU 90 is used to encrypt the MSK. Moreover, as will be described in detail below, a digital signature technique is used to further guarantee the security of the conditional access system. As a result, the MSK can be securely transferred to the STU 90. No further encryption levels are necessary, because the STU already contains the private key that corresponds to its public key, which the STU 90 can use to decrypt the MSK.
  • Of all the keys used in the present invention, the control words, used in the first level of encryption, change most often, e.g., every few seconds. This frequent key changing is designed to thwart attempts by unauthorized users to compromise the encryption algorithm by discovering the key. Such a design is effective because even if an unauthorized user came into possession of a control word, that control word would expire before any advantage could be gained. However, because the control words change often and the encryption must be performed quickly to keep up with the high program data rates, a private key encryption scheme with a relatively small control word is used (e.g., DES with a 56-bit key). [0049]
  • The conditional access solution of the present invention overcomes an additional obstacle—only a single interactive connection exists between the SP [0050] 110 and the STU 90, and that connection is assumed not to be secure. As a result of having a single interactive connection, the SP 110 must send the encryption keys along with the program to the STU 90 over that same connection. Any assumptions about the insecurity of the network also apply to the transmission of keys from the SP 110 to the STU 90. In order to provide adequate security to the transmission of programs and overcome the single connection obstacle, the control words must also be protected from unauthorized access. Thus, at the second level of the conditional access model, the control words are themselves encrypted using a second encryption algorithm. Significantly, the data rates required to transmit encrypted control words to the STU 90 are much lower than the data rates required to transmit the program data. Consequently, the keys can be encrypted with a longer key and a more robust encryption algorithm (e.g., Triple DES with a 112 bit key).
  • As noted, the system must deliver the control words to the [0051] STU 90 over the single interactive connection. Accordingly, the control words are inserted into MPEG-2transport packets for transmission to the STU 90. The control words are delivered to the STU 90 in the form of entitlement control messages (ECM). Such messages are used to transmit control words to the STUs 90 along with authentication information, such as a message authentication code. Each ECM comprises header information, and the ECM payload, which contains the control word and a message authentication code.
  • Message authentication is another mechanism provided at the second conditional access level, ensuring that the ECM data is not tampered with during transmission. In the present embodiment, this authentication is accomplished by use of a message authentication code (MAC), which is transmitted with the encrypted control words in the ECM. The mechanism is illustrated in FIG. 3A. [0052]
  • As shown in FIG. 3A, in the [0053] SABER 20, the clear (alternately referred to as non-encrypted) control word is encrypted with the MSK as signified by box 153. At the same time, the clear control word, other data (e.g., system-wide pay-per view access, copy protection, and the like), and the MSK are concatenated together (1002). This concatenation is then hashed, as indicated at box 1004, using a one-way hash algorithm, such as the well-known Message-Digest (MD5) algorithm, to produce a MAC. The MD5 hash produces an output value from which it is computationally infeasible to discover the input value to the hash algorithm. The MAC is appended to the encrypted control word, as indicated at 1006. The producer of the MAC (e.g., the SABER 20) must know both the pre-encrypted control word and the MSK to produce a proper output hash value. The resulting hash value is transmitted to the STU 90, along with the encrypted control word, in the ECM.
  • At the [0054] STU 90, the MAC process is reversed before releasing the control word for use in decryption. The encrypted control word is parsed from the ECM and decrypted with the MSK (box 1008), which was transmitted to the STU (as indicated by dashed lines in FIG. 3A) through a mechanism described in detail below. The now clear control word and the MSK are concatenated and hashed (box 1010) in similar fashion to the technique used in the SABER 20 prior to transmission. This hash value is then compared to the MAC received in the ECM (1012). If the two values match then the control words are authorized for use by the STU 90 in decrypting the program.
  • The ECMs (i.e., encrypted control words and corresponding MACS) may be carried in MPEG-2 transport packets in one of two ways: (1) as part of the adaptation fields within the MPEG-2 transport packets that carry the program data that the control words were used to encrypt, or (2) as separate MPEG-2 transport packets. In the second case, a unique PID is assigned to those packets, and they are multiplexed into the stream of packets bound for the [0055] STU 90.
  • In the third encryption level, because the rate necessary to transmit the MSKs to the [0056] STU 90 is lower than the control word transmission rate (the MSK only changes on the order of once a day to once a month), the MSK can be subjected to enhanced protection. Moreover, the consequences of a discovered MSK may be greater than the consequences of a discovered control word. This is so because the MSK remains valid for a much longer duration and may apply to multiple programs. Thus, a more robust encryption algorithm is prudent. According to the present invention, a public-key encryption algorithm is utilized for this third level encryption.
  • According to the present invention, each [0057] STU 90 has a public key/private key pair. The private portion of the key pair is stored securely within the STU 90 and is never disclosed publicly. A variety of means can be employed to ensure that the public key is not publicly disclosed. For example, the private key can be implanted during manufacture into a tamper resistant processor in the STU 90. All records of the private key for that STU 90 can then be destroyed to guarantee that no unauthorized users will discover the private key. Alternatively, the STU 90 can contain an algorithm that generates a public key/private key pair. In this scheme, when the STU 90 is started for the very first time, it would generate a key pair, secure the private key portion internally, and provide the public portion as an output. As a consequence, the only record of the private key will remain securely stored within the STU 90, without any record of the private key ever being known external to the STU 90.
  • The public key corresponding to a particular private key is used to encrypt messages (e.g., MSKS) in the [0058] CAM 30 prior to transmission to the STUs 90. The public key can be made widely available, without compromising the integrity of the conditional access system. In a Level 1/Level 2 architecture in which multiple SPs 110 may have access to the multiple STUs 90, the wide availability of public keys allows the multiple SPs to share a single STU without concern that the third level key will become known to unauthorized users. But, because the list of public keys are widely available to multiple SPs 110, a method of sharing key information among the SPs 110 is required.
  • According to the presently preferred embodiment of the present invention, a conditional access authority will maintain the integrity of the public keys and distribute the public keys to the SPs [0059] 110 as needed. The conditional access authority maintains a public key database with which it is trusted to ensure that every public key corresponds to the proper STU 90. Otherwise, if the integrity of the conditional access authority is compromised, an unauthorized user could falsify a key entry in the tables maintained by the conditional access authority, which would in turn provide a false public key to the SPs 110. Thus, messages intended to be transmitted by an SP 110 to an authorized STU 90 could be diverted by the unauthorized user. The conditional access authority may also maintain a public key reference for all the SPs 110. So that STUs 90 may be provisioned with SP 110 public keys in verifying SP 110 digital signatures.
  • As a final part of the conditional access system, a strategy for prohibiting unauthorized users from sending entitlement management messages (i.e., messages that carry the MSKs to a particular STU [0060] 90) to the STUs 90 is provided. The public key for a particular STU 90 may be widely available and susceptible to discovery by unauthorized users. Without some additional protective mechanism, an unauthorized user could obtain the public key for one of the STUs 90 and delivered a message to it; the STU 90 would accept the message and decrypt it. False MSKs could thus be sent over the digital network 70, compromising the integrity of the system. In order to prevent such an occurrence, a digital signature is used, which authenticates the sender of the message as an authorized SP 110. Specifically, before transmission, a digital signature is used to “sign” a hashed message with the SP's 110 private key. After reception of that message, the STU 90 uses the SP's 110 public key to verify that the message is authentic.
  • This digital signature mechanism is illustrated in FIGS. 3B. At the transmission end of the system (i.e., at the CAM [0061] 30), a clear EMM (which may contain an MSK or other STU 90 specific information) to be sent to an STU 90 is hashed (box 1020) using a one-way hash function, such as the well-known MD5 hash algorithm. The output hash value is then encrypted using the private key of the SP 110 that sending the EMM. Encryption is performed using a well-known public-key encryption algorithm, such as RSA. This process creates a digital signature token that is appended to the clear EMM as indicated at 1023. The digitally signed EMM is then encrypted with the public key of the STU 90 that is to receive the message. This signed, encrypted EMM is then transmitted to the STU 90 via digital network 70.
  • The EMM is addressable to a group of or individual decoders, and contains the MSK and the digital signature as well as other information, such as address and message length. Each [0062] STU 90 contains a unique public address that identifies the decoder. Before the EMM is transmitted, this public address information is embedded in a clear field of the EMM. The STU 90 examines the clear public address field of all incoming EMMs and accepts those that contain its particular public address. In this manner, specific information may be transmitted to individual STUs 90.
  • When the EMM is received by the [0063] STU 90, the STU 90 decrypts the EMM with its private key (box 1026). This results in a clear EMM carrying the MSK and a token, which bears the digitally signed hash of the EMM. The token portion of the message (i.e., the digitally signed hash) is decrypted with the SP's public key (box 1028), which results in a hashed EMM. Concurrently, the clear EMM output from box 1026 is hashed to produce a hashed EMM. If the message is authentic, then the two hash values will be equivalent (box 1032). The MSK that arrived in the EMM can then be authenticated for use by the STU 90. In order to determine the proper SP 110 public key at box 1028 and thereby decrypt the messages received, the STU 90 will keep an internal list of public keys corresponding to the private keys of authorized SPs 110. This information is provided to the STU 90 by the conditional access authority to ensure the integrity of the public keys.
  • In summary, a stream of program bearing MPEG-2 transport packets enter the [0064] SABER 20 embedded in a network protocol layer. The SABER 20 removes the first network protocol layer to access the MPEG-2 transport packets. Conditional access layers are added through multiple encryption levels. MPEG-2 transport packets bearing ECMs and EMMs generated by the conditional access process are multiplexed with the transport packets that carry the data (e.g., video, audio) of the user selected program to form a single outgoing packet stream destined for the STU 90. Before the MPEG-2 transport packets exit the SABER 20, they are encapsulated into the original network protocol in which they were received or a different, second network protocol layer for transmission over the digital network 70.
  • The details of the inner-workings of the [0065] SABER 20 are discussed below in approximately the order of packet flow through the conditional access system. A departure from that order is made in describing the input 28 and output cards 26. Those cards are described together because of their functional overlap. Following the input and output card descriptions, details of the various components that implement conditional access are described.
  • IV. The Service Access and Broadband Encrypter Re-Mapper (SABER). [0066]
  • The [0067] SABER 20 receives input from various other system components. From the file server(s) 60, over data link 40, the SABER 20 receives programs in the form of MPEG-2 transport packets embedded in a network protocol layer. From the CAM 30 over an ethernet interface 140, the SABER 20 receives program specific encryption information (i.e., which programs, identified by PIDs, should be encrypted) and replacement PID values. When the SABER 20 has finished adding conditional access layers to a program, it re-encapsulates the MPEG-2 transport packets of the program into a second network protocol and transmits them to the digital network 70 over data link 50.
  • As illustrated in FIG. 2, internally the SABER is comprised of a [0068] channel bank backplane 21 for inter-card communication, one or two input cards 28, an output card 26, a conditional access card 24 and a control card 22. Non-encrypted programs are received from a SP 110 via the input cards 28 a and 28 b, which remove the MPEG-2 transport packets of the programs from the network protocol of data link 40 and replace the PIDs assigned by the file server of the SP 110 with new PIDs. These PIDs are replaced by the SABER 20, as provided by the CAM 30, to prevent multiple programs from multiple SPs 110 from delivering program information in MPEG-2 transport packets with identical PIDs. The MPEG-2 transport packets are then sent over the backplane 21 to the control card 22, which multiplexes multiple MPEG-2 transport streams together when more than one input card 28 is used. The control card 22 then transfers the transport packets to the conditional access card 24 over data path 150. The conditional access card 24 encrypts the transport packets as required and sends them back to the control card 22 via data path 150. The transport packets are then multiplexed and sent over the backplane 21 to the output card 26, where they are embedded into a second network protocol for transmission over data link 50.
  • A. Channel Bank Backplane [0069]
  • The [0070] Channel Bank Backplane 21 is an inter-card communication interface. The bus ensures that the cards of the SABER 20 can transmit control information and transport packets among themselves. All the cards desired for a particular set-up are configured and then plugged into the backplane 21. For example, if a SABER 20 is desired that accepts MPEG-2 transport packets in an FDDI network protocol and that outputs MPEG-2 transport packets in an SONET-ATM network protocol, then FDDI capable input cards and a SONET-ATM capable output card 26 are plugged into the backplane 21 in the appropriate slots and the desired protocol conversion is accommodated.
  • The [0071] backplane 21 is an 8 bit-parallel data bus with clock, enable and sync lines. The bus operates at a clock rate of 27 MHz, which is the nominal clock rate defined by the MPEG-2 standard. Each card, with the exception of control card 22, interfaces to the backplane through a common channel bank interface (CBI). The CBI provides a FIFO buffer and glue logic for inter-card communication. The CBI operates in conjunction with the channel bank multiplexer (CBMUX) 152 on the control card 22, to transfer MPEG-2 transport packets across the backplane 21. Cards that need to transfer data over the backplane 21, such as the input cards 28, have a local buffer within the CBI to store MPEG-2 transport packets until packets transfers are requested by the CBMUX 152. When polled by the CBMUX 152, the CBI transfers a packet over the backplane 21 where it is retrieved by the CBMUX 152 on the control card 22. Control information is transferred between cards over the backplane 21. Although the presently preferred bus is a high speed 8-bit parallel bus, those skilled in the art should appreciate that alternate bus designs could function equally well, for example, a 32-bit parallel bus could be used.
  • The [0072] CBMUX 152 also directs the CBI on a particular card to accept packets from the backplane 21. For example, in order for the CBMUX 152 to transfer a packet to the output card 26, the CBMUX 152 signals the CBI on the output card 26 to receive the packet. The packet is then output over the backplane 21 where it is received and bufferred by the CBI on the output card 26.
  • B. Input/Output Cards [0073]
  • According to another aspect of the present invention, the [0074] SABER 20 has a capability to conform to different protocols merely by selectively plugging cards into the backplane 21 that implement the desired protocol. Such capability facilitates the ability of SABER 20 to translate between a variety of network protocols. To facilitate this multiple translation feature, the appropriate input 28 and output cards 26 are selected, configured, and plugged into the proper slots in the SABER 20. The input card 28 that matches the input network protocol of data link 40 is plugged into the backplane 21. The output card 26 that matches the output network protocol of data link 50 is also plugged into the backplane 21. As a result, the SABER 20 can translate between the two network protocols selected from the group of network protocols supported by the input 28 and output cards 26, while providing conditional access.
  • The [0075] cards 26, 28 that interface to the network data links 40, 50 are generally implemented as a single card that operates in either an input mode or an output mode. For example, if SONET-ATM is selected as the input network level protocol for data link 40, a SONET-ATM I/O card would be configured as an input card 28. The card 28 will then accept data in the form of SONET frames carrying ATM cells that contain MPEG-2 transport packets. The card will extract the MPEG-2 transport packets from each incoming data stream. On the other hand, if SONET-ATM is selected as the output network protocol for data link 50, an identical card could be configured to map MPEG-2 transport packets to, and output packets in, ATM-cell bearing SONET frames.
  • Functional descriptions of the [0076] input 28 and output cards 26 are described below. Following the functional descriptions, the various mappings from network layer protocols to MPEG-2 transport packets are described. Finally, details are provided that describe two exemplary input/output card implementations.
  • 1. Input Card Functions [0077]
  • An [0078] input card 28 may conform to one of a variety of network protocols. For example, the input card 28 may receive programs in an FDDI, SONET-ATM, UNISON-1, or DS-3 protocol. However, these protocols are merely examples and should not be construed as limiting. An input card 28 accepts program data from data link 40 in the form of MPEG-2 transport packets which are embedded in the network protocol layer of data link 40 and then extracts the MPEG-2 transport packets from the network protocol layer. Examples of the mapping between MPEG-2 and the various protocols are described more fully below.
  • In addition to removing the network protocol from the received data, the [0079] input cards 28 re-map the PIDs carried in the set of MPEG-2 transport packets of each program. As noted above, programs are stored on the file servers 60 in MPEG-2 transport packets. When a program is output from a file server 60, the file server 60 assigns Packet Ids (PIDs) to the transport packets of the program that are unique with respect to that file server 60. However, multiple file servers 60 feed programs to the SABER 20, and potentially, multiple SABERs 20 feed programs to the digital network 70. If two or more file servers 60 output programs in MPEG-2 transport packets bearing identical PIDs, collisions will occur. Accordingly, the CAM 30 (see FIG. 1), in conjunction with information provided by the NCMC 100, keeps track of the PIDs in use over the network and provides the SABER 20 with a PID re-mapping table that gets stored on the input card 28. After the input card 28 has removed the network protocol layer, the PIDs assigned by the file servers 60 are extracted from the MPEG-2 transport packets. The input card 28 then searches the PID re-mapping table for available PIDs and replaces the PIDs received from the file server 60 with those specified in the table, before transferring those packets to the control card 22. In this manner, the NCMC 100 and CAM 30 ensure that no PID collisions occur downstream in the system 10.
  • 2. Output Card Functions [0080]
  • As with the [0081] input cards 28, the output card 26 conforms to one of a variety of network protocols. Moreover, with the exception of PID re-mapping, the output card 26 performs the functional opposite of the input card 28. Essentially, the output card 26 receives MPEG-2 transport packets from the backplane 21 through its CBI and maps the MPEG-2 transport packets into the network protocol of data link 50. Then, the output card 26 outputs the particular program over the data link 50. The example mappings presented below describe, in detail, how the MPEG-2 transport packets are mapped to or from a given network protocol. In the input mode, the MPEG-2 transport packets are removed (i.e., mapped out) from the network protocol. In the output mode, the MPEG-2 transport packets are mapped into the network protocol.
  • 3. MPEG-2 <--> Network Layer Protocol Mappings [0082]
  • Understanding the format of an MPEG-2 transport packet is a prerequisite to understanding how these packets are mapped among the various network protocols. Accordingly, FIG. 4 illustrates a standard MPEG-2 [0083] transport packet 200. As depicted, the MPEG-2 transport packet is a fixed length packet of 188 bytes. Further, those 188 bytes are divided among a 4 byte header 210, a variable length adaptation field 220 of n bytes, and a 184-n byte payload 230. The adaptation field 220 is optional and may contain such things as timestamps for synchronizing the components of distribution system 10. As a general rule and as is described more specifically according to each network protocol below, to efficiently map the MPEG-2 transport packets of a given program to the desired network layer protocol, the MPEG-2 packets are sometimes concatenated to form larger data blocks and sometimes segmented to form shorter data blocks. Exemplary protocol mappings are provided below.
  • a. MPEG-2 <--> SONET-ATM Mapping [0084]
  • According to a presently preferred embodiment, an available selection of input/[0085] output cards 26, 28 support a mapping between MPEG-2 transport packets and SONET-ATM. This mapping consists of several layers of translation. First, MPEG-2 transport packets are mapped into ATM cells via AAL5 PDUs, then the ATM cells are mapped into SONET frames. This mapping is illustrated in FIG. 5.
  • As shown in FIG. 5, the mapping between MPEG-2 and ATM is facilitated by the use of [0086] ATM adaptation layer 5 protocol data units (AAL5 PDU). The AAL 5 PDU has a variable length payload field that generally must be padded to align to a 48-byte boundary. The 8-byte trailer contains standard AAL 5 PDU information, such as length and CRC-32 information. Two MPEG-2 transport packets 200 a and 200 b map into the payload 252 of a single AAL5 PDU 250 at the common part convergence sublayer. Because the two 188-byte MPEG-2 packets and the 8-byte trailer are aligned to a 48-byte boundary (i.e., equally divisible into 48-byte blocks), no padding is required. Thereafter, the mapping proceeds according to standard ATM specifications. Conveniently, the payload 252 and the trailer 254 of the AAL5 PDU 250 together total 384 bytes, which segments into exactly eight segmentation and reassembly PDUs 260. These eight 48-byte SAR PDUs 260 fit into the payload 272 of eight ATM cells 270. The ATM cell header 271 h of the eighth cell 270 h has its user-to-user indicator bit set to 1, which indicates that it is the last cell of the group of eight that comprise the two MPEG-2 transport packets 200 a and 200 b.
  • When mapping from ATM cells into MPEG-2 packets, ATM cells are grouped by the number of cells between cells with user-to-user interface bits set to one. The payload of each of the eight cells is removed and concatenated. The CRC-32 value can then be checked at the common part convergence sublayer to verify the data. If the data is valid the [0087] AAL 5 payload can be divided into the two MPEG-2 transport packets. SONET OC-3 provides the physical layer for transmitting the MPEG-2 bearing ATM cells. Accordingly, the ATM cells must be further mapped into SONET frames for transmission over the physical data links 40, 50. The SONET to ATM mapping follows the well-known UNI 3.1 standard, which is described in detail in the ATM User-Network Interface Specification, Version 3.1, which is hereby incorporated by reference. SONET OC-3 provides a physical connection at 155.52 Mbps. Generally, the mapping of ATM cells is performed in a row alignment fashion, with the byte structure of the ATM cell aligned with the byte structure of the SONET payload. The ATM cells fill the entire SONET frame payload. Although the SONET connection performs at 155.52 Mbps, because of the SONET overhead, the actual transfer capacity for ATM cells is 149.76 Mbps.
  • b. MPEG-2 to FDDI Mapping [0088]
  • A standard FDDI frame is illustrated in FIG. 6. Standard FDDI frames [0089] 280 are a maximum of 4,500 octets, comprised of a preamble 281, starting delimiter 282, frame header 283, information (herein conforming to Logical Link Control PDU format) 284, frame check sequence 285, ending delimiter 286 and frame status fields 287. All of these fields are standard FDDI protocol and are not modified with respect to the mapping of MPEG-2 transport packets. For example, the frame header field 283 contains standard destination 294 and source address fields 296. The frame control field 292 within the frame header 283 contains an indicator that the frames are asynchronous non-source routed Logical Link Control frames. Thus, the information field 284 within the FDDI frame 280 contains data in Logical Link Control PDUs that conform to standard IEEE 802.2 Type I packets. The payload 299 contains the MPEG-2 transport packets 200 a-200 u concatenated end to end, with a single payload carrying a maximum of 21 MPEG-2 transport packets for a total of 3948 octets.
  • c. MPEG-2 to DS-3 Mapping [0090]
  • FIG. 7 illustrates the MPEG-2 transport packet to DS-3 frame mapping. According to the mapping, three MPEG-2 [0091] transport packets 200 a, 200 b, and 200 c (not shown) map into a single DS-3 frame. For DS-3 mapping, each 188 byte MPEG-2 transport packet is concatenated with an additional 8 byte trailer 205 giving a final packet length of 196 bytes. The trailer contains t=4 Reed-Solomon forward error correction bytes. A single DS-3 frame may contain up to 4,704 bits or 588 bytes of data. Since the MPEG-2 transport packets with the Reed-Solomon encoding are 196 bytes, three MPEG-2 transport packets map into the data bits of a DS-3 frame. The three concatenated MPEG-2 transport packets are then loaded into the DS-3 frame data bits with the most significant bit of the first transport packet aligned with the most significant bit of the DS-3 frame. No subframe alignment is necessary.
  • d. UNISON [0092]
  • The data links [0093] 40 or 50 may also transport digital data in accordance with a UNI-directional, Synchronous Optical Network (UNISON-1) interface developed by the assignee of the present invention. The UNISON-1 interface has physical layer characteristics as well as an underlying network transport structure modeled after the Synchronous Optical Network (SONET) transport protocol. A UNISON-1 network provides point to point optical communications using a modification of SONET which does not require complete conformance to the SONET specifications. The physical interface for the UNISON-1 optical signal preferably meets the specifications described for the OC-3 optical interface, intermediate reach, as defined in Bellcore document TR-NWT-000253, Issue 2, December 1991, Section 4, Table 4.11, Column IR-1, while the physical/optical connector is preferably an FC/PC mechanical connector. The UNISON-1 interface signal is preferably synchronized from a Stratum 3 timing source derived from a Regional Bell Operating Company.
  • Preferably, the basic data rate utilized in the [0094] digital network 70 in accordance with the invention is the Synchronous Transport Signal Level 3 concatenation (STS-3c) rate of 155.52 Mbps. Concatenation refers to the transport condition of a SONET system where the entire Synchronous Payload Envelope (SPE) is treated as a single entity or contiguous data stream. In a preferred embodiment, MPEG-2 transport packets are mapped into the SPE and are then passed to the digital network 70 as a single entity. The optical counterpart of the STS-3c is the Optical Carrier Level 3 signal (OC-3), which is the result of a direct optical conversion of the STS-3c after frame synchronous scrambling.
  • As shown in FIG. 8, a preferred embodiment of the STS-3c frame for UNISON-1 in accordance with the invention consists of 270 columns and 9 rows of 8-bit octets, for a total of 2430 octets. With a frame length of 125 microseconds (8000 frames per second), the STS-3c has a bit rate of 155.52 Mbps. In a preferred embodiment, the first three columns in each row are the Transport Overhead containing overhead octets of Section and Line layers. As shown in FIG. 9, 81 octets are thus allocated, with 27 octets allocated for Section Overhead and 54 octets allocated for Line Overhead. The Section Overhead for STS-3c preferably consists of the following fields: STS-3c framing (A[0095] 1 and A2), multiplex identification (C1), bit-interleaved parity (BIP-8) (B1) for Section error monitoring functions, and three octets allocated to form one 192 kbps message based channel (D1, D2 and D3). El and Fl are currently unused. The Line Overhead for the STS-3c, on the other hand, preferably consists of a pointer field (H1 and H2) which provides offset in the octets between the pointer and the first octet of the STS SPE and indicates when concatenation has occurred, a bit-interleaved parity field (B2) for line error monitoring functions, and nine octets allocated to form one 576 kbps message channel (D4 through D12). H3, K1, K2, Z1, Z2, and E2 are currently unused.
  • The payload is contained in the SPE as illustrated in FIG. 10, which is a 125 msec frame structure. The illustrated UNISON-1 STS-3c SPE consists of 261 columns and 9 rows of bytes, for a total 2349 bytes. As shown in FIG. 10, [0096] column 1 preferably contains 9 bytes designated as STS Path Overhead (POH), while the remaining 2340 bytes are available for payload. The UNISON-1 STS-3c SPE begins in row 1, column 10 of the STS-3c frame. In a preferred embodiment, MPEG-2 transport packets are mapped into the UNISON-1 STS-3c SPE as illustrated in FIG. 10. As shown in FIG. 10, the Path Overhead consists of the following fields: B3 is a Bit-Interleaved Parity octet (BIP-8) for path error monitoring functions; C2 is allocated to indicate the construction and content of the STS SPE; H4 indicates the location of the start of the next MPEG-2 Systems transport packet envelope; and the remainder of the POH octets are currently unused. The MPEG-2transport packets are then mapped into the UNISON-1 STS-3c payload, as shown in FIG. 10, where the SPE payload consists of reserved (R) octets (currently unused), MPEG-2 transport packets comprising 188 octet packets combining a variety of video, audio and private data into single or multiple streams for storage or transmission, and a Reed Solomon Parity bit (P) for error correction. The Reed Solomon Parity bit is preferably calculated over the preceding MPEG-2 Systems transport packet (188 octets), where the Reed Solomon code used for the parity calculation is a code which is implemented using a symbol size (M) of 8 bits and the polynomial p(x)=x8+x7+x2+x+1 to generate a Galois Field of 256.
  • In order to keep emulation of frame bytes from occurring in the SPE, scrambling is employed. Preferably, a frame synchronous scrambler of [0097] sequence length 127 operating at the line rate is used. In a preferred embodiment, the generating polynomial is 1+x6+x7. All bits to be scrambled are added, modulo 2, to the output from the x7 position of the scrambler. Preferably, the scrambler runs continuously throughout the complete STS-3c frame illustrated in FIG. 8. However, the frame bytes and the identification bytes preferably are not scrambled.
  • Finally, concatenation refers to the transport condition of a SONET OC-N system where the entire SPE is treated as a single entity or contiguous data stream. When concatenation is implemented, the H[0098] 1 and H2 octets are assigned predefined values. Preferably, the MPEG-2 Systems transport packets are mapped into the SPE and are then passed to the digital network 70 as a single contiguous entity.
  • [0099] 4. Detailed I/O Card Implementation Examples
  • In a presently preferred embodiment of the conditional access system, the [0100] SABER 20 accepts programs over data link 40 in FDDI frames, and outputs the program with the conditional access over data link 50 in SONET-ATM frames. To maximize the data transfer rates in such a configuration, two FDDI input cards 28 a, 28 b are matched to a single SONET-ATM output card 26. Presented below are the implementation details for an exemplary input card 26 that implements FDDI to MPEG-2 mapping and an exemplary output card 28 that implements MPEG-2 to SONET-ATM mapping.
  • a. FDDI to MPEG-2 Implementation Details [0101]
  • Referring to FIG. 2A, the FDDI card is capable of accepting data over an FDDI network from a maximum of 64 programs at a combined rate of 75 Mbps. Multiple FDDI cards can be inserted into the [0102] backplane 21 to achieve the combined data rate and number of sessions desired.
  • The FDDI frames arrive over an optical fiber interface from [0103] data link 40. The standard FDDI rate of 100 Mbps is supported, although the MPEG-2 transport packets transferred to the FDDI card arrive at a combined rate of 75 Mbps. The additional bandwidth is available for overhead frame information and communication from the FDDI card 28 to the file server 60. The FDDI frames are bufferred by the FDDI Interface and DMA control section 121, which strips away the physical layer of FDDI information and transfers the FDDI payload of MPEG-2packets to the RAM buffer 123. The Session Manager and Data Pre-processor 122 replaces all of the PIDs on a per-frame basis. Additionally, the processor 122 handles communication with the FDDI Interface and DMA control section 121 to communicate with the file server 60 to maintain the FDDI link. For example, buffer overflow or underflow conditions are monitored and communicated to the file server 60 to slow down or speed up the transfers of data as needed. Buffer levels are constantly monitored. Also, a frame sequence count is monitored to ensure synchronization between the FDDI card and the file server 60. After PIDs are re-mapped, the transport packets are transferred to buffer 124.
  • A Session Buffer Management and Rate Control (SBRC) [0104] section 125 keeps track of the MPEG-2 transport packets on a per session basis. The SBRC section 125 calculates the rate at which packets should be output for each session. When a packet is due for output, it is moved to the CBI 126 for output onto the backplane 21 for delivery to the control card 22 and thereafter the conditional access card 24. In addition, the SBRC section 125 corrects the timebase of the program for variable delays experienced on the FDDI input card 28. The timebase correction is outlined in the MPEG-2 Systems Standards Reference.
  • b. MPEG-2 to SONET-ATM Implementation Details [0105]
  • An [0106] exemplary output card 26 that implements the SONET-ATM mapping is illustrated in FIG. 2B. The function of the card can be appreciated in conjunction with FIG. 5, which illustrates the mapping of MPEG-2 transport packets into ATM cells. The control processor 264 is a general purpose processor that controls the flow of information through the input card 26. The channel bank interface 262 receives MPEG-2 transport packets from the control card 22 via backplane 21. The MPEG-2 transport packets are stored in buffer 263, awaiting processing by the MPEG processor 265. The MPEG processor 265 manages the buffer 263, and passes pairs of MPEG-2 transport packets, which form an AAL 5 PDU, to the ATM segmenter and reassembler (SAR) 267. Segmentation consists of dividing the AAL 5 PDU into 48-byte blocks and adding a 5-byte header. The SAR 267 then buffers the ATM cells internally and feeds the cells as needed to the ATM framer 268.
  • Adaptation of the cell stream output from the [0107] SAR 267 is performed by the ATM framer 268, which envelops the ATM cells into SONET frames for output. The ATM framer 268 contains an elastic buffer for cell storage, calculates the ATM HEC byte, and stuffs null cells into the SONET frame when the SAR has no cells ready for transmission. The ATM framer 268 creates the OC-3c frame, and generates and inserts into the OC-3c data stream B1, B2, and B3 parity bytes. The SONET frames are then sent to the SONET OC-3c transceiver 269 for transmission over digital network 70. The transceiver includes an optical transmitter suited for transmitting an OC-3 signal of the intermediate reach class. The transmitter is driven by a 155.52 Mbps balanced PECL driver.
  • D. Control Card [0108]
  • FIG. 2D is a functional block diagram of the operation of the [0109] control card 22. The control card 22 accepts transport packets from the backplane 21 through the CBMUX 152. The CBMUX 152 polls the input cards 28 via the backplane 21 for available packets. When multiple input cards 28 are plugged into the SABER 20, the CBMUX 152 multiplexes the MPEG-2 transport packets into a single stream by polling each input card 28 successively. After a packet is retrieved from an input card 28 by the data poller 135, the packet is transferred to buffer 137, where it waits to be transferred to the conditional access card 24. MPEG-2 transport packets are then transferred via interface 150 to the conditional access card 24, where the packets are selectively encrypted as described in detail below. After the conditional access card 24 has completed its functions, the MPEG-2 transport packets are transferred back to the control card 22 via interface 150 and accepted by the data output block 139. When the SABER 20 is configured with two input cards 28 a and 28 b, the control card 22 multiplexes MPEG-2 transport packets from the respective cards together before delivering them to the conditional access card 24. The control card 22 receives provisioning information from the CAM 30 over the ethernet data link 140. The ethernet interface 136 moves the provisioned information into memory for access by the control processor 132.
  • The [0110] control card 22 multiplexes the MPEG-2transport packets of one or more programs, including transport packets containing EMMs generated by the CAM 30 and ECMs generated by the conditional access card 24 in accordance with the MPEG-2 Systems Standards Reference (ISO 13818-1). When instructed by the control processor 132, the CBMUX 152 outputs an MPEG-2 transport packet from the data output buffer 139 to the output card 26. The output card 26 then appropriately formats the data for output from the SABER 20.
  • E. Conditional Access Card [0111]
  • Conditional access is provided through the cooperation of three separate components: the conditional access manager (CAM) [0112] 30, the control card 22 and the conditional access card 24. These three components implement the improved three layer encryption scheme of the present invention for providing conditional access to the MPEG-2 transport packets of particular programs, which has been described in detail above. Data flow between the components is illustrated by reference to FIGS. 2 and 2C.
  • Non-encrypted MPEG-2 transport packets that have been removed from the network protocol in which they were received from data link [0113] 40 are transferred from the input card 28 to the control card 22 via the backplane 21. The packets are then transferred from the control card 22 to the conditional access card 24 via link 150 for encryption. Periodically, the CAM 30 provides the conditional access card 24 with an MSK used to encrypt the control words of the first level of encryption. After the conditional access card 24 encrypts the MPEG-2 transport packets using the frequently changing control words, it transfers the packets back to the control card 22 via data link 150. The control card 22 multiplexes these transport packets, along with other transport packets, to form an outgoing transport stream for transmission to an STU 90.
  • The encryption model of the present invention is illustrated in FIG. 3. That model was described in detail above. According to a preferred embodiment of the present invention, the [0114] conditional access card 24 implements the first two of the three encryption layers and the last layer is provided by the CAM 30. At the first layer, the non-encrypted transport packets enter the program encrypter 154 through data path 150. A control word (i.e., key) is provided by a random number generator 156 located on the conditional access card 24. In particular, the random number generator 156 provides a seed to the controller 157 which generates control words used to encrypt the transport packets. The random number generator 156 is implemented using a dedicated hardware device such as the NM 810 random number generator card from Newbridge Microsystems. According to the presently preferred embodiment, the program encrypter 154 uses the well-know Data Encryption Standard (DES) algorithm to encrypt the programs. To increase the robustness of the encryption algorithm against attack, the control words are changed often (e.g., every few seconds). Moreover, because the entire program must be encrypted in real-time, the encryption algorithm is implemented in hardware.
  • The control words are encrypted using the MSK received from the [0115] CAM 30. The data rates of the control words relative to the program information are relatively low. Therefore, more exhaustive encryption can be done to ensure the security of the control word encryption against attack. These control words are encrypted using Triple-DES. Because more time is available to encrypt the control words, the encryption algorithm is implemented in firmware.
  • FIG. 2C illustrates a block diagram of the internal operation of the [0116] conditional access card 24. The MPEG-2 transport packets arrive from the control card 22 over data link 150 and are bufferred in FIFO 160. The packets then travel to the packet distribution logic 163. The packet encryption processor 158 performs the control word look up on a per-packet basis and is implemented using an AM29030 RISC processor. Specifically, processor 158 retrieves a control word that corresponds to the PID of the packet to be encrypted. The control word is transferred to the packet distribution logic 163, which distributes packets and control words to the DES blocks 166.
  • Each DES block [0117] 166 receives an entire packet, determines if the packet is to be encrypted and, if so, breaks the packet into 8 byte blocks and sends the blocks to a VM009 VLSI DES chip for encryption of the MPEG-2payload 230 (see FIG. 4). After encryption, the three packets are re-multiplexed by the packet re-multiplexing logic 162, which ensures that the packets are output in the same order that they arrived. From the packet re-multiplexing logic 162, the FIFO 161 buffers packets for transmission back to the control card 22 for output onto the backplane 21.
  • A [0118] control processor 157, in cooperation with the random number generator 156, generates control words, assigns the control words to the PIDs of packets to be encrypted, and places them into the dual port RAM 151 for use by the packet encryption processor 158. The CAM 30 provides the control processor 157 over the ethernet interface 159 with information, such as the identity of PIDs that should be encrypted and updated MSKs. The control processor communicates this information to the packet encryption processor 158 via dual port RAM 151 so that the processor 158 can selectively control the encryption of program bearing transport packets. In addition, the control processor 157 in conjunction with the Triple-DES encrypter 153 encrypts the control words with the current MSK. The Triple-DES encrypter 153 comprises a VLSI VM007 encrypter chip that implements the Triple-DES encryption algorithm. The message authentication function (i.e., MD5 hashing) described in detail above is implemented by the Control Processor 157.
  • The encrypted control words are sent to the [0119] CBI 164 where they are inserted in MPEG-2 transport packets, assigned a unique PID, and transmitted over the backplane to be multiplexed into the stream of transport packets by the control card 22. The MSK is also encrypted and inserted in MPEG-2 transport packets. These transport packets are generated by the CAM 30 but are also routed through the CBI 164 of the conditional access card 24 for output onto the backplane 21. All the transport packets are multiplexed by the control card 22 to form a single outgoing transport stream.
  • V. Conditional Access Manager [0120]
  • The [0121] CAM 30 acts as the master controller of the conditional access system. It provides the connections to a variety of external components to determine all the information necessary to set-up an environment for applying conditional access. A functional block diagram of the CAM in the context of the various external components is provided in FIG. 12. As illustrated, the CAM 30 communicates with the server gateways 61 to coordinate PID assignments and to receive information concerning program conditional access requirements. Additionally, the CAM 30 communicates with the SABER 20 to provide provisioning information, such as PID re-mapping tables, and to communicate conditional access information to the STUs 90. The CAM 30 communicates with a conditional access authority 400 (i.e., a public key server) to get the public keys of the STUs 90 and the SPs 110.
  • The third level of encryption, as explained in detail above, is performed by the [0122] CAM 30. This third level is implemented using a public-key encryption algorithm. In the present embodiment all interfaces from the CAM 30 and the external components are through ethernet. However, this is merely an example and is not intended to be limiting. Any suitable interface to external components can be employed that achieves similar results. For example, a dial-up connection can provide the required link between the CAM 30 and the conditional access authority 400. A small computer systems interface can provide the connection to more proximate devices, such as the transaction encryption device 300.
  • The [0123] CAM 30 consists of a control processor 32 and memory 34 for program-related storage. Most of the functions of the CAM 30 are implemented in software. Initially, the CAM 30 is in communication with the server gateways 61, via an ethernet connection. When a server gateway 61 has received a request for a program from a customer and has received authorization for connection bandwidth from the NCMC 100, the SP 110 prepares to transmit program bearing MPEG-2 transport packets to the requesting STU 90 over the distribution system 10. In so preparing, the server gateway 61 communicates with the CAM 30 and relates information, such as which PIDs are assigned to the program and whether conditional access should be applied. After receiving the request, the CAM 30 informs the SABER 20 of the PID re-mapping and conditional access requirements of the program. The CAM 30 also provides the SABER 20 with the current MSK to be used in providing conditional access to a program. In addition to sending the MSK to the SABER 20, the CAM 30 must send the MSK to authorized STUs 90. The CAM 30 also performs the digital signature function described above.
  • To perform the encryption services, the [0124] CAM 30 includes a transaction encryption device (TED) 300 that has secured within it the private key of the SP. The CAM 30 then provides the TED 300 with the MSK. The TED 300 encrypts the MSK with the appropriate STU 90 public key and signs the hash of the MSK message with its SP private key, according to the process described in detail above and illustrated in FIG. 3B. The MSK and signed hash are then returned to the CAM 30 where it is embedded in a EMM for transmission to the STU 90 via the SABER 20.
  • In addition to sharing [0125] STUs 90, multiple SPs 110 may share a single conditional access apparatus (i.e., SABER 20 and CAM 30). Applicants have recognized that security risks are presented by such sharing. For example and as described above, as part of the conditional access system, SPs 110 must sign the message hash with a digital signature to prevent unauthorized access to the STUs 90. This is accomplished by encrypting the hash with the private key of the SP 110, which corresponds to its public key that has been provided to the STUs 90.
  • According to a preferred embodiment of the present invention, in such a shared configuration, the [0126] CAM 30 acts as a clearinghouse for all SPs 110. The CAM 30 authorizes the SPs 110 via the server gateway 61 and then the CAM 30 digitally signs all messages on behalf of the SPs 110. Accordingly, the message from the SP 110 to the CAM 30 will be hashed and signed according to a digital signature technique, similar to that illustrated in FIG. 3B. The CAM 30 will check the SP 110 signature against a corresponding public key, which the CAM 30 receives from the conditional access authority 400. If the digital signature is authentic, the connection to the STU 90 will be allowed. In transmitting MSKs to the STU 90 via an EMM, the EMM is hashed and signed with the digital signature of the CAM 30. The STU 90 will recognize this digital signature as authentic according to the method described above for the SP 110 to STU 90 digital signature. This system will allow multiple SPs 110 to share a single CAM 30 and SABER 20 by sharing a single private key. However, in such a system, the STUs 90 are unable to distinguish between SPs 110. In an environment where it is desirable for the STUs 90 to distinguish among SPs 110 a different system is necessary.
  • According to another aspect of the present invention, multiple SPs [0127] 110 can share a single CAM 30 and SABER 20 combination by each employing a separate TED 300. In such an environment, the CAM 30 communicates with the TED 300 of each SP 110 to encrypt and sign MSKs for delivery to the STUs 90. The SPs 110 can then each provide a separate public/key private key pair. In such a system, measures are taken to ensure that the private key of each SP 110 is adequately protected from discovery. Then each request by a SP 110 via a corresponding server gateway 61 would result in all encryption for that SP 110 being directed to its own TED 300. Thus, multiple SPs 110 can share a single CAM 30 and SABER 20 and the STUs 90 will still be able to distinguish between SPs 110.
  • Each [0128] STU 90 has a public key/private key pair. The private key is secured within the STU 90 in a secure processor. The associated public key is then published in a public key database server maintained by a conditional access authority 400. When an SP 110 wishes to provide conditional access to its programming for a particular STU 90, the CAM 30 looks up the public key for the STU 90 and sends the MSK to the STU 90 encrypted with the public key of that STU 90. The STU 90 can then decrypt the MSK using its corresponding private key. The CAM 30 maintains a data base of valid STU 90 public keys, which it periodically updates from the conditional access authority 400.
  • VI. An Exemplary Set Top Unit (STU) [0129]
  • FIG. 11 is a functional block diagram of an [0130] exemplary STU 90. After a NAN 80 removes the MPEG-2packets from the network protocol of the digital network 70, raw MPEG-2 transport packets are transmitted to the STU 90. The STU 90 receives the packets through its broadband interface processor 190, which negotiates the delivery of packets from the NAN 80. The broadband interface processor 190 receives instructions from the general purpose processor 193 about which packets to de-multiplex from the MPEG-2 transport packet stream. These instructions include information related to the ECMs associated with the program bearing MPEG-2 transport packets. The broadband interface processor 190 passes the associated ECMs to the secure processor 196 which performs the Triple-DES decryption of the control words carried in the ECMS and verifies that the STU 90 is authorized for the requested program service. The secure processor 196 then passes the decrypted control words back to the broadband interface processor 190 which uses them to decrypt the program.
  • The [0131] secure processor 196 also performs the decryption of the MSKs carried in EMMs. The secure processor contains the private key that corresponds to the public key of the STU 90, which the SP 110 used to encrypt the EMMs as described in detail above. Additionally, the secure processor 192 has access to the public keys of authorized SPs 110 which are contained in buffer 192. Thus, the secure processor 192 implements the reverse of the third level of encryption described in detail above and provides EMM authentication by verifying the digital signature of the EMM.
  • After the program bearing MPEG-2 transport packets are decrypted by the [0132] broadband interface processor 190, the packets are output to FIFO 191. The memory manager 194 then moves the packets to buffer 192 for access by the MPEG-2 multimedia processor 198. The transport packets are processed by the MPEG-2 multimedia processor 198 for playback on a presentation device (not shown). The presentation device may be any appropriate device, such as a television or a personal computer.
  • As the foregoing illustrates, the present invention is directed to a method and apparatus for adding conditional access in connection-oriented, interactive networks with a multiplicity of service providers. It is understood, however, that changes may be made to the embodiments described above without departing from the broad inventive concepts thereof. For example, while the present invention is described in the context of an interactive system, the same methods and apparatus would work effectively in a broadcast environment. Accordingly, this invention is not limited to the particular embodiments disclosed, but is intended to cover all modifications that are within the scope and spirit of the invention as defined by the appended claims. [0133]

Claims (52)

What is claimed:
1. In an interactive information services system for providing at least one of video, audio, and data (program) requested by a customer from a service provider (SP) and for transmitting the requested program in program bearing packets to a set top unit (STU) associated with the customer, apparatus positioned between the SP and the STU for ensuring that only the customer has access to said program, said apparatus comprising:
means for receiving program bearing packets in a first network protocol from a first data link and removing said packets from said first network protocol;
means for adding conditional access to said program bearing packets; and,
means for re-encapsulating said program bearing packets in a second network protocol and outputting said program bearing packets over a second data link.
2. An apparatus as recited in claim 1, wherein said second network protocol comprises one of said first network protocol and an other network protocol.
3. An apparatus as recited in claim 1, wherein said means for receiving program bearing packets comprises:
a receiver for receiving program bearing packets from said first data link;
a buffer for storing the received program bearing packets in said first network protocol; and, a processor for removing said program bearing packets from said network protocol in accordance with a protocol mapping function.
4. An apparatus as recited in claim 1, wherein said means for re-encapsulating said program comprises:
a processor for mapping said program bearing packets to said network protocol in accordance with a protocol mapping function;
a buffer for storing a portion of said program bearing packets in said second network protocol; and,
a transmitter for outputting said program bearing packets over said second data link.
5. An apparatus as recited in claim 1, wherein said means for applying conditional access comprises:
means for selecting program bearing packets comprising a program requested by the customer;
means for encrypting said selected program bearing packets according to a first encryption algorithm using a first key;
means for encrypting said first key according to a second encryption algorithm using a second key;
means for providing the encrypted said first key to the customer;
means for encrypting said second key according to a public-key encryption algorithm using a public key corresponding to a private key stored within the STU associated with the customer; and,
means for providing the encrypted said second key to the customer.
6. An apparatus as recited in claim 5 further comprising a means for acquiring said public-key from a public-key database maintained by a conditional access authority.
7. An apparatus as recited in claim 5, wherein said means for encrypting said selected program bearing packets comprises at least one processor implementing a DES encryption algorithm.
8. An apparatus as recited in claim 5, wherein said means for encrypting said first key comprises at least one processor implementing a Triple-DES encryption algorithm.
9. An apparatus as recited in claim 5, wherein said means for encrypting said second key comprises a processor implementing an RSA algorithm.
10. An apparatus as recited in claim 5, wherein said means for applying conditional access further comprises means for hashing said first key concatenated with said second key according to a hashing function such that the STU can determine the authenticity of said first key.
11. An apparatus as recited in claim 5, wherein said means for hashing comprises a processor implementing a Message Digest 5 hashing function.
12. An apparatus as recited in claim 5, wherein said means for applying conditional access further comprises means for providing a digital signature based on said second key concatenated with a private key corresponding to a public key associated with said SP such that the STU can verify the source of said second key.
13. An apparatus as recited in claim 12, wherein said means for providing a digital signature comprises a processor implementing an RSA algorithm.
14. An apparatus as recited in claim 12, wherein said public key and the corresponding private key are associated with a plurality of SPs.
15. An apparatus as recited in claim 1, wherein said means for applying conditional access comprises:
means for selecting program bearing packets comprising a program requested by the customer;
means for encrypting said selected program bearing packets according to a first encryption algorithm using a first key;
means for encrypting said first key according to a second encryption algorithm using a second key;
means for hashing said first key concatenated with said second key according to a hashing function such that the STU can determine the authenticity of said first key;
means for providing the encrypted said first key and the hash of said first key concatenated with said second key to the customer over the digital network;
means for encrypting said second key according to a third encryption algorithm using a third key corresponding to a private key stored within the STU associated with the customer;
means for providing a digital signature based on said second key such that the STU can verify the source of said second key; and,
means for providing the encrypted said second key and the digital signature to the customer.
16. An apparatus as recited in claim 15, wherein said means for encrypting said selected program bearing packets comprises at least one processor implementing a DES encryption algorithm.
17. An apparatus as recited in claim 15 wherein said means for encrypting said first key comprises at least one processor implementing a Triple-DES encryption algorithm.
18. An apparatus as recited in claim 15, wherein said means for hashing comprises a processor implementing a Message Digest 5 hashing function.
19. An apparatus as recited in claim 15, wherein said third encryption algorithm comprises a public-key encryption algorithm and further wherein said third key comprises a public-key corresponding to said private key stored within the STU.
20. An apparatus as recited in claim 19, wherein said means for encrypting said second key comprises a processor implementing an RSA algorithm.
21. An apparatus as recited in claim 15, wherein said means for providing a digital signature comprising a processor implementing an RSA algorithm.
22. An apparatus as recited in claim 1, wherein said first network protocol comprises one of fiber-distributed data interface (FDDI), SONET-ATM, UNISON-1, and DS-3.
23. An apparatus as recited in claim 1, wherein said second network protocol comprises one of fiber-distributed data interface (FDDI), SONET-ATM, UNISON-1, and DS-3.
24. In a digital video delivery system, wherein a plurality of programs are stored at a server in a transport packet format and delivered in a first protocol format to a network for delivery to a subscriber, a method for linking the server to the network and applying conditional access to the transport packets comprising:
selecting program bearing packets comprising a program requested by the customer;
encrypting said selected program bearing packets according to a first encryption algorithm using a first key;
encrypting said first key according to a second encryption algorithm using a second key;
providing the encrypted said first key to the customer;
encrypting said second key according to a public-key encryption algorithm using a public key corresponding to a private key stored within the STU associated with the customer; and,
providing the encrypted said second key to the customer.
25. A method as recited in claim 24 further comprising the step of acquiring said public-key from a public-key database maintained by a conditional access authority.
26. A method as recited in claim 24, wherein said step of encrypting said selected program bearing packets comprises a DES encryption algorithm.
27. A method as recited in claim 24, wherein said step of encrypting said first key comprises a Triple-DES encryption algorithm.
28. A method as recited in claim 24, wherein said step of encrypting said second key comprises an RSA algorithm.
29. A method as recited in claim 24, wherein said step of applying conditional access further comprises the step of hashing said first key concatenated with said second key according to a hashing function such that the STU can determine the authenticity of said first key.
30. A method as recited in claim 24, wherein said step of hashing comprises a Message Digest 5 hashing function.
31. A method as recited in claim 24, wherein said step of applying conditional access further comprises the step of providing a digital signature based on said second key concatenated with a private key corresponding to a public key associated with said SP such that the STU can verify the source of said second key.
32. A method as recited in claim 31, wherein said step of providing a digital signature comprises an RSA algorithm.
33. A method as recited in claim 31, wherein said public key and the corresponding private key are associated with a plurality of SPs.
34. In a digital video delivery system, wherein a plurality of programs are stored at a server in a transport packet format and delivered in a first protocol format to a network for delivery to a subscriber, a method for linking the server to the network and applying conditional access to the transport packets comprising:
receiving transport packets embedded in a first network level protocol;
removing the transport packets from said first network level protocol;
for each transport packet, determining if conditional access should be added;
applying conditional access to said packets; and,
outputting the packets in one of the first network protocol and a second network protocol.
35. In a digital information delivery system wherein a plurality of programs are stored in a transport packet format and are delivered to a network for transmission to an authorized customer, a method for applying conditional access to the transport packets comprising the steps of:
(a) selecting packets comprising a program requested by a customer;
(b) encrypting the program bearing transport packets according to a first encryption algorithm using a first key;
(c) outputting the encrypted transport packets for delivery to the authorized customer over the digital network;
(d) encrypting said first key according to a second encryption algorithm using a second key;
(e) generating a message authentication code comprising a hash of said first key and said second key according to a hashing function;
(f) providing the encrypted said first key and said message authentication code to the authorized customer ver the digital network;
(g) encrypting said second key according to a third encryption algorithm using a third key;
(h) applying a digital signature to the encrypted said second key such that the authorized customer can verify the origin of the encrypted said second key; and,
(i) providing the encrypted and digitally signed said second key to the authorized customer over the digital network.
36. A method as recited in claim 35, wherein the packets are encrypted according to a DES algorithm.
37. A method as recited in claim 35, wherein the first keys are encrypted according to a Triple-DES algorithm.
38. A method as recited in claim 35, wherein the second keys are encrypted according to a public-key cryptographic technique.
39. A method as recited in claim 38, wherein the public-key cryptographic technique implements an RSA algorithm.
40. A method as recited in claim 35, wherein the application of the message authentication code comprises the steps of
concatenating the first key and the second key; and,
hashing the concatenated keys in accordance with a hashing function to produce said message authentication code.
41. A method as recited in claim 40, wherein the hashing function comprises a Message Digest 5 function.
42. A method as recited in claim 35, wherein step (h) further comprises the steps of:
(i) hashing a message that is comprised of the second key;
(ii) encrypting the hash message with a public-key encryption algorithm using a private key associated with the SP, wherein the private key has a corresponding public key that is provided to the STU; and,
(iii) transmitting the encrypted hashed message to the authorized customer.
43. In a digital transmission system wherein groups of program bearing packets are transmitted over a digital network between a service provider at a transmission site and a customer having a reception site, a method of selectively providing conditional access to the program within said program bearing packets comprising the steps of:
at the transmission site:
(a) selecting packets bearing a particular program that are to be delivered to at least one selected customer;
(b) encrypting at least a portion of the selected packets with a first key using a first encryption algorithm;
(c) encrypting said first key with a second key using a second encryption algorithm;
(d) generating a message authentication code for the first key comprising a hash of a concatenation of said second key with said first key according to a hashing function;
(e) generating an entitlement control message comprising a concatenation of said message authentication code and said first key;
(f) generating a digital signature for said second key comprising a hash of said second key according to a hashing function and encrypting said hash of said second key with a private key associated with the SP, said private key having a public-key counterpart, in accordance with a public key encryption algorithm;
(g) forming an entitlement management message comprising said encrypted key and said digital signature;
(h) encrypting at least a portion of said entitlement management message with a public key according to a public-key encryption algorithm, wherein said public key is associated with said at least one selected customer;
(i) multiplexing said selected program bearing packets, said entitlement control messages, and said entitlement management message into said digital network for reception by said at least one customer's reception site;
at the reception site:
(j) receiving said selected program bearing packets, said entitlement control messages, and said entitlement management messages at said at least one customer's reception site;
(k) recovering said second key from said entitlement management message by:
decrypting said encrypted portion of said entitlement management message using a private-key corresponding to said public key associated with said at least one selected customer;
retrieving said digital signature portion and decrypting said digital signature portion with a public-key counterpart to said private key associated with the SP;
retrieving said second key and hashing said second key;
authenticating said second key when said digital signature is equivalent to said hashed second key;
(l) recovering said first key from said entitlement control messages by:
decrypting said first key with said second key;
concatenating said first key and said second key;
generating a hash value by hashing said concatenated first key and said second key;
authenticating said first key when said hash value is equivalent to said message authentication code contained in said entitlement control message; and,
(m) decrypting said selected packets bearing said particular program with said first key.
44. A method as recited in claim 43 further comprising the step of, at the transmission site, acquiring the public-key corresponding to said at least one customer from a public-key database maintained by a conditional access authority.
45. A method as recited in claim 43, wherein said first encryption algorithm comprises a DES encryption algorithm.
46. A method as recited in claim 43, wherein said second encryption algorithm comprises a Triple-DES encryption algorithm.
47. A method as recited in claim 43, wherein said public-key encryption algorithm comprises an RSA encryption algorithm.
48. A method as recited in claim 43, wherein said hashing function comprises a Message Digest 5 hashing function.
49. A method as recited in claim 43 further comprising the step of periodically changing said first key.
50. A method as recited in claim 43 further comprising the step of periodically changing said second key.
51. In a digital transmission system wherein a plurality of service providers (SPs) transmit program bearing packets over a digital network for delivery to at least one selected customer, wherein the SPs add conditional access levels to program bearing packets by (a) encrypting a portion of said program packets with a first key using a first encryption algorithm; (b) encrypting said first key with a second key using a second encryption algorithm; (c) encrypting a portion of the second key with a public key using a public-key encryption algorithm, wherein said public key is associated with said at least one selected customer and wherein said public key has a private key counterpart; and, (d) providing said program bearing packets, said first key, and said second key to said at least one customer, a method of recovering the program bearing packets at said at least one customer's reception site, comprising the steps of:
(a) receiving said selected program bearing packets, said first key, and said second key at said at least one customer's reception site;
(b) decrypting the encrypted said second key using said private-key corresponding to said public key associated with said at least one selected;
(c) decrypting said first key with said second key; and,
(d) recovering said program bearing packets by decrypting said encrypted portion of said program bearing packets with said first key.
52. In a digital transmission system wherein a plurality of service providers (SPs) transmit program bearing packets over a digital network for delivery to at least one selected customer, wherein the plurality of SPs add conditional access levels to program bearing packets by (a) encrypting a portion of said program packets with a first key using a first encryption algorithm; (b) encrypting said first key with a second key using a second encryption algorithm and appending a message authentication code to said first key; (c) encrypting a portion of the second key with a public key using a public-key encryption algorithm, wherein said public key is associated with said at least one selected customer and wherein said public key has a private key counterpart, and appending a digital signature to said second key; and, (d) providing said program bearing packets, said first key and said appended message authentication code, and said second key and said appended digital signature to said at least one customer, a method of recovering the program bearing packets by said at least one customer's reception site, comprising the steps of:
(a) receiving said selected program bearing packets, said first key and said appended message authentication code, and said second key and said appended digital signature at said at least one customer's reception site;
(b) decrypting the encrypted said second key using a private-key corresponding to said public key associated with said at least one selected customer with said inverse of said public-key encryption algorithm;
(c) authenticating said second key for use in decryption by matching the appended digital signature with a digital signature stored at the customer's reception site that corresponds to at least one of said plurality of SPs;
(d) decrypting said first key with said second key;
(e) authenticating said first key for use in decryption by matching the appended message authentication code with a message authentication code generated at the customer's reception site; and,
(f) decrypting said encrypted portion of said program bearing packets with said first key.
US09/135,615 1995-12-04 1998-08-18 Method and apparatus for providing conditional access in connection-oriented interactive networks with a multiplicity of service providers Expired - Lifetime US6424714B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/135,615 US6424714B1 (en) 1995-12-04 1998-08-18 Method and apparatus for providing conditional access in connection-oriented interactive networks with a multiplicity of service providers

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US796295P 1995-12-04 1995-12-04
US08/580,759 US5870474A (en) 1995-12-04 1995-12-29 Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers
US09/135,615 US6424714B1 (en) 1995-12-04 1998-08-18 Method and apparatus for providing conditional access in connection-oriented interactive networks with a multiplicity of service providers

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US08/580,759 Continuation US5870474A (en) 1966-12-16 1995-12-29 Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers

Publications (2)

Publication Number Publication Date
US20020094084A1 true US20020094084A1 (en) 2002-07-18
US6424714B1 US6424714B1 (en) 2002-07-23

Family

ID=26677571

Family Applications (2)

Application Number Title Priority Date Filing Date
US08/580,759 Expired - Lifetime US5870474A (en) 1966-12-16 1995-12-29 Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers
US09/135,615 Expired - Lifetime US6424714B1 (en) 1995-12-04 1998-08-18 Method and apparatus for providing conditional access in connection-oriented interactive networks with a multiplicity of service providers

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US08/580,759 Expired - Lifetime US5870474A (en) 1966-12-16 1995-12-29 Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers

Country Status (1)

Country Link
US (2) US5870474A (en)

Cited By (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020188567A1 (en) * 1999-11-09 2002-12-12 Sony Corporation Method for simulcrypting scrambled data to a plurality of conditional access devices
US20030149986A1 (en) * 1999-08-10 2003-08-07 Mayfield William W. Security system for defeating satellite television piracy
US20030221100A1 (en) * 2002-05-24 2003-11-27 Russ Samuel H. Apparatus for entitling remote client devices
US20030233515A1 (en) * 2002-06-14 2003-12-18 Integrated Device Technology, Inc. Hardware hashing of an input of a content addressable memory (CAM) to emulate a wider CAM
US20040068659A1 (en) * 2000-08-04 2004-04-08 Eric Diehl Method for secure distribution of digital data representing a multimedia content
EP1427210A1 (en) * 2002-12-04 2004-06-09 Irdeto Access B.V. Terminal, data distribution system comprising such a terminal and method of re-transmitting digital data
US20040128665A1 (en) * 2001-04-19 2004-07-01 Emmanuel Gouleau Method and system of conditional access to ip service
US20040139027A1 (en) * 2003-01-13 2004-07-15 Sony Corporation Real-time delivery of license for previously stored encrypted content
US20040158721A1 (en) * 1999-03-30 2004-08-12 Candelore Brant L. System, method and apparatus for secure digital content transmission
US20040181666A1 (en) * 2001-06-06 2004-09-16 Candelore Brant L. IP delivery of secure digital content
US20040237100A1 (en) * 2002-05-24 2004-11-25 Pinder Howard G. Validating client-receivers
US20040252721A1 (en) * 2003-06-16 2004-12-16 International Business Machines Corporation Bundled internet protocol packets
EP1511316A1 (en) * 2003-08-27 2005-03-02 PCCW-HKT DataCom Services Limited Digital multicast system
US6871355B1 (en) * 1999-04-09 2005-03-22 Pioneer Corporation Conditional access system of CATV
US20050114698A1 (en) * 2002-01-28 2005-05-26 Jean-Pierre Vigarie Remote control protocol for a local action to generate a command message
US20050209972A1 (en) * 2004-03-22 2005-09-22 Ulf Bjorkengren System and method for digital rights management of electronic content
US20050226415A1 (en) * 1997-06-11 2005-10-13 Tatsuya Kubota Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US20050226417A1 (en) * 1997-06-11 2005-10-13 Tatsuya Kubota Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US20060041510A1 (en) * 2004-08-19 2006-02-23 Securemedia International Method for a secure system of content distribution for DVD applications
US20060045273A1 (en) * 2004-08-31 2006-03-02 Michael Mayer Method and system for transmitting signaling information over a data transport network
WO2006044765A2 (en) * 2004-10-18 2006-04-27 Syphermedia International, Inc. Method and apparatus for supporting multiple broadcasters independently using a single conditional access system
US20060095654A1 (en) * 2004-11-02 2006-05-04 Integrated Device Technology, Inc. Fast collision detection for a hashed content addressable memory (CAM) using a random access memory
US20060101494A1 (en) * 2002-12-06 2006-05-11 Thomson Licensing S.A. Method and system for premium channel and pay per view video resell
US20060256815A1 (en) * 1999-06-15 2006-11-16 Ssh Communications Security Ltd Method and arrangement for providing security through network address translations using tunneling and compensations
US7171439B2 (en) 2002-06-14 2007-01-30 Integrated Device Technology, Inc. Use of hashed content addressable memory (CAM) to accelerate content-aware searches
US20070143784A1 (en) * 1997-06-11 2007-06-21 Tatsuya Kubota Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US7254236B1 (en) * 1999-10-06 2007-08-07 Thomson Licensing Method and system for handling two CA systems in a same receiver
US20070242825A1 (en) * 2004-01-16 2007-10-18 Kahn Raynold M Distribution of video content using a trusted network key for sharing content
US20070245024A1 (en) * 2006-04-17 2007-10-18 Prus Bohdan S Systems and methods for prioritizing the storage location of media data
US20070250912A1 (en) * 2006-04-20 2007-10-25 Widevine Technologies, Inc. Enabling transferable entitlements between networked devices
US20070258596A1 (en) * 2004-01-16 2007-11-08 Kahn Raynold M Distribution of broadcast content for remote decryption and viewing
US20070286422A1 (en) * 2006-05-26 2007-12-13 Syphermedia International Method and apparatus for supporting broadcast efficiency and security enhancements
US20080002951A1 (en) * 2006-06-30 2008-01-03 Scientific-Atlanta, Inc. Digital Media Device Having Media Content Transfer Capability
US20080008321A1 (en) * 2006-07-10 2008-01-10 Syphermedia International, Inc. Conditional access enhancements using an always-on satellite backchannel link
US20080022304A1 (en) * 2006-06-30 2008-01-24 Scientific-Atlanta, Inc. Digital Media Device Having Selectable Media Content Storage Locations
WO2008014328A2 (en) * 2006-07-25 2008-01-31 Pivx Solutions, Inc. Systems and methods for digitally-signed updates
US20080089516A1 (en) * 2006-10-13 2008-04-17 Syphermedia International, Inc. Method and apparatus for providing secure internet protocol media services
US20080104403A1 (en) * 2006-09-29 2008-05-01 Shay Gueron Methods and apparatus for data authentication with multiple keys
US7409541B1 (en) * 1998-12-14 2008-08-05 Comverse France Sa Method of transporting packets between an access interface of a subscriber installation and a shared network, and access interface implementing such method
US20080279386A1 (en) * 2001-09-21 2008-11-13 The Directv Group, Inc. Method and apparatus for encrypting media programs for later purchase and viewing
US7530108B1 (en) * 2003-09-15 2009-05-05 The Directv Group, Inc. Multiprocessor conditional access module and method for using the same
US7552457B2 (en) 2003-02-12 2009-06-23 Irdeto Access B.V. Method of controlling descrambling of a plurality of program transport streams, receiver system and portable secure device
US20090268740A1 (en) * 1996-12-16 2009-10-29 Juniper Networks, Inc. Memory organization in a switching device
US7711115B2 (en) * 2002-11-05 2010-05-04 Sony Corporation Descrambler
US7730300B2 (en) 1999-03-30 2010-06-01 Sony Corporation Method and apparatus for protecting the transfer of data
US20100195832A1 (en) * 2007-06-14 2010-08-05 Zte Corporation Method and a system for transmitting an encrypted control message based on mobile multimedia broadcast
US7804958B2 (en) 2000-07-21 2010-09-28 The Directv Group, Inc. Super encrypted storage and retrieval of media programs with smartcard generated keys
US20110013639A1 (en) * 2009-07-14 2011-01-20 Broadcom Corporation Flow based path selection randomization using parallel hash functions
US20110013638A1 (en) * 2009-07-14 2011-01-20 Broadcom Corporation Node based path selection randomization
US20110238991A1 (en) * 2008-12-01 2011-09-29 Robert Schipper Content decryption device and encryption system using an additional key layer
US20110317547A1 (en) * 2009-03-13 2011-12-29 Thales Method and device for the reliable transmission of data packet flows with compressed headers without increasing the flow rate
US8140859B1 (en) 2000-07-21 2012-03-20 The Directv Group, Inc. Secure storage and replay of media programs using a hard-paired receiver and storage device
US20120266053A1 (en) * 2011-04-18 2012-10-18 UPINES Co. Ltd. Security communication method between devices
US20130070923A1 (en) * 2011-09-21 2013-03-21 Samsung Electronics Co., Ltd. Server, client device, method for generating a transport stream thereof and processing the transport stream thereof
US8572408B2 (en) 2002-11-05 2013-10-29 Sony Corporation Digital rights management of a digital device
US8645988B2 (en) 2002-12-13 2014-02-04 Sony Corporation Content personalization for digital content
US8667525B2 (en) 2002-12-13 2014-03-04 Sony Corporation Targeted advertisement selection from a digital stream
US20140281537A1 (en) * 2013-03-15 2014-09-18 General Instrument Corporation Protection of control words employed by conditional access systems
US20150121525A1 (en) * 2013-10-28 2015-04-30 At&T Intellectual Property I, L.P. Filtering Network Traffic Using Protected Filtering Mechanisms
US9137480B2 (en) 2006-06-30 2015-09-15 Cisco Technology, Inc. Secure escrow and recovery of media device content keys
US9277259B2 (en) 2006-10-13 2016-03-01 Syphermedia International, Inc. Method and apparatus for providing secure internet protocol media services
US9277295B2 (en) 2006-06-16 2016-03-01 Cisco Technology, Inc. Securing media content using interchangeable encryption key
US9325944B2 (en) 2005-08-11 2016-04-26 The Directv Group, Inc. Secure delivery of program content via a removable storage medium
US9767284B2 (en) 2012-09-14 2017-09-19 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US9767271B2 (en) 2010-07-15 2017-09-19 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US20180075262A1 (en) * 2016-09-15 2018-03-15 Nuts Holdings, Llc Nuts
US10477151B2 (en) 2004-10-18 2019-11-12 Inside Secure Method and apparatus for supporting multiple broadcasters independently using a single conditional access system
US10977631B2 (en) 2006-05-15 2021-04-13 The Directv Group, Inc. Secure content transfer systems and methods to operate the same
US11558192B2 (en) 2020-04-09 2023-01-17 Nuts Holdings, Llc NUTS: flexible hierarchy object graphs

Families Citing this family (367)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292568B1 (en) 1966-12-16 2001-09-18 Scientific-Atlanta, Inc. Representing entitlements to service in a conditional access system
US5637469A (en) * 1992-05-01 1997-06-10 Trustees Of The University Of Pennsylvania Methods and apparatus for the detection of an analyte utilizing mesoscale flow systems
US7168084B1 (en) 1992-12-09 2007-01-23 Sedna Patent Services, Llc Method and apparatus for targeting virtual objects
US9286294B2 (en) 1992-12-09 2016-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content suggestion engine
US6473860B1 (en) 1994-04-07 2002-10-29 Hark C. Chan Information distribution and processing system
US7991347B1 (en) * 1994-04-07 2011-08-02 Data Innovation Llc System and method for accessing set of digital data at a remote site
US7181758B1 (en) * 1994-07-25 2007-02-20 Data Innovation, L.L.C. Information distribution and processing system
US5745569A (en) * 1996-01-17 1998-04-28 The Dice Company Method for stega-cipher protection of computer code
US7362775B1 (en) * 1996-07-02 2008-04-22 Wistaria Trading, Inc. Exchange mechanisms for digital information packages with bandwidth securitization, multichannel digital watermarks, and key management
US8548166B2 (en) 1995-04-03 2013-10-01 Anthony J. Wasilewski Method for partially encrypting program data
US6424717B1 (en) 1995-04-03 2002-07-23 Scientific-Atlanta, Inc. Encryption devices for use in a conditional access system
US6246767B1 (en) 1995-04-03 2001-06-12 Scientific-Atlanta, Inc. Source authentication of download information in a conditional access system
US6252964B1 (en) * 1995-04-03 2001-06-26 Scientific-Atlanta, Inc. Authorization of services in a conditional access system
US20040136532A1 (en) * 1995-04-03 2004-07-15 Pinder Howard G. Partial dual-encrypted stream utilizing program map tables
US6937729B2 (en) * 1995-04-03 2005-08-30 Scientific-Atlanta, Inc. Representing entitlements to service in a conditional access system
US7224798B2 (en) * 1995-04-03 2007-05-29 Scientific-Atlanta, Inc. Methods and apparatus for providing a partial dual-encrypted stream in a conditional access overlay system
US6560340B1 (en) 1995-04-03 2003-05-06 Scientific-Atlanta, Inc. Method and apparatus for geographically limiting service in a conditional access system
US5613004A (en) * 1995-06-07 1997-03-18 The Dice Company Steganographic method and device
CA2179223C (en) * 1995-06-23 2009-01-06 Manfred Von Willich Method and apparatus for controlling the operation of a signal decoder in a broadcasting system
GB9603582D0 (en) 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
JP2000503154A (en) * 1996-01-11 2000-03-14 エムアールジェイ インコーポレイテッド System for controlling access and distribution of digital ownership
US6205249B1 (en) * 1998-04-02 2001-03-20 Scott A. Moskowitz Multiple transform utilization and applications for secure digital watermarking
US7664263B2 (en) 1998-03-24 2010-02-16 Moskowitz Scott A Method for combining transfer functions with predetermined key creation
US6041345A (en) * 1996-03-08 2000-03-21 Microsoft Corporation Active stream format for holding multiple media streams
HRP970160A2 (en) * 1996-04-03 1998-02-28 Digco B V Method for providing a secure communication between two devices and application of this method
WO1997042762A2 (en) * 1996-05-06 1997-11-13 Philips Electronics N.V. Security device managed access to information
US7095874B2 (en) * 1996-07-02 2006-08-22 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US5889868A (en) * 1996-07-02 1999-03-30 The Dice Company Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7346472B1 (en) 2000-09-07 2008-03-18 Blue Spike, Inc. Method and device for monitoring and analyzing signals
US7457962B2 (en) 1996-07-02 2008-11-25 Wistaria Trading, Inc Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7177429B2 (en) 2000-12-07 2007-02-13 Blue Spike, Inc. System and methods for permitting open access to data objects and for securing data within the data objects
US7159116B2 (en) * 1999-12-07 2007-01-02 Blue Spike, Inc. Systems, methods and devices for trusted transactions
FR2751154B1 (en) * 1996-07-15 1998-09-11 Schlumberger Ind Sa INFORMATION DIVERSIFICATION SYSTEM IN A PRODUCT OR SERVICE DISTRIBUTION NETWORK
US7730317B2 (en) * 1996-12-20 2010-06-01 Wistaria Trading, Inc. Linear predictive coding implementation of digital watermarks
GB9704630D0 (en) * 1997-03-06 1997-04-23 Lsi Logic Corp Digital video broadcasting
US6229808B1 (en) * 1997-03-07 2001-05-08 Advanced Micro Devices, Inc. Method of communication for a computer using packet switches for internal data transfer
EP0866611A1 (en) * 1997-03-21 1998-09-23 CANAL+ Société Anonyme Broadcast receiving system comprising a computer and a decoder
DE19727267A1 (en) * 1997-06-26 1999-01-07 Siemens Ag Method and computer system for coding a digital message, for transmitting the message from a first computer unit to a second computer unit and for decoding the message
JP2982750B2 (en) * 1997-07-09 1999-11-29 日本電気株式会社 Digital information processing device
US7515712B2 (en) 1997-08-01 2009-04-07 Cisco Technology, Inc. Mechanism and apparatus for encapsulation of entitlement authorization in conditional access system
US6684198B1 (en) * 1997-09-03 2004-01-27 Sega Enterprises, Ltd. Program data distribution via open network
US6064736A (en) * 1997-09-15 2000-05-16 International Business Machines Corporation Systems, methods and computer program products that use an encrypted session for additional password verification
GB2329550A (en) * 1997-09-22 1999-03-24 Northern Telecom Ltd Transporting multi-protocol datagrams over an asynchronous virtual channel
US6263443B1 (en) * 1997-10-11 2001-07-17 Agere Systems Guardian Corp. Simplified data link protocol processor
KR100252972B1 (en) * 1997-12-31 2000-04-15 구자홍 Conditional access system
DE69933811T2 (en) * 1998-04-24 2007-08-30 Sony United Kingdom Ltd., Weybridge Digital multimedia receiver and such a receiver comprehensive network with IEEE 1394 serial bus interface
GB9809685D0 (en) * 1998-05-06 1998-07-01 Sony Uk Ltd Ncam AV/C CTS subunit proposal
US8584255B2 (en) * 1999-05-05 2013-11-12 Sony United Kingdom Limited Networked conditional access module
US8813137B2 (en) * 1998-05-08 2014-08-19 Qualcomm Incorporated Apparatus and method for decoding digital image and audio signals
US6256393B1 (en) * 1998-06-23 2001-07-03 General Instrument Corporation Authorization and access control of software object residing in set-top terminals
CN1146235C (en) * 1998-07-17 2004-04-14 汤姆森许可公司 Conditional access system for broadcast digital TV.
JP4605902B2 (en) 1998-07-23 2011-01-05 コムキャスト アイピー ホールディングス アイ, エルエルシー Interactive user interface
US6584153B1 (en) 1998-07-23 2003-06-24 Diva Systems Corporation Data structure and methods for providing an interactive program guide
US6754905B2 (en) 1998-07-23 2004-06-22 Diva Systems Corporation Data structure and methods for providing an interactive program guide
US7091968B1 (en) * 1998-07-23 2006-08-15 Sedna Patent Services, Llc Method and apparatus for encoding a user interface
US9924234B2 (en) 1998-07-23 2018-03-20 Comcast Ip Holdings I, Llc Data structure and methods for providing an interactive program
EP0984629B1 (en) 1998-09-01 2006-05-03 Irdeto Access B.V. System for broadcasting data signals in a secure manner
EP0984630B1 (en) 1998-09-01 2006-08-23 Irdeto Access B.V. Data communication system
KR100484209B1 (en) * 1998-09-24 2005-09-30 삼성전자주식회사 Digital Content Encryption / Decryption Device and Method
US6289381B1 (en) * 1998-11-20 2001-09-11 Qwest Communications International Inc. Video and data communication system having downstream network interface entitlement profile for restricting transmission to selection device
US6732370B1 (en) * 1998-11-30 2004-05-04 Diva Systems Corporation Service provider side interactive program guide encoder
US6944299B1 (en) * 1998-12-02 2005-09-13 At&T Wireless Services, Inc. Method for synchronous encryption over a communication medium
US6768736B1 (en) 1998-12-30 2004-07-27 Nortel Networks Limited Using an ATM switch to grow the capacity of a switching stage
US6885661B1 (en) 1998-12-30 2005-04-26 Nortel Networks Limited Private branch exchange built using an ATM Network
US6804229B2 (en) 1998-12-30 2004-10-12 Nortel Networks Limited Multiple node network architecture
US6778538B2 (en) 1998-12-30 2004-08-17 Nortel Networks Limited Virtual junctors
US6788703B2 (en) * 1998-12-30 2004-09-07 Nortel Networks Limited DS0 on ATM, mapping and handling
US6600908B1 (en) 1999-02-04 2003-07-29 Hark C. Chan Method and system for broadcasting and receiving audio information and associated audio indexes
EP1026898A1 (en) * 1999-02-04 2000-08-09 CANAL+ Société Anonyme Method and apparatus for encrypted transmission
JP4356131B2 (en) * 1999-02-19 2009-11-04 ソニー株式会社 Digital broadcast transmission method and digital broadcast transmission apparatus
EP1169856B1 (en) * 1999-03-15 2004-09-22 Thomson Licensing S.A. A global copy protection system for digital home networks
US7664264B2 (en) 1999-03-24 2010-02-16 Blue Spike, Inc. Utilizing data reduction in steganographic and cryptographic systems
US7245707B1 (en) * 1999-03-26 2007-07-17 Chan Hark C Data network based telephone messaging system
US6697489B1 (en) * 1999-03-30 2004-02-24 Sony Corporation Method and apparatus for securing control words
JP3816689B2 (en) * 1999-03-31 2006-08-30 株式会社東芝 Information distribution apparatus, information reception apparatus, and communication method
FR2792482A1 (en) * 1999-04-13 2000-10-20 Thomson Multimedia Sa LOCAL DIGITAL NETWORK, ESPECIALLY DOMESTIC DIGITAL NETWORK, AND METHOD FOR CREATING AND UPDATING SUCH A NETWORK
US6904610B1 (en) * 1999-04-15 2005-06-07 Sedna Patent Services, Llc Server-centric customized interactive program guide in an interactive television environment
US6704359B1 (en) 1999-04-15 2004-03-09 Diva Systems Corp. Efficient encoding algorithms for delivery of server-centric interactive program guide
US6614843B1 (en) 1999-04-15 2003-09-02 Diva Systems Corporation Stream indexing for delivery of interactive program guide
US6651252B1 (en) 1999-10-27 2003-11-18 Diva Systems Corporation Method and apparatus for transmitting video and graphics in a compressed form
US7096487B1 (en) 1999-10-27 2006-08-22 Sedna Patent Services, Llc Apparatus and method for combining realtime and non-realtime encoded content
US6621870B1 (en) 1999-04-15 2003-09-16 Diva Systems Corporation Method and apparatus for compressing video sequences
US6754271B1 (en) 1999-04-15 2004-06-22 Diva Systems Corporation Temporal slice persistence method and apparatus for delivery of interactive program guide
JP4201430B2 (en) * 1999-04-16 2008-12-24 富士通株式会社 Optical subscriber line termination equipment
JP2001016195A (en) * 1999-04-27 2001-01-19 Matsushita Electric Ind Co Ltd Information utilization controller
US6792615B1 (en) * 1999-05-19 2004-09-14 New Horizons Telecasting, Inc. Encapsulated, streaming media automation and distribution system
FR2794595B1 (en) * 1999-06-03 2002-03-15 Gemplus Card Int PRE-CHECKING A PROGRAM IN AN ADDITIONAL CHIP CARD OF A TERMINAL
FI107486B (en) * 1999-06-04 2001-08-15 Nokia Networks Oy Providing authentication and encryption in a mobile communication system
US7660986B1 (en) * 1999-06-08 2010-02-09 General Instrument Corporation Secure control of security mode
US7607022B1 (en) * 1999-06-11 2009-10-20 General Instrument Corporation Configurable encryption/decryption for multiple services support
US8255956B2 (en) * 1999-06-28 2012-08-28 Cox Communications, Inc. System and method for delivery of short-time duration video segments
US7328457B1 (en) * 1999-06-30 2008-02-05 Entrust Limited Method and apparatus for preventing interception of input data to a software application
US7996670B1 (en) 1999-07-08 2011-08-09 Broadcom Corporation Classification engine in a cryptography acceleration chip
US20030014627A1 (en) * 1999-07-08 2003-01-16 Broadcom Corporation Distributed processing in a cryptography acceleration chip
US6477646B1 (en) * 1999-07-08 2002-11-05 Broadcom Corporation Security chip architecture and implementations for cryptography acceleration
US7475246B1 (en) 1999-08-04 2009-01-06 Blue Spike, Inc. Secure personal content server
US7065216B1 (en) * 1999-08-13 2006-06-20 Microsoft Corporation Methods and systems of protecting digital content
US6886098B1 (en) * 1999-08-13 2005-04-26 Microsoft Corporation Systems and methods for compression of key sets having multiple keys
AU6640500A (en) * 1999-08-13 2001-03-19 Microsoft Corporation Methods and systems of protecting digital content
US7581110B1 (en) * 1999-08-25 2009-08-25 Nokia Corporation Key distribution for encrypted broadcast data using minimal system bandwidth
CN1296846C (en) * 1999-08-27 2007-01-24 索尼公司 Information transmission system, transmitter, and transmission method as well as information reception system, receiver and reception method
US6715076B1 (en) * 1999-10-21 2004-03-30 Koninklijke Philips Electronics N.V. Video signal authentication system
US9094727B1 (en) 1999-10-27 2015-07-28 Cox Communications, Inc. Multi-functional user interface using slice-based encoding
DE60034364D1 (en) * 1999-10-27 2007-05-24 Sedna Patent Services Llc MULTIPLE VIDEO DRIVES USING SLICE BASED CODING
US8055894B2 (en) 1999-11-09 2011-11-08 Google Inc. Process and streaming server for encrypting a data stream with bandwidth based variation
US6449719B1 (en) 1999-11-09 2002-09-10 Widevine Technologies, Inc. Process and streaming server for encrypting a data stream
US6771776B1 (en) * 1999-11-11 2004-08-03 Qualcomm Incorporated Method and apparatus for re-synchronization of a stream cipher during handoff
US6985589B2 (en) * 1999-12-02 2006-01-10 Qualcomm Incorporated Apparatus and method for encoding and storage of digital image and audio signals
US6834110B1 (en) * 1999-12-09 2004-12-21 International Business Machines Corporation Multi-tier digital TV programming for content distribution
US6671771B2 (en) * 1999-12-21 2003-12-30 Intel Corporation Hash CAM having a reduced width comparison circuitry and its application
JP4880158B2 (en) * 1999-12-22 2012-02-22 イルデト アイントホーフェン ベー フェー Conditional access system that controls access to data content
FR2803160B1 (en) * 1999-12-22 2002-12-13 Scm Schneider Microsysteme INTERFACING MODULE FOR A HOST SUCH AS A DECODER, DECODER INCORPORATING THE SAME, AND INFORMATION PROCESSING METHOD FOR A HOST
AU2001232794A1 (en) * 2000-01-14 2001-07-24 Diva Systems Corporation Conditional access and security for video on-demand systems
US7225164B1 (en) * 2000-02-15 2007-05-29 Sony Corporation Method and apparatus for implementing revocation in broadcast networks
US7062648B2 (en) * 2000-02-18 2006-06-13 Avamar Technologies, Inc. System and method for redundant array network storage
US7509420B2 (en) * 2000-02-18 2009-03-24 Emc Corporation System and method for intelligent, globally distributed network storage
US8095956B1 (en) * 2000-02-25 2012-01-10 Qwest Communications International Inc Method and system for providing interactive programming
JP3864675B2 (en) * 2000-03-09 2007-01-10 株式会社日立製作所 Common key encryption device
US6286049B1 (en) * 2000-03-24 2001-09-04 Covad Communications Group, Inc. System and method for providing broadband content to high-speed access subscribers
US7266681B1 (en) * 2000-04-07 2007-09-04 Intertrust Technologies Corp. Network communications security agent
US7177421B2 (en) * 2000-04-13 2007-02-13 Broadcom Corporation Authentication engine architecture and method
US7076651B2 (en) * 2000-05-01 2006-07-11 Safenet, Inc. System and method for highly secure data communications
US7962414B1 (en) 2000-05-11 2011-06-14 Thomson Licensing Method and system for controlling and auditing content/service systems
KR100354488B1 (en) * 2000-06-16 2002-10-11 주식회사 이플래닛 Apparatus for and method of preventing illegal reproduction/distribution of digital goods by use of physical goods
US20030206631A1 (en) * 2000-06-22 2003-11-06 Candelore Brant L. Method and apparatus for scrambling program data for furture viewing
US20040205812A1 (en) * 2000-06-22 2004-10-14 Candelore Brant L. Method and apparatus for routing program data in a program viewing unit
US7203311B1 (en) * 2000-07-21 2007-04-10 The Directv Group, Inc. Super encrypted storage and retrieval of media programs in a hard-paired receiver and storage device
US7373507B2 (en) * 2000-08-10 2008-05-13 Plethora Technology, Inc. System and method for establishing secure communication
US7165175B1 (en) * 2000-09-06 2007-01-16 Widevine Technologies, Inc. Apparatus, system and method for selectively encrypting different portions of data sent over a network
US20040243540A1 (en) * 2000-09-07 2004-12-02 Moskowitz Scott A. Method and device for monitoring and analyzing signals
US8037492B2 (en) 2000-09-12 2011-10-11 Thomson Licensing Method and system for video enhancement transport alteration
US7127615B2 (en) 2000-09-20 2006-10-24 Blue Spike, Inc. Security based on subliminal and supraliminal channels for data objects
US7277542B2 (en) * 2000-09-25 2007-10-02 Broadcom Corporation Stream cipher encryption application accelerator and methods thereof
US20020061107A1 (en) * 2000-09-25 2002-05-23 Tham Terry K. Methods and apparatus for implementing a cryptography engine
US20020078342A1 (en) * 2000-09-25 2002-06-20 Broadcom Corporation E-commerce security processor alignment logic
US6823453B1 (en) * 2000-10-06 2004-11-23 Hewlett-Packard Development Company, L.P. Apparatus and method for implementing spoofing-and replay-attack-resistant virtual zones on storage area networks
CN1202643C (en) * 2000-10-07 2005-05-18 Lg电子株式会社 Radio communication system with radio chain-circuit control layer and data processing method
US7080397B2 (en) * 2000-10-26 2006-07-18 General Instrument Corporation Communication protocol for content on demand system with callback time
US7660902B2 (en) * 2000-11-20 2010-02-09 Rsa Security, Inc. Dynamic file access control and management
US20020112175A1 (en) * 2000-12-13 2002-08-15 Makofka Douglas S. Conditional access for functional units
US7150045B2 (en) * 2000-12-14 2006-12-12 Widevine Technologies, Inc. Method and apparatus for protection of electronic media
US7299355B2 (en) * 2001-01-12 2007-11-20 Broadcom Corporation Fast SHA1 implementation
US6847659B2 (en) * 2001-03-07 2005-01-25 General Instrument Corporation Methods and apparatus for reconfiguring protocol data when reducing multiplexed data streams
US20020146125A1 (en) * 2001-03-14 2002-10-10 Ahmet Eskicioglu CA system for broadcast DTV using multiple keys for different service providers and service areas
US8098820B2 (en) * 2001-03-14 2012-01-17 Thomson Licensing Conditional access system for broadcast digital television
US7043637B2 (en) * 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
US9100457B2 (en) * 2001-03-28 2015-08-04 Qualcomm Incorporated Method and apparatus for transmission framing in a wireless communication system
US8077679B2 (en) * 2001-03-28 2011-12-13 Qualcomm Incorporated Method and apparatus for providing protocol options in a wireless communication system
US8121296B2 (en) * 2001-03-28 2012-02-21 Qualcomm Incorporated Method and apparatus for security in a data processing system
US7693508B2 (en) * 2001-03-28 2010-04-06 Qualcomm Incorporated Method and apparatus for broadcast signaling in a wireless communication system
EP1374440B1 (en) * 2001-03-28 2011-05-04 Qualcomm Incorporated Power control for point-to-multipoint services provided in communication systems
US7124303B2 (en) * 2001-06-06 2006-10-17 Sony Corporation Elementary stream partial encryption
US7895616B2 (en) * 2001-06-06 2011-02-22 Sony Corporation Reconstitution of program streams split across multiple packet identifiers
US7350082B2 (en) * 2001-06-06 2008-03-25 Sony Corporation Upgrading of encryption
FR2825877B1 (en) * 2001-06-12 2003-09-19 Canal Plus Technologies METHOD FOR CONTROLLING ACCESS TO AN ENCRYPTED PROGRAM
FI20011417A (en) * 2001-06-29 2002-12-30 Nokia Corp The method of protecting the electronic device and the electronic device
DE10131561A1 (en) * 2001-06-29 2003-01-16 Nokia Corp Method of transferring application packet data
US7463739B2 (en) * 2001-08-02 2008-12-09 Safenet, Inc. Method and system providing improved security for the transfer of root keys
US7793326B2 (en) 2001-08-03 2010-09-07 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US7908628B2 (en) 2001-08-03 2011-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content coding and formatting
US7983419B2 (en) * 2001-08-09 2011-07-19 Trimble Navigation Limited Wireless device to network server encryption
US20040120527A1 (en) * 2001-08-20 2004-06-24 Hawkes Philip Michael Method and apparatus for security in a data processing system
US7861104B2 (en) * 2001-08-24 2010-12-28 Broadcom Corporation Methods and apparatus for collapsing interrupts
US7403615B2 (en) * 2001-08-24 2008-07-22 Broadcom Corporation Methods and apparatus for accelerating ARC4 processing
US20030066091A1 (en) * 2001-10-03 2003-04-03 Koninklijke Philips Electronics N.V. Business models, methods, and apparatus for unlocking value-added services on the broadcast receivers
US7697523B2 (en) * 2001-10-03 2010-04-13 Qualcomm Incorporated Method and apparatus for data packet transport in a wireless communication system using an internet protocol
US7352868B2 (en) * 2001-10-09 2008-04-01 Philip Hawkes Method and apparatus for security in a data processing system
US7649829B2 (en) 2001-10-12 2010-01-19 Qualcomm Incorporated Method and system for reduction of decoding complexity in a communication system
US20030093799A1 (en) * 2001-11-14 2003-05-15 Kauffman Marc W. Streamed content Delivery
US20030200548A1 (en) * 2001-12-27 2003-10-23 Paul Baran Method and apparatus for viewer control of digital TV program start time
US7765567B2 (en) * 2002-01-02 2010-07-27 Sony Corporation Content replacement by PID mapping
US7155012B2 (en) * 2002-01-02 2006-12-26 Sony Corporation Slice mask and moat pattern partial encryption
US7242773B2 (en) * 2002-09-09 2007-07-10 Sony Corporation Multiple partial encryption using retuning
US7039938B2 (en) * 2002-01-02 2006-05-02 Sony Corporation Selective encryption for video on demand
US7376233B2 (en) * 2002-01-02 2008-05-20 Sony Corporation Video slice and active region based multiple partial encryption
US7302059B2 (en) * 2002-01-02 2007-11-27 Sony Corporation Star pattern partial encryption
US7218738B2 (en) * 2002-01-02 2007-05-15 Sony Corporation Encryption and content control in a digital broadcast system
US7215770B2 (en) * 2002-01-02 2007-05-08 Sony Corporation System and method for partially encrypted multimedia stream
US7823174B2 (en) * 2002-01-02 2010-10-26 Sony Corporation Macro-block based content replacement by PID mapping
US7233669B2 (en) * 2002-01-02 2007-06-19 Sony Corporation Selective encryption to enable multiple decryption keys
US7305700B2 (en) 2002-01-08 2007-12-04 Seven Networks, Inc. Secure transport for mobile communication network
US7328345B2 (en) * 2002-01-29 2008-02-05 Widevine Technologies, Inc. Method and system for end to end securing of content for video on demand
US7415440B1 (en) 2002-02-22 2008-08-19 Entriq, Inc. Method and system to provide secure key selection using a secure device in a watercrypting environment
US8082588B2 (en) * 2002-03-15 2011-12-20 Nagravision S.A. Secured storage method of encrypted data on a personal digital recorder
US7287275B2 (en) 2002-04-17 2007-10-23 Moskowitz Scott A Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
US20050160040A1 (en) * 2002-04-19 2005-07-21 Van Rijnsoever Bartholomeus J. Conditional access system and apparatus
US7530084B2 (en) * 2002-05-28 2009-05-05 Sony Corporation Method and apparatus for synchronizing dynamic graphics
US20090180025A1 (en) * 2002-05-28 2009-07-16 Sony Corporation Method and apparatus for overlaying graphics on video
WO2003107670A1 (en) * 2002-06-12 2003-12-24 Koninklijke Philips Electronics N.V. Conditional access apparatus and method
US20040055010A1 (en) * 2002-06-18 2004-03-18 Fries Robert M. E-commerce facilitation for broadcast services
US20030236918A1 (en) * 2002-06-20 2003-12-25 Eyal Manor System and method for producing an encapsulated multimedia packets
WO2004008683A2 (en) * 2002-07-16 2004-01-22 Haim Engler Automated network security system and method
JP2004056394A (en) * 2002-07-18 2004-02-19 Fujitsu Ltd Control apparatus for controlling capturing apparatus and storage apparatus via lan, capturing apparatus for the same, storage apparatus, program, and method
KR100473116B1 (en) * 2002-07-22 2005-03-10 한국전자통신연구원 content conversion device and method the same
US8818896B2 (en) * 2002-09-09 2014-08-26 Sony Corporation Selective encryption with coverage encryption
US7594271B2 (en) * 2002-09-20 2009-09-22 Widevine Technologies, Inc. Method and system for real-time tamper evidence gathering for software
US7257105B2 (en) * 2002-10-03 2007-08-14 Cisco Technology, Inc. L2 method for a wireless station to locate and associate with a wireless network in communication with a Mobile IP agent
JP3821086B2 (en) * 2002-11-01 2006-09-13 ソニー株式会社 Streaming system, streaming method, client terminal, data decoding method, and program
US20040151315A1 (en) * 2002-11-06 2004-08-05 Kim Hee Jean Streaming media security system and method
US7434043B2 (en) 2002-12-18 2008-10-07 Broadcom Corporation Cryptography accelerator data routing unit
US20040123120A1 (en) * 2002-12-18 2004-06-24 Broadcom Corporation Cryptography accelerator input interface data handling
US7191341B2 (en) 2002-12-18 2007-03-13 Broadcom Corporation Methods and apparatus for ordering data in a cryptography accelerator
US20040123123A1 (en) * 2002-12-18 2004-06-24 Buer Mark L. Methods and apparatus for accessing security association information in a cryptography accelerator
US7568110B2 (en) * 2002-12-18 2009-07-28 Broadcom Corporation Cryptography accelerator interface decoupling from cryptography processing cores
US7336784B2 (en) * 2002-12-20 2008-02-26 Brite Smart Corporation Multimedia decoder method and system with authentication and enhanced digital rights management (DRM) where each received signal is unique and where the missing signal is cached inside the storage memory of each receiver
JP2004214971A (en) * 2002-12-27 2004-07-29 Sharp Corp Av data transmitter, av data receiver, and av data radio communication system
US7599655B2 (en) * 2003-01-02 2009-10-06 Qualcomm Incorporated Method and apparatus for broadcast services in a communication system
US7062048B2 (en) 2003-01-27 2006-06-13 Wegener Communications, Inc. Apparatus and method for single encryption with multiple authorization of distributed content data
US20040165586A1 (en) * 2003-02-24 2004-08-26 Read Christopher Jensen PID filters based network routing
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US20040177369A1 (en) * 2003-03-06 2004-09-09 Akins Glendon L. Conditional access personal video recorder
US7356143B2 (en) 2003-03-18 2008-04-08 Widevine Technologies, Inc System, method, and apparatus for securely providing content viewable on a secure device
US7007170B2 (en) * 2003-03-18 2006-02-28 Widevine Technologies, Inc. System, method, and apparatus for securely providing content viewable on a secure device
US7409702B2 (en) * 2003-03-20 2008-08-05 Sony Corporation Auxiliary program association table
US8245032B2 (en) * 2003-03-27 2012-08-14 Avaya Inc. Method to authenticate packet payloads
US20040199771A1 (en) * 2003-04-04 2004-10-07 Widevine Technologies, Inc. Method for tracing a security breach in highly distributed content
CN100442839C (en) * 2003-05-09 2008-12-10 华为技术有限公司 Information transmitting method and apparatus for interactive digital broadcast television system
US7398544B2 (en) * 2003-05-12 2008-07-08 Sony Corporation Configurable cableCARD
US7430187B2 (en) * 2003-05-15 2008-09-30 At&T Intellectual Property I, Lp Methods, systems, and computer program products for providing different quality of service/bandwidth allocation to different susbscribers for interactive gaming
US8068516B1 (en) * 2003-06-17 2011-11-29 Bigband Networks, Inc. Method and system for exchanging media and data between multiple clients and a central entity
US20040260946A1 (en) * 2003-06-20 2004-12-23 Cahill Conor P. User not present
US7206411B2 (en) 2003-06-25 2007-04-17 Wegener Communications, Inc. Rapid decryption of data by key synchronization and indexing
US8098818B2 (en) * 2003-07-07 2012-01-17 Qualcomm Incorporated Secure registration for a multicast-broadcast-multimedia system (MBMS)
US8718279B2 (en) * 2003-07-08 2014-05-06 Qualcomm Incorporated Apparatus and method for a secure broadcast system
US20050036067A1 (en) * 2003-08-05 2005-02-17 Ryal Kim Annon Variable perspective view of video images
US8724803B2 (en) * 2003-09-02 2014-05-13 Qualcomm Incorporated Method and apparatus for providing authenticated challenges for broadcast-multicast communications in a communication system
US20050066357A1 (en) * 2003-09-22 2005-03-24 Ryal Kim Annon Modifying content rating
US7290278B2 (en) 2003-10-02 2007-10-30 Aol Llc, A Delaware Limited Liability Company Identity based service system
US20050097596A1 (en) * 2003-10-31 2005-05-05 Pedlow Leo M.Jr. Re-encrypted delivery of video-on-demand content
US7853980B2 (en) * 2003-10-31 2010-12-14 Sony Corporation Bi-directional indices for trick mode video-on-demand
US7620180B2 (en) * 2003-11-03 2009-11-17 Sony Corporation Preparation of content for multiple conditional access methods in video on demand
US7263187B2 (en) * 2003-10-31 2007-08-28 Sony Corporation Batch mode session-based encryption of video on demand content
US20050097597A1 (en) * 2003-10-31 2005-05-05 Pedlow Leo M.Jr. Hybrid storage of video on demand content
US7343013B2 (en) * 2003-12-16 2008-03-11 Sony Corporation Composite session-based encryption of video on demand content
US7346163B2 (en) * 2003-10-31 2008-03-18 Sony Corporation Dynamic composition of pre-encrypted video on demand content
US20050102702A1 (en) * 2003-11-12 2005-05-12 Candelore Brant L. Cablecard with content manipulation
US8396216B2 (en) 2003-11-21 2013-03-12 Howard G. Pinder Partial dual-encryption using program map tables
US20050125357A1 (en) * 2003-12-09 2005-06-09 Saadat Abbas S. Secure integrated media center
US20050193205A1 (en) * 2004-01-09 2005-09-01 Widevine Technologies, Inc. Method and system for session based watermarking of encrypted content
US20050163483A1 (en) * 2004-01-22 2005-07-28 Widevine Technologies, Inc. Piracy prevention system
US20050169473A1 (en) * 2004-02-03 2005-08-04 Candelore Brant L. Multiple selective encryption with DRM
US20050177713A1 (en) * 2004-02-05 2005-08-11 Peter Sim Multi-protocol network encryption system
KR100574974B1 (en) * 2004-02-26 2006-05-02 삼성전자주식회사 Apparatus and method having conditional access and copy protection scheme for encoded broadcast data
US7519999B2 (en) * 2004-02-27 2009-04-14 Scientific-Atlanta, Inc. Secure negotiation and encryption module
US20050204139A1 (en) * 2004-03-10 2005-09-15 Helland Patrick J. Service broker security
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US7590243B2 (en) * 2004-05-04 2009-09-15 The Directv Group, Inc. Digital media conditional access system for handling digital media content
FR2871017B1 (en) * 2004-05-28 2008-02-29 Viaccess Sa METHOD FOR DIFFUSION OF DIGITAL DATA TO A PARK OF TARGET RECEIVING TERMINALS
US7656880B1 (en) * 2004-06-09 2010-02-02 Verizon Laboratories Inc. Prioritized segmentation and reassembly methods and systems
US7756271B2 (en) * 2004-06-15 2010-07-13 Microsoft Corporation Scalable layered access control for multimedia
KR100773388B1 (en) * 2004-06-23 2007-11-05 한국정보통신대학교 산학협력단 content combination providing system and method thereof
US20060021037A1 (en) * 2004-06-24 2006-01-26 Widevine Technologies, Inc. Apparatus, system, and method for protecting content using fingerprinting and real-time evidence gathering
US8266429B2 (en) 2004-07-20 2012-09-11 Time Warner Cable, Inc. Technique for securely communicating and storing programming material in a trusted domain
US8312267B2 (en) * 2004-07-20 2012-11-13 Time Warner Cable Inc. Technique for securely communicating programming content
US20060047601A1 (en) * 2004-08-25 2006-03-02 General Instrument Corporation Method and apparatus for providing channel key data
US7664109B2 (en) * 2004-09-03 2010-02-16 Microsoft Corporation System and method for distributed streaming of scalable media
US9609279B2 (en) 2004-09-24 2017-03-28 Google Inc. Method and system for providing secure CODECS
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
ZA200703160B (en) * 2004-10-19 2008-08-27 Tu Media Corp Subscriber management system and method thereof in the digital multimedia broadcasting
US7958369B2 (en) * 2004-10-22 2011-06-07 Hewlett-Packard Development Company, L.P. Systems and methods for multiple level control of access of privileges to protected media content
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US8176564B2 (en) 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US20070050294A1 (en) * 2004-12-09 2007-03-01 Encentrus Systems Inc. System and method for preventing disk cloning in set-top boxes
US7895617B2 (en) * 2004-12-15 2011-02-22 Sony Corporation Content substitution editor
US8041190B2 (en) 2004-12-15 2011-10-18 Sony Corporation System and method for the creation, synchronization and delivery of alternate content
US7536016B2 (en) * 2004-12-17 2009-05-19 Microsoft Corporation Encrypted content data structure package and generation thereof
US20060136717A1 (en) 2004-12-20 2006-06-22 Mark Buer System and method for authentication via a proximate device
US8295484B2 (en) 2004-12-21 2012-10-23 Broadcom Corporation System and method for securing data from a remote input device
US20060156008A1 (en) * 2005-01-12 2006-07-13 Microsoft Corporation Last line of defense ensuring and enforcing sufficiently valid/current code
US20060159269A1 (en) * 2005-01-20 2006-07-20 Matsushita Electric Industrial Co., Ltd. Cryptographic system for resource starved CE device secure upgrade and re-configuration
US20080015999A1 (en) * 2005-02-04 2008-01-17 Widevine Technologies, Inc. Securely ingesting encrypted content into content servers
US8275749B2 (en) * 2005-02-07 2012-09-25 Mimosa Systems, Inc. Enterprise server version migration through identity preservation
US8918366B2 (en) * 2005-02-07 2014-12-23 Mimosa Systems, Inc. Synthetic full copies of data and dynamic bulk-to-brick transformation
US8812433B2 (en) * 2005-02-07 2014-08-19 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
US8799206B2 (en) * 2005-02-07 2014-08-05 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
US20060225083A1 (en) * 2005-03-01 2006-10-05 Widevine Technologies, Inc. System and method for motion picture print forensics
US8364792B2 (en) * 2005-03-09 2013-01-29 Vudu, Inc. Method and system for distributing restricted media to consumers
US7349886B2 (en) * 2005-03-25 2008-03-25 Widevine Technologies, Inc. Securely relaying content using key chains
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US9436804B2 (en) * 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US7784071B2 (en) * 2005-06-01 2010-08-24 General Instrument Corporation Method and apparatus for linking a plurality of user devices to a service location
US8353046B2 (en) 2005-06-08 2013-01-08 Microsoft Corporation System and method for delivery of a modular operating system
CN101208952B (en) * 2005-06-23 2011-06-15 汤姆森特许公司 System and method for multimedia visit equipment registration
US20070033408A1 (en) * 2005-08-08 2007-02-08 Widevine Technologies, Inc. Preventing illegal distribution of copy protected content
US20070067643A1 (en) * 2005-09-21 2007-03-22 Widevine Technologies, Inc. System and method for software tamper detection
US7817608B2 (en) * 2005-09-23 2010-10-19 Widevine Technologies, Inc. Transitioning to secure IP communications for encoding, encapsulating, and encrypting data
WO2007038245A2 (en) 2005-09-23 2007-04-05 Widevine Technologies, Inc. Method for evolving detectors to detect malign behavior in an artificial immune system
US8065733B2 (en) * 2005-09-23 2011-11-22 Google, Inc. Method for evolving detectors to detect malign behavior in an artificial immune system
CN1863041A (en) * 2005-09-28 2006-11-15 华为技术有限公司 Method for implementing network television programme preview
DE102005051577B4 (en) * 2005-10-21 2008-04-30 Engel Solutions Ag Method for encrypting or decrypting data packets of a data stream and signal sequence and data processing system for carrying out the method
US8689016B2 (en) 2005-12-02 2014-04-01 Google Inc. Tamper prevention and detection for video provided over a network to a client
US20070143216A1 (en) * 2005-12-16 2007-06-21 Benaloh Josh D Data Signal with a Database and a Compressed Key
US8205243B2 (en) * 2005-12-16 2012-06-19 Wasilewski Anthony J Control of enhanced application features via a conditional access system
US8526612B2 (en) 2006-01-06 2013-09-03 Google Inc. Selective and persistent application level encryption for video provided to a client
US20070180231A1 (en) * 2006-01-31 2007-08-02 Widevine Technologies, Inc. Preventing entitlement management message (EMM) filter attacks
US7900060B2 (en) * 2006-02-17 2011-03-01 Vudu, Inc. Method and system for securing a disk key
US8185921B2 (en) 2006-02-28 2012-05-22 Sony Corporation Parental control of displayed content using closed captioning
US7555464B2 (en) * 2006-03-01 2009-06-30 Sony Corporation Multiple DRM management
US8683601B2 (en) 2006-04-14 2014-03-25 Google Inc. Audio/video identification watermarking
US8239686B1 (en) 2006-04-27 2012-08-07 Vudu, Inc. Method and system for protecting against the execution of unauthorized software
EP2439946B1 (en) * 2006-05-04 2013-07-10 NDS Limited Scrambled digital data item
US8095466B2 (en) * 2006-05-15 2012-01-10 The Directv Group, Inc. Methods and apparatus to conditionally authorize content delivery at content servers in pay delivery systems
US20070265973A1 (en) * 2006-05-15 2007-11-15 The Directv Group, Inc. Methods and apparatus to protect content in home networks
US8001565B2 (en) * 2006-05-15 2011-08-16 The Directv Group, Inc. Methods and apparatus to conditionally authorize content delivery at receivers in pay delivery systems
US7992175B2 (en) * 2006-05-15 2011-08-02 The Directv Group, Inc. Methods and apparatus to provide content on demand in content broadcast systems
US20070265966A1 (en) * 2006-05-15 2007-11-15 The Directv Group, Inc. Content delivery systems and methods to operate the same
US8996421B2 (en) * 2006-05-15 2015-03-31 The Directv Group, Inc. Methods and apparatus to conditionally authorize content delivery at broadcast headends in pay delivery systems
US20070286420A1 (en) * 2006-06-08 2007-12-13 Widevine Technologies, Inc. Encryption of video content to vod services and networked personal video recorders using unique key placements
US9225761B2 (en) 2006-08-04 2015-12-29 The Directv Group, Inc. Distributed media-aggregation systems and methods to operate the same
US9178693B2 (en) 2006-08-04 2015-11-03 The Directv Group, Inc. Distributed media-protection systems and methods to operate the same
US8321677B2 (en) * 2006-09-21 2012-11-27 Google Inc. Pre-binding and tight binding of an on-line identity to a digital signature
US20080080711A1 (en) * 2006-09-28 2008-04-03 Syphermedia International, Inc. Dual conditional access module architecture and method and apparatus for controlling same
US8619982B2 (en) * 2006-10-11 2013-12-31 Bassilic Technologies Llc Method and system for secure distribution of selected content to be protected on an appliance specific basis
US8719954B2 (en) 2006-10-11 2014-05-06 Bassilic Technologies Llc Method and system for secure distribution of selected content to be protected on an appliance-specific basis with definable permitted associated usage rights for the selected content
US20080092239A1 (en) * 2006-10-11 2008-04-17 David H. Sitrick Method and system for secure distribution of selected content to be protected
US8520850B2 (en) 2006-10-20 2013-08-27 Time Warner Cable Enterprises Llc Downloadable security and protection methods and apparatus
US8732854B2 (en) 2006-11-01 2014-05-20 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
US8621540B2 (en) 2007-01-24 2013-12-31 Time Warner Cable Enterprises Llc Apparatus and methods for provisioning in a download-enabled system
US7917747B2 (en) * 2007-03-22 2011-03-29 Igt Multi-party encryption systems and methods
US8621093B2 (en) * 2007-05-21 2013-12-31 Google Inc. Non-blocking of head end initiated revocation and delivery of entitlements non-addressable digital media network
US8243924B2 (en) 2007-06-29 2012-08-14 Google Inc. Progressive download or streaming of digital media securely through a localized container and communication protocol proxy
US8108680B2 (en) * 2007-07-23 2012-01-31 Murray Mark R Preventing unauthorized poaching of set top box assets
US8385545B2 (en) * 2007-07-27 2013-02-26 Howard G. Pinder Secure content key distribution using multiple distinct methods
US7949133B2 (en) * 2007-09-26 2011-05-24 Pinder Howard G Controlled cryptoperiod timing to reduce decoder processing load
US8230125B2 (en) * 2007-10-30 2012-07-24 Mediatek Inc. Methods for reserving index memory space in AVI recording apparatus
WO2009059408A1 (en) * 2007-11-07 2009-05-14 Toposis Corporation System and method for multiparty billing of network services
US8868464B2 (en) 2008-02-07 2014-10-21 Google Inc. Preventing unauthorized modification or skipping of viewing of advertisements within content
US7965839B2 (en) * 2008-02-19 2011-06-21 Sony Corporation Encryption system for satellite delivered television
US8165292B2 (en) * 2008-10-14 2012-04-24 Nagra France Method and system for secure distribution of audiovisual data encapsulated according to a plurality of transport protocols
US20100153709A1 (en) * 2008-12-10 2010-06-17 Qualcomm Incorporated Trust Establishment From Forward Link Only To Non-Forward Link Only Devices
US8238538B2 (en) 2009-05-28 2012-08-07 Comcast Cable Communications, Llc Stateful home phone service
US9866609B2 (en) 2009-06-08 2018-01-09 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
US9602864B2 (en) 2009-06-08 2017-03-21 Time Warner Cable Enterprises Llc Media bridge apparatus and methods
US8037571B2 (en) * 2009-09-01 2011-10-18 Techtronic Floor Care Technology Limited Vacuum cleaner accessory tool having a removable brush
US8837726B2 (en) * 2009-10-16 2014-09-16 Cisco Technology, Inc. Content protection key encryptor for security providers
KR101099056B1 (en) 2010-01-11 2011-12-26 (주)휴맥스 Cas client download and verification method in downloadable conditional access system
US9906838B2 (en) 2010-07-12 2018-02-27 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
US20120063597A1 (en) * 2010-09-15 2012-03-15 Uponus Technologies, Llc. Apparatus and associated methodology for managing content control keys
US8687807B2 (en) 2011-01-26 2014-04-01 Nagrastar, L.L.C. Cascading dynamic crypto periods
US9154813B2 (en) 2011-06-09 2015-10-06 Comcast Cable Communications, Llc Multiple video content in a composite video stream
US20130129095A1 (en) * 2011-11-18 2013-05-23 Comcast Cable Communications, Llc Key Delivery
US8751800B1 (en) 2011-12-12 2014-06-10 Google Inc. DRM provider interoperability
US9565472B2 (en) 2012-12-10 2017-02-07 Time Warner Cable Enterprises Llc Apparatus and methods for content transfer protection
US20140282786A1 (en) 2013-03-12 2014-09-18 Time Warner Cable Enterprises Llc Methods and apparatus for providing and uploading content to personalized network storage
US9066153B2 (en) 2013-03-15 2015-06-23 Time Warner Cable Enterprises Llc Apparatus and methods for multicast delivery of content in a content delivery network
US10368255B2 (en) 2017-07-25 2019-07-30 Time Warner Cable Enterprises Llc Methods and apparatus for client-based dynamic control of connections to co-existing radio access networks
US9313568B2 (en) 2013-07-23 2016-04-12 Chicago Custom Acoustics, Inc. Custom earphone with dome in the canal
US9621940B2 (en) 2014-05-29 2017-04-11 Time Warner Cable Enterprises Llc Apparatus and methods for recording, accessing, and delivering packetized content
US11540148B2 (en) 2014-06-11 2022-12-27 Time Warner Cable Enterprises Llc Methods and apparatus for access point location
US9935833B2 (en) 2014-11-05 2018-04-03 Time Warner Cable Enterprises Llc Methods and apparatus for determining an optimized wireless interface installation configuration
US9992126B1 (en) 2014-11-07 2018-06-05 Speedy Packets, Inc. Packet coding based network communication
US10530700B2 (en) 2015-07-07 2020-01-07 Strong Force Iot Portfolio 2016, Llc Message reordering timers
US10320526B1 (en) 2014-11-07 2019-06-11 Strong Force Iot Portfolio 2016, Llc Packet coding based network communication
US9992088B1 (en) 2014-11-07 2018-06-05 Speedy Packets, Inc. Packet coding based network communication
US9825733B1 (en) 2014-11-07 2017-11-21 Speedy Packets, Inc. Packet coding based network communication
US10999012B2 (en) 2014-11-07 2021-05-04 Strong Force Iot Portfolio 2016, Llc Packet coding based network communication
US9986578B2 (en) 2015-12-04 2018-05-29 Time Warner Cable Enterprises Llc Apparatus and methods for selective data network access
US9918345B2 (en) 2016-01-20 2018-03-13 Time Warner Cable Enterprises Llc Apparatus and method for wireless network services in moving vehicles
US10492034B2 (en) 2016-03-07 2019-11-26 Time Warner Cable Enterprises Llc Apparatus and methods for dynamic open-access networks
US10164858B2 (en) 2016-06-15 2018-12-25 Time Warner Cable Enterprises Llc Apparatus and methods for monitoring and diagnosing a wireless network
US10630654B2 (en) * 2017-03-22 2020-04-21 Microsoft Technology Licensing, Llc Hardware-accelerated secure communication management
US10645547B2 (en) 2017-06-02 2020-05-05 Charter Communications Operating, Llc Apparatus and methods for providing wireless service in a venue
US10638361B2 (en) 2017-06-06 2020-04-28 Charter Communications Operating, Llc Methods and apparatus for dynamic control of connections to co-existing radio access networks
EP3948625A4 (en) * 2019-04-03 2022-12-21 ARRIS Enterprises LLC Protected client inventory redeployment

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US33189A (en) * 1861-09-03 Improvement in bee-hives
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
USRE33189E (en) 1981-11-19 1990-03-27 Communications Satellite Corporation Security system for SSTV encryption
US4531020A (en) * 1982-07-23 1985-07-23 Oak Industries Inc. Multi-layer encryption system for the broadcast of encrypted information
US4613901A (en) * 1983-05-27 1986-09-23 M/A-Com Linkabit, Inc. Signal encryption and distribution system for controlling scrambling and selective remote descrambling of television signals
GB2163577B (en) * 1984-08-23 1988-01-13 Nat Res Dev Software protection device
EP0287720B1 (en) * 1987-04-22 1992-01-08 International Business Machines Corporation Management of cryptographic keys
JP2606419B2 (en) * 1989-08-07 1997-05-07 松下電器産業株式会社 Cryptographic communication system and cryptographic communication method
US5029207A (en) * 1990-02-01 1991-07-02 Scientific-Atlanta, Inc. External security module for a television signal decoder
US5237610A (en) * 1990-02-01 1993-08-17 Scientific-Atlanta, Inc. Independent external security module for a digitally upgradeable television signal decoder
US5142578A (en) * 1991-08-22 1992-08-25 International Business Machines Corporation Hybrid public key algorithm/data encryption algorithm key distribution method based on control vectors
US5400401A (en) * 1992-10-30 1995-03-21 Scientific Atlanta, Inc. System and method for transmitting a plurality of digital services
US5341425A (en) 1992-12-02 1994-08-23 Scientific Atlanta, Inc. Methods and apparatus for uniquely encrypting data at a plurality of data transmission sites for transmission to a reception site
US5381481A (en) * 1993-08-04 1995-01-10 Scientific-Atlanta, Inc. Method and apparatus for uniquely encrypting a plurality of services at a transmission site
US5481542A (en) * 1993-11-10 1996-01-02 Scientific-Atlanta, Inc. Interactive information services control system
US5341525A (en) * 1994-01-19 1994-08-30 Spartan Health Care Products, Inc. Shower lounge chair
US5420866A (en) * 1994-03-29 1995-05-30 Scientific-Atlanta, Inc. Methods for providing conditional access information to decoders in a packet-based multiplexed communications system
US5481613A (en) * 1994-04-15 1996-01-02 Northern Telecom Limited Computer network cryptographic key distribution system
US5473692A (en) * 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5557678A (en) * 1994-07-18 1996-09-17 Bell Atlantic Network Services, Inc. System and method for centralized session key distribution, privacy enhanced messaging and information distribution using a split private key public cryptosystem
US5557765A (en) * 1994-08-11 1996-09-17 Trusted Information Systems, Inc. System and method for data recovery
US5550984A (en) * 1994-12-07 1996-08-27 Matsushita Electric Corporation Of America Security system for preventing unauthorized communications between networks by translating communications received in ip protocol to non-ip protocol to remove address and routing services information
US5559889A (en) * 1995-03-31 1996-09-24 International Business Machines Corporation System and methods for data encryption using public key cryptography
US5583939A (en) * 1995-06-01 1996-12-10 Chung N. Chang Secure, swift cryptographic key exchange
US5920626A (en) * 1996-12-20 1999-07-06 Scientific-Atlanta, Inc. Analog/digital system for television services

Cited By (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7903659B2 (en) * 1996-12-16 2011-03-08 Juniper Networks, Inc. Memory organization in a switching device
US20090268740A1 (en) * 1996-12-16 2009-10-29 Juniper Networks, Inc. Memory organization in a switching device
US8761180B2 (en) 1996-12-16 2014-06-24 Juniper Networks, Inc. Memory organization in a network device
US8477784B2 (en) 1996-12-16 2013-07-02 Juniper Networks, Inc. Memory organization in a switching device
US7072472B2 (en) 1997-06-11 2006-07-04 Sony Corporation Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US7769053B2 (en) 1997-06-11 2010-08-03 Sony Corporation Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US7085381B2 (en) 1997-06-11 2006-08-01 Sony Corporation Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US7082197B2 (en) 1997-06-11 2006-07-25 Sony Corporation Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US20050232419A1 (en) * 1997-06-11 2005-10-20 Tatsuya Kubota Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US20050226417A1 (en) * 1997-06-11 2005-10-13 Tatsuya Kubota Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US7072471B2 (en) 1997-06-11 2006-07-04 Sony Corporation Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US20070143784A1 (en) * 1997-06-11 2007-06-21 Tatsuya Kubota Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US20050226415A1 (en) * 1997-06-11 2005-10-13 Tatsuya Kubota Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US20050259821A1 (en) * 1997-06-11 2005-11-24 Tatsuya Kubota Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US6970564B1 (en) * 1998-07-13 2005-11-29 Sony Corporation Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US7409541B1 (en) * 1998-12-14 2008-08-05 Comverse France Sa Method of transporting packets between an access interface of a subscriber installation and a shared network, and access interface implementing such method
US7730300B2 (en) 1999-03-30 2010-06-01 Sony Corporation Method and apparatus for protecting the transfer of data
US20040158721A1 (en) * 1999-03-30 2004-08-12 Candelore Brant L. System, method and apparatus for secure digital content transmission
US6871355B1 (en) * 1999-04-09 2005-03-22 Pioneer Corporation Conditional access system of CATV
US8914873B2 (en) 1999-06-15 2014-12-16 Ssh Communications Security Oyj Revealing address information in systems where network address translations occur
US20060256815A1 (en) * 1999-06-15 2006-11-16 Ssh Communications Security Ltd Method and arrangement for providing security through network address translations using tunneling and compensations
US9667594B2 (en) 1999-06-15 2017-05-30 Ssh Communications Security Oyj Maintaining network address translations
US20100138560A1 (en) * 1999-06-15 2010-06-03 Ssh Communications Security Ltd. Method and arrangement for providing security through network address translations using tunneling and compensations
US8544079B2 (en) 1999-06-15 2013-09-24 Tectia Oyj Method and arrangement for providing security through network address translations using tunneling and compensations
US9071578B2 (en) 1999-06-15 2015-06-30 Ssh Communications Security Oyj Maintaining network address translations
US8914872B2 (en) 1999-06-15 2014-12-16 Ssh Communications Security Oyj Revealing occurrence of network address translations
US8365273B2 (en) 1999-06-15 2013-01-29 Tectia Oyj Method and arrangement for providing security through network address translations using tunneling and compensations
US8245288B2 (en) * 1999-06-15 2012-08-14 Tectia Oyj Method and arrangement for providing security through network address translations using tunneling and compensations
US20100318682A1 (en) * 1999-06-15 2010-12-16 Tectia Oyj Method and arrangement for providing security through network address translations using tunneling and compensations
US8918858B2 (en) 1999-06-15 2014-12-23 Ssh Communications Security Oyj Communications across a network address translator
US8973127B2 (en) 1999-06-15 2015-03-03 Ssh Communications Security Oyj Communications across a network address translator
US8973126B2 (en) 1999-06-15 2015-03-03 Ssh Communications Security Oyj Determining occurrence of a network address translation
US20110320623A1 (en) * 1999-06-15 2011-12-29 Tectia Oyj Method and arrangement for providing security through network address translations using tunneling and compensations
US8127348B2 (en) * 1999-06-15 2012-02-28 Tectia Oyj Method and arrangement for providing security through network address translations using tunneling and compensations
US20030149986A1 (en) * 1999-08-10 2003-08-07 Mayfield William W. Security system for defeating satellite television piracy
US7254236B1 (en) * 1999-10-06 2007-08-07 Thomson Licensing Method and system for handling two CA systems in a same receiver
US20020188567A1 (en) * 1999-11-09 2002-12-12 Sony Corporation Method for simulcrypting scrambled data to a plurality of conditional access devices
US8488788B2 (en) 1999-11-09 2013-07-16 Sony Corporation Method for simulcrypting scrambled data to a plurality of conditional access devices
US7702589B2 (en) 1999-11-09 2010-04-20 Sony Corporation Method for simulcrypting scrambled data to a plurality of conditional access devices
US8140859B1 (en) 2000-07-21 2012-03-20 The Directv Group, Inc. Secure storage and replay of media programs using a hard-paired receiver and storage device
US7804958B2 (en) 2000-07-21 2010-09-28 The Directv Group, Inc. Super encrypted storage and retrieval of media programs with smartcard generated keys
US8724808B2 (en) * 2000-08-04 2014-05-13 Thomson Licensing S.A. Method for secure distribution of digital data representing a multimedia content
US20040068659A1 (en) * 2000-08-04 2004-04-08 Eric Diehl Method for secure distribution of digital data representing a multimedia content
US20040128665A1 (en) * 2001-04-19 2004-07-01 Emmanuel Gouleau Method and system of conditional access to ip service
US20040181666A1 (en) * 2001-06-06 2004-09-16 Candelore Brant L. IP delivery of secure digital content
US7747853B2 (en) 2001-06-06 2010-06-29 Sony Corporation IP delivery of secure digital content
US8677152B2 (en) 2001-09-21 2014-03-18 The Directv Group, Inc. Method and apparatus for encrypting media programs for later purchase and viewing
US20080279386A1 (en) * 2001-09-21 2008-11-13 The Directv Group, Inc. Method and apparatus for encrypting media programs for later purchase and viewing
US20050114698A1 (en) * 2002-01-28 2005-05-26 Jean-Pierre Vigarie Remote control protocol for a local action to generate a command message
US7861082B2 (en) 2002-05-24 2010-12-28 Pinder Howard G Validating client-receivers
US20040237100A1 (en) * 2002-05-24 2004-11-25 Pinder Howard G. Validating client-receivers
US20030221100A1 (en) * 2002-05-24 2003-11-27 Russ Samuel H. Apparatus for entitling remote client devices
US7860250B2 (en) 2002-05-24 2010-12-28 Russ Samuel H Apparatus for entitling and transmitting service instances to remote client devices
US7181010B2 (en) * 2002-05-24 2007-02-20 Scientific-Atlanta, Inc. Apparatus for entitling remote client devices
US20030233515A1 (en) * 2002-06-14 2003-12-18 Integrated Device Technology, Inc. Hardware hashing of an input of a content addressable memory (CAM) to emulate a wider CAM
US7171439B2 (en) 2002-06-14 2007-01-30 Integrated Device Technology, Inc. Use of hashed content addressable memory (CAM) to accelerate content-aware searches
US7136960B2 (en) * 2002-06-14 2006-11-14 Integrated Device Technology, Inc. Hardware hashing of an input of a content addressable memory (CAM) to emulate a wider CAM
US8572408B2 (en) 2002-11-05 2013-10-29 Sony Corporation Digital rights management of a digital device
US7920703B2 (en) 2002-11-05 2011-04-05 Sony Corporation Descrambler
US8379853B2 (en) 2002-11-05 2013-02-19 Sony Corporation Descrambler
US7724907B2 (en) 2002-11-05 2010-05-25 Sony Corporation Mechanism for protecting the transfer of digital content
US7711115B2 (en) * 2002-11-05 2010-05-04 Sony Corporation Descrambler
KR101060182B1 (en) * 2002-12-04 2011-08-29 이르데토 액세스 비.브이. Terminal for retransmitting digital data, data distribution system and method including such terminal
AU2003266467B2 (en) * 2002-12-04 2009-02-26 Irdeto Access B.V. Terminal, Data Distribution System Comprising Such a Terminal and Method of Re-transmitting Digital Data
US20040123097A1 (en) * 2002-12-04 2004-06-24 Karthik Ranjan Terminal, data distribution system comprising such a terminal and method of re-transmitting digital data
US7376829B2 (en) * 2002-12-04 2008-05-20 Irdeto Access B.V. Terminal, data distribution system comprising such a terminal and method of re-transmitting digital data
EP1427210A1 (en) * 2002-12-04 2004-06-09 Irdeto Access B.V. Terminal, data distribution system comprising such a terminal and method of re-transmitting digital data
US8266643B2 (en) * 2002-12-06 2012-09-11 Thomson Licensing Method and system for premium channel and pay per view video resell
US20060101494A1 (en) * 2002-12-06 2006-05-11 Thomson Licensing S.A. Method and system for premium channel and pay per view video resell
US8645988B2 (en) 2002-12-13 2014-02-04 Sony Corporation Content personalization for digital content
US8667525B2 (en) 2002-12-13 2014-03-04 Sony Corporation Targeted advertisement selection from a digital stream
US20100325434A1 (en) * 2003-01-13 2010-12-23 Sony Corporation Real-time delivery of license for previously stored encrypted content
US20040139027A1 (en) * 2003-01-13 2004-07-15 Sony Corporation Real-time delivery of license for previously stored encrypted content
US7801820B2 (en) 2003-01-13 2010-09-21 Sony Corporation Real-time delivery of license for previously stored encrypted content
US7552457B2 (en) 2003-02-12 2009-06-23 Irdeto Access B.V. Method of controlling descrambling of a plurality of program transport streams, receiver system and portable secure device
US20070230507A1 (en) * 2003-06-16 2007-10-04 Lingafelt Charles S Bundled Internet Protocol Packets
US20040252721A1 (en) * 2003-06-16 2004-12-16 International Business Machines Corporation Bundled internet protocol packets
EP1511316A1 (en) * 2003-08-27 2005-03-02 PCCW-HKT DataCom Services Limited Digital multicast system
US7530108B1 (en) * 2003-09-15 2009-05-05 The Directv Group, Inc. Multiprocessor conditional access module and method for using the same
US20070242825A1 (en) * 2004-01-16 2007-10-18 Kahn Raynold M Distribution of video content using a trusted network key for sharing content
US20070258596A1 (en) * 2004-01-16 2007-11-08 Kahn Raynold M Distribution of broadcast content for remote decryption and viewing
US7548624B2 (en) * 2004-01-16 2009-06-16 The Directv Group, Inc. Distribution of broadcast content for remote decryption and viewing
US7617158B2 (en) 2004-03-22 2009-11-10 Telefonaktiebolaget L M Ericsson (Publ) System and method for digital rights management of electronic content
WO2005096541A1 (en) * 2004-03-22 2005-10-13 Telefonaktiebolaget L M Ericsson (Publ) System and method for digital rights management of electronic content
US20050209972A1 (en) * 2004-03-22 2005-09-22 Ulf Bjorkengren System and method for digital rights management of electronic content
KR101194477B1 (en) 2004-03-22 2012-10-26 텔레폰악티에볼라겟엘엠에릭슨(펍) System and method for digital rights management of electronic content
US20060041510A1 (en) * 2004-08-19 2006-02-23 Securemedia International Method for a secure system of content distribution for DVD applications
US20060045273A1 (en) * 2004-08-31 2006-03-02 Michael Mayer Method and system for transmitting signaling information over a data transport network
US7936881B2 (en) * 2004-08-31 2011-05-03 Nortel Networks Limited Method and system for transmitting signaling information over a data transport network
US8964981B2 (en) * 2004-08-31 2015-02-24 Rockstar Consortium Us Lp Method and system for transmitting signaling information over a data transport network
US20120008778A1 (en) * 2004-08-31 2012-01-12 Michael Mayer Method and system for transmitting signaling information over a data transport network
US9014375B2 (en) 2004-10-18 2015-04-21 Syphermedia International, Inc. Method and apparatus for supporting multiple broadcasters independently using a single conditional access system
US8243925B2 (en) 2004-10-18 2012-08-14 Syphermedia International, Inc. Method and apparatus for supporting multiple broadcasters independently using a single conditional access system
US20080095365A1 (en) * 2004-10-18 2008-04-24 Cocchi Ronald P Method and Apparatus for Supporting Multiple Broadcasters Independently Using a Single Conditional Access System
US10477151B2 (en) 2004-10-18 2019-11-12 Inside Secure Method and apparatus for supporting multiple broadcasters independently using a single conditional access system
WO2006044765A2 (en) * 2004-10-18 2006-04-27 Syphermedia International, Inc. Method and apparatus for supporting multiple broadcasters independently using a single conditional access system
US9712786B2 (en) 2004-10-18 2017-07-18 Syphermedia International, Inc. Method and apparatus for supporting multiple broadcasters independently using a single conditional access system
WO2006044765A3 (en) * 2004-10-18 2006-10-05 Syphermedia International Inc Method and apparatus for supporting multiple broadcasters independently using a single conditional access system
US20060095654A1 (en) * 2004-11-02 2006-05-04 Integrated Device Technology, Inc. Fast collision detection for a hashed content addressable memory (CAM) using a random access memory
US7290084B2 (en) 2004-11-02 2007-10-30 Integrated Device Technology, Inc. Fast collision detection for a hashed content addressable memory (CAM) using a random access memory
US9325944B2 (en) 2005-08-11 2016-04-26 The Directv Group, Inc. Secure delivery of program content via a removable storage medium
US20070245024A1 (en) * 2006-04-17 2007-10-18 Prus Bohdan S Systems and methods for prioritizing the storage location of media data
US8208796B2 (en) 2006-04-17 2012-06-26 Prus Bohdan S Systems and methods for prioritizing the storage location of media data
US8615469B2 (en) * 2006-04-20 2013-12-24 Google Inc. Enabling transferable entitlements between networked devices
US20130060700A1 (en) * 2006-04-20 2013-03-07 Reza P. Rassool Enabling transferable entitlements between networked devices
US8325920B2 (en) * 2006-04-20 2012-12-04 Google Inc. Enabling transferable entitlements between networked devices
US20070250912A1 (en) * 2006-04-20 2007-10-25 Widevine Technologies, Inc. Enabling transferable entitlements between networked devices
US10977631B2 (en) 2006-05-15 2021-04-13 The Directv Group, Inc. Secure content transfer systems and methods to operate the same
US7970138B2 (en) 2006-05-26 2011-06-28 Syphermedia International Method and apparatus for supporting broadcast efficiency and security enhancements
US20070286422A1 (en) * 2006-05-26 2007-12-13 Syphermedia International Method and apparatus for supporting broadcast efficiency and security enhancements
US8879729B2 (en) 2006-05-26 2014-11-04 Syphermedia International Method and apparatus for supporting broadcast efficiency and security enhancements
US20110206202A1 (en) * 2006-05-26 2011-08-25 Syphermedia International, Inc. Method and apparatus for supporting broadcast efficiency and security enhancements
US11212583B2 (en) 2006-06-16 2021-12-28 Synamedia Limited Securing media content using interchangeable encryption key
US9277295B2 (en) 2006-06-16 2016-03-01 Cisco Technology, Inc. Securing media content using interchangeable encryption key
US7978720B2 (en) 2006-06-30 2011-07-12 Russ Samuel H Digital media device having media content transfer capability
US20080002951A1 (en) * 2006-06-30 2008-01-03 Scientific-Atlanta, Inc. Digital Media Device Having Media Content Transfer Capability
US20080022304A1 (en) * 2006-06-30 2008-01-24 Scientific-Atlanta, Inc. Digital Media Device Having Selectable Media Content Storage Locations
US9137480B2 (en) 2006-06-30 2015-09-15 Cisco Technology, Inc. Secure escrow and recovery of media device content keys
US20080008321A1 (en) * 2006-07-10 2008-01-10 Syphermedia International, Inc. Conditional access enhancements using an always-on satellite backchannel link
WO2008014328A2 (en) * 2006-07-25 2008-01-31 Pivx Solutions, Inc. Systems and methods for digitally-signed updates
WO2008014328A3 (en) * 2006-07-25 2008-04-03 Pivx Solutions Inc Systems and methods for digitally-signed updates
US20080104403A1 (en) * 2006-09-29 2008-05-01 Shay Gueron Methods and apparatus for data authentication with multiple keys
US20080089516A1 (en) * 2006-10-13 2008-04-17 Syphermedia International, Inc. Method and apparatus for providing secure internet protocol media services
US8761393B2 (en) 2006-10-13 2014-06-24 Syphermedia International, Inc. Method and apparatus for providing secure internet protocol media services
US9277259B2 (en) 2006-10-13 2016-03-01 Syphermedia International, Inc. Method and apparatus for providing secure internet protocol media services
US20100195832A1 (en) * 2007-06-14 2010-08-05 Zte Corporation Method and a system for transmitting an encrypted control message based on mobile multimedia broadcast
US8306223B2 (en) 2007-06-14 2012-11-06 Zte Corporation Method and a system for transmitting encrypted control message based on mobile multimedia broadcast
US20110238991A1 (en) * 2008-12-01 2011-09-29 Robert Schipper Content decryption device and encryption system using an additional key layer
US20110317547A1 (en) * 2009-03-13 2011-12-29 Thales Method and device for the reliable transmission of data packet flows with compressed headers without increasing the flow rate
US8565239B2 (en) 2009-07-14 2013-10-22 Broadcom Corporation Node based path selection randomization
US20110013627A1 (en) * 2009-07-14 2011-01-20 Broadcom Corporation Flow based path selection randomization
US20110013639A1 (en) * 2009-07-14 2011-01-20 Broadcom Corporation Flow based path selection randomization using parallel hash functions
US20110013638A1 (en) * 2009-07-14 2011-01-20 Broadcom Corporation Node based path selection randomization
US8503456B2 (en) * 2009-07-14 2013-08-06 Broadcom Corporation Flow based path selection randomization
US8665879B2 (en) 2009-07-14 2014-03-04 Broadcom Corporation Flow based path selection randomization using parallel hash functions
US9767271B2 (en) 2010-07-15 2017-09-19 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US20120266053A1 (en) * 2011-04-18 2012-10-18 UPINES Co. Ltd. Security communication method between devices
US9100677B2 (en) * 2011-09-21 2015-08-04 Samsung Electronics Co., Ltd. Server, client device, method for generating a transport stream thereof and processing the transport stream thereof
US20130070923A1 (en) * 2011-09-21 2013-03-21 Samsung Electronics Co., Ltd. Server, client device, method for generating a transport stream thereof and processing the transport stream thereof
US9767284B2 (en) 2012-09-14 2017-09-19 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US20140281537A1 (en) * 2013-03-15 2014-09-18 General Instrument Corporation Protection of control words employed by conditional access systems
US9385997B2 (en) * 2013-03-15 2016-07-05 Arris Enterprises, Inc. Protection of control words employed by conditional access systems
US20150121525A1 (en) * 2013-10-28 2015-04-30 At&T Intellectual Property I, L.P. Filtering Network Traffic Using Protected Filtering Mechanisms
US9998479B2 (en) 2013-10-28 2018-06-12 At&T Intellectual Property I, L.P. Filtering network traffic using protected filtering mechanisms
US9219747B2 (en) * 2013-10-28 2015-12-22 At&T Intellectual Property I, L.P. Filtering network traffic using protected filtering mechanisms
US10382453B2 (en) 2013-10-28 2019-08-13 At&T Intellectual Property I, L.P. Filtering network traffic using protected filtering mechanisms
US10503933B2 (en) 2016-09-15 2019-12-10 Nuts Holdings, Llc Structured data folding with transmutations
US10671764B2 (en) * 2016-09-15 2020-06-02 Nuts Holdings, Llc NUTS: eNcrypted Userdata Transit and Storage
CN109643285A (en) * 2016-09-15 2019-04-16 美商纳兹控股有限责任公司 The user data transmission and storage of encryption
US11003802B2 (en) * 2016-09-15 2021-05-11 Nuts Holdings, Llc NUTS: eNcrypted userdata transit and storage
US11010496B2 (en) 2016-09-15 2021-05-18 Nuts Holdings, Llc Structured data folding with transmutations
US20210240867A1 (en) * 2016-09-15 2021-08-05 Nuts Holdings, Llc NUTS: eNcrypted Userdata Transit and Storage
US20180075262A1 (en) * 2016-09-15 2018-03-15 Nuts Holdings, Llc Nuts
US11720716B2 (en) 2016-09-15 2023-08-08 Nuts Holdings, Llc Structured data folding with transmutations
US11558192B2 (en) 2020-04-09 2023-01-17 Nuts Holdings, Llc NUTS: flexible hierarchy object graphs

Also Published As

Publication number Publication date
US6424714B1 (en) 2002-07-23
US5870474A (en) 1999-02-09

Similar Documents

Publication Publication Date Title
US6424714B1 (en) Method and apparatus for providing conditional access in connection-oriented interactive networks with a multiplicity of service providers
EP0872077B1 (en) Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers
CA2237293A1 (en) Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers
AU687844B2 (en) Methods for providing conditional access information to decoders in a packet-based multiplexed communications system
US6898285B1 (en) System to deliver encrypted access control information to support interoperability between digital information processing/control equipment
JP4190599B2 (en) Information transmission device, information transmission method, information reception device, and information reception method
US7739496B2 (en) Secure packet-based data broadcasting architecture
EP1000511B1 (en) Conditional access system
US6028933A (en) Encrypting method and apparatus enabling multiple access for multiple services and multiple transmission modes over a broadband communication network
US6373952B2 (en) Data transmitting apparatus, data transmitting method, data receiving apparatus, data receiving method, data transmission apparatus, and data transmission method
US20030169879A1 (en) Method and apparatus for geographically limiting sevice in a conditional access system
EP1000509A1 (en) Encryption devices for use in a conditional access system
WO1999007145A9 (en) Verification of the source of program of information in a conditional access system
WO2002096016A2 (en) Security devices and processes for protecting and identifying messages
JP2007528678A (en) Transmission stream jitter remover
WO1999007149A1 (en) Source authentication of download information in a conditional access system
EP1000508B1 (en) Authorization of services in a conditional access system
WO1999007146A9 (en) Representing entitlements to service in a conditional access system
US5787089A (en) Digital signal broadcasting
JPH10290222A (en) Information decoder, its method and information transmitter-receiver
JPH09252320A (en) Data transmitter and its method
EP1189439A2 (en) Source authentication of download information in a conditional access system
EP1010325A1 (en) Method and apparatus for geographically limiting service in a conditional access system
JP4497099B2 (en) Information transmission equipment
Adas et al. On the Security of Digital Video Distribution Systems

Legal Events

Date Code Title Description
AS Assignment

Owner name: SCIENTIFIC-ATLANTA, INC., GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WASILEWSKI, ANTHONY J.;WOODHEAD, DOUGLAS F.;LOGSTON, GARY LEE;REEL/FRAME:009402/0527;SIGNING DATES FROM 19980605 TO 19980626

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: SCIENTIFIC-ATLANTA, LLC, GEORGIA

Free format text: CHANGE OF NAME;ASSIGNOR:SCIENTIFIC-ATLANTA, INC.;REEL/FRAME:034299/0440

Effective date: 20081205

Owner name: CISCO TECHNOLOGY, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SCIENTIFIC-ATLANTA, LLC;REEL/FRAME:034300/0001

Effective date: 20141118

AS Assignment

Owner name: SCIENTIFIC-ATLANTA, LLC, GEORGIA

Free format text: CHANGE OF NAME;ASSIGNOR:SCIENTIFIC-ATLANTA, INC.;REEL/FRAME:052917/0513

Effective date: 20081205

AS Assignment

Owner name: SCIENTIFIC-ATLANTA, LLC, GEORGIA

Free format text: CHANGE OF NAME;ASSIGNOR:SCIENTIFIC-ATLANTA, INC.;REEL/FRAME:052903/0168

Effective date: 20200227

AS Assignment

Owner name: TECH 5 SAS, FRANCE

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT 7523479 NEEDS TO BE INCLUDED, WAS ACCIDENTALLY MISSED WHEN RECORDING ASSIGNMENT PREVIOUSLY RECORDED ON REEL 049603 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE NEED TO INCLUDE PATENT 7523479 IN THE ASSIGNMENT. WAS ACCIDENTALLY MISSED ON LAST RECORDING;ASSIGNOR:CISCO TECHNOLOGY, INC.;REEL/FRAME:058043/0001

Effective date: 20151120