Secure storage and replay of media programs using a hard-paired receiver and storage device

Information

  • Patent Grant
  • 8140859
  • Patent Number
    8,140,859
  • Date Filed
    Friday, July 21, 2000
    24 years ago
  • Date Issued
    Tuesday, March 20, 2012
    12 years ago
Abstract
A method and apparatus for storing and retrieving program material for subsequent replay is disclosed. The method comprises the steps of receiving a data stream comprising the program material encrypted according to a first encryption key, decrypting the program material; re-encrypting the program material according to a second encryption key; and storing the re-encrypted material in a media storage device. The program material is played back by retrieving the re-encrypted material from the media storage device and decrypting the re-encrypted program material. In one embodiment, the second encryption key is derived from metadata describing replay rights. In a further embodiment, the media storage device also stores the second encryption key which has been further encrypted by a key that is unique to the device used to receive the program material.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to the following patent applications, all of which applications are hereby incorporated by reference herein:


U.S. patent application Ser. No. 09/621,476, entitled “SUPER ENCRYPTED STORAGE AND RETRIEVAL OF MEDIA PROGRAMS IN A HARD-PAIRED RECEIVER AND STORAGE DEVICE,” by Raynold M. Kahn, Gregory J. Gagnon, David D. Ha, Peter M. Klauss, Christopher P. Curren, and Thomas H. James, filed on Jul. 21, 2000, now issued as U.S. Pat. No. 7,203,311;


U.S. patent application Ser. No. 09/620,772, entitled “SUPER ENCRYPTED STORAGE AND RETRIEVAL OF MEDIA PROGRAMS WITH SMARTCARD GENERATED KEYS,” by Raynold M. Kahn, Gregory). Gagnon, David D. Ha, Peter M. Klauss, Christopher P. Curren, and Thomas H. James, filed on Jul. 21, 2000;


U.S. patent application Ser. No. 09/620,773, entitled “SUPER ENCRYPTED STORAGE AND RETRIEVAL OF MEDIA PROGRAMS WITH MODIFIED CONDITIONAL ACCESS FUNCTIONALITY,” by Raynold M. Kahn, Gregory J. Gagnon, David D. Ha, Peter M. Klauss, Christopher P. Curren, and Thomas H. James, filed on Jul. 21, 2000, now issued as U.S. Pat. No. 7,203,314;


U.S. patent application Ser. No. 09/620,832, entitled “VIDEO ON DEMAND PAY PER VIEW SERVICES WITH UNMODIFIED CONDITIONAL ACCESS FUNCTIONALITY” by Raynold M. Kahn, Gregory J. Gagnon, David D. Ha, Peter M. Klauss, Christopher P. Curren, and Thomas H. James, filed on Jul. 21, 2000, now issued as U.S. Pat. No. 6,853,728; and


U.S. patent application Ser. No. 09/491,959, entitled “VIRTUAL VIDEO ON DEMAND USING MULTIPLE ENCRYPTED VIDEO SEGMENTS,” by Robert G. Arsenault and Leon J. Stanger, filed on Jan. 26, 2000, now issued as U.S. Pat. No. 6,701,528.


This application is also related to the following applications:


application Ser. No. 09/590,417, entitled “METHOD AND APPARATUS FOR TRANSMITTING, RECEIVING, AND UTILIZING AUDIO/VISUAL SIGNALS AND OTHER INFORMATION”, filed Jun. 8, 2000, by Arthur Tilford;


application Ser. No. 09/960,824 entitled “METHOD AND APPARATUS FOR ENCRYPTING MEDIA PROGRAMS FOR LATER PURCHASE AND VIEWING”, filed Sep. 21, 2001, by Raynold M. Kahn et al.;


application Ser. No. 10/490,261 entitled “METHOD AND APPARATUS FOR CONTROLLING PAIRED OPERATION OF A CONDITIONAL ACCESS MODULE AND AN INTEGRATED RECEIVER AND DECODER”, filed Aug. 5, 2004, by Raynold M. Kahn et al., which is a national stage entry of PCT/US02/29881 filed Sep. 20, 2002;


application Ser. No. 10/758,811 entitled “DISTRIBUTION OF VIDEO CONTENT USING A TRUSTED NETWORK KEY FOR SHARING CONTENT”, filed Jan. 16, 2004, by Raynold M. Kahn et al;


application Ser. No. 10/758,818 entitled “DISTRIBUTION OF BROADCAST CONTENT FOR REMOTE DECRYPTION AND VIEWING”, filed Jan. 16, 2004, by Raynold M. Kahn et al;


application Ser. No. 10/758,865 entitled “DISTRIBUTION OF VIDEO CONTENT USING CLIENT TO HOST PAIRING OF INTEGRATED RECEIVERS/DECODERS”, filed Jan. 16, 2004, by Raynold M. Kahn et al;


application Ser. No. 10/790,466 entitled “VIDEO ON DEMAND IN A BROADCAST NETWORK”, filed Mar. 1, 2004, by Stephen P. Dulac;


application Ser. No. 11/433,926 entitled “METHODS AND APPARATUS TO PROTECT CONTENT IN HOME NETWORKS”, filed May 15, 2006, by Raynold M. Kahn;


application Ser. No. 11/433,969 entitled “METHODS AND APPARATUS TO PROVIDE CONTENT ON DEMAND IN CONTENT BROADCAST SYSTEMS”, filed May 15, 2006, by Peter M. Klauss et al.;


application Ser. No. 11/434,082 entitled “CONTENT DELIVERY SYSTEMS AND METHODS TO OPERATE THE SAME”, filed May 15, 2006, by Raynold M. Kahn et al.;


application Ser. No. 11/434,404 entitled “SECURE CONTENT TRANSFER SYSTEMS AND METHODS TO OPERATE THE SAME”, filed May 15, 2006, by Raynold M. Kahn et al;


application Ser. No. 11/434,437 entitled “METHODS AND APPARATUS TO CONDITIONALLY AUTHORIZE CONTENT DELIVERY AT RECEIVERS IN PAY DELIVERY SYSTEMS”, filed May 15, 2006, by Raynold M. Kahn et al.;


application Ser. No. 11/434,528 entitled “METHODS AND APPARATUS TO CONDITIONALLY AUTHORIZE CONTENT DELIVERY AT BROADCAST HEADENDS IN PAY DELIVERY SYSTEMS”, filed May 15, 2006, by Raynold M. Kahn et al.;


application Ser. No. 11/434,538 entitled “METHODS AND APPARATUS TO CONDITIONALLY AUTHORIZE CONTENT DELIVERY AT CONTENT SERVERS IN PAY DELIVERY SYSTEMS”, filed May 15, 2006, by Raynold M. Kahn et al.;


application Ser. No. 11/499,635 entitled “DISTRIBUTED MEDIA-PROTECTION SYSTEMS AND METHODS TO OPERATE THE SAME”, filed Aug. 4, 2006, by Michael Ficco;


application Ser. No. 11/499,636 entitled “DISTRIBUTED MEDIA-AGGREGATION SYSTEMS AND METHODS TO OPERATE THE SAME”, filed Aug. 4, 2006, by Michael Ficco;


application Ser. No. 11/501,985 entitled “SECURE DELIVERY OF PROGRAM CONTENT VIA A REMOVAL STORAGE MEDIUM”, filed Aug. 10, 2006, by Raynold M. Kahn et al.; and


application Ser. No. 11/654,752 entitled “SECURE STORAGE AND REPLAY OF MEDIA PROGRAMS USING A HARD-PAIRED RECEIVER AND STORAGE DEVICE”, filed Jan. 18, 2007, by Raynold M. Kahn et al., which is a continuation of application Ser. No. 09/620,833, entitled “SECURE STORAGE AND REPLAY OF MEDIA PROGRAMS USING A HARD-PAIRED RECEIVER AND STORAGE DEVICE”, filed Jul. 21, 2000, by Raynold M. Kahn et al., which application is hereby incorporated by reference.


BACKGROUND OF THE INVENTION

1. Field of the Invention


The present invention relates to systems and niethods for providing video program material to subscribers, and in particular to a method and system for securely storing and replaying media programs.


2. Description of the Related Art


In recent years, there has been increasing interest in allowing cable and satellite television subscribers to record broadcast media programs for later viewing. This capability, hereinafter referred to as personal video recording (PVR), can be used to provide video-on-demand (VOD) services, or simply to allow the subscriber to save media programs for repeated viewing and/or archival purposes.


In the past, video cassette tape recorders (VCRs) have been used for such personal video recording. Recently, however, hard disks, similar to those used in personal computers, have been used to store media programs for later viewing. Unlike VCRs, such devices typically do not include a tuner, and are instead coupled to the satellite receiver or cable box. Also unlike VCRs, these devices are typically used to record digital content, not analog video. This difference is both advantageous and disadvantageous.


An advantage of such devices is that they permit long term storage and multiple replays without substantial degradation. Another advantage is that they permit more rapid trick-play functions such as fast forwarding and rewinding. A disadvantage of such devices is that they are capable of making multiple-generation copies of the program material as well, and without serious degradation. This raises the very real possibility that the multiple generation copies of the media programs will be produced and distributed without permission. This possibility has caused some media providers to be reluctant to allow their media programs to be recorded by such devices.


To ameliorate this problem, it is critical to protect the stored media programs with strong security and copy control. Current devices, do not scramble media programs before storage, nor do they store copy protection information. Instead, such devices record decrypted program content into the storage disk using a paired hardware scheme in which the hard disk controller and hard disk are paired to each other specifically through a specific interface. Because the hard disk controller and the disk itself are essentially paired together, storage or playback will not function if the disk were to be removed and transferred to another player. The weakness of this security scheme is that it relies only on the paired hardware to ensure security . . . the media programs stored on the disk drive itself are not encrypted.


While it would presumably be possible to simply store the datastream as it is received from the broadcaster for later replay, this technique has distinct disadvantages. One such disadvantage is that it would provide pirates a permanently recorded version of the encrypted datastream, thus providing the pirate with information that can be used to perform detailed analyses of the datastream itself to determine the encryption techniques and codes.


What is needed is a system and method for securely recording broadcast media programs (including impulse purchase pay-per-view programs) for limited use playback at a later time. Such a system could be used to support video-on-demand (VOD), thus allowing the subscriber to purchase media programs and games from the set top box instantly without worrying about the start time of the program. What is also needed is a system and method that does not require substantial changes to subscriber hardware, such as the integrated receiver/decoder (IRD), or the conditional access module (CAM) that is used to provide a key to decrypt the media programs for presentation to the subscribers.


SUMMARY OF THE INVENTION

In summary, the present invention describes a system and method for storing and retrieving program material for subsequent replay. The method comprises the steps of receiving a data stream comprising the program material encrypted according to a first encryption key, decrypting the program material; re-encrypting the program material according to a second encryption key; and storing the re-encrypted material in a media storage device. The program material is played back by retrieving the re-encrypted material from the media storage device and decrypting the re-encrypted program material. In one embodiment, the second encryption key is derived from metadata describing replay rights. In a further embodiment, the media storage device also stores the second encryption key which has been further encrypted by a key that is unique to the device used to receive the program material.


The apparatus comprises a tuner, for receiving a data stream comprising encrypted access control information and the program material encrypted according to a first encryption key, the access control information including a first encryption key; a conditional access module, for decrypting the encrypted access control information to produce a first encryption key; a first decryption module, for decrypting the program material using the first encryption key; an encryption module, for re-encrypting the decrypted program material according to a second encryption key and for encrypting the second encryption key according to a third encryption key to produce a fourth encryption key; and a second decryption module, for decrypting the fourth encryption key to produce the second encryption key using the third encryption key and for decrypting the re-encrypted program material using the second encryption key.


One object of the present invention is to provide a system allowing for growth to pay-per-play or true video-on-demand (VOD) services from media programs stored on a hard disk. The pay-per-play service allows the subscriber to select media programs or games from the real time broadcast data or from the media programs stored on the disk. VOD service permits the subscriber to purchase provided media programs and games from the subscriber's receiver instantly, without regard to the start time of the program.


Another object of the present invention is to provide for the reception and decryption of broadcast media programs, including impulse pay-per-view (IPPV) programs, that can be played and recorded onto storage media and allows playback at a later time with limited use. The data itself may be placed in short term storage, but the replay of the media programs can be accomplished with trick play functions such as forward, reverse, fast forward, fast reverse, frame advance, and pause functions.


Another object of the present invention is to provide PVR functions which provide recording, delayed playback, and trick play of IPPV media programs from the storage media without requiring a pre-purchase of the IPPV media program. This would allow the IPPV media program to be viewed without requiring the IPPV media program to be purchased prior to storage. Ideally, such a system would allow the user to select the IPPV media program from the storage device, subject to limited play rights.


Still another object of the present invention is to provide a pairing between the storage media and elements of the subscriber's IRD to assure that playback of the media programs from the storage device are permitted only with the proper IRD.


Still another object of the present invention is to provide a secure means for storing broadcast data streams (including IPPV and games) on a data storage device, while providing for adequate copy protection.


Still another object of the present invention is to provide a system and method for handling the archiving and retrieving of media programs and other data, even if the data storage device fails.


Still another object of the present invention is to provide a system and method that allows media program purchases to be recorded in a way that is analogous to that which is employed for real-time off-the-air programs.


Still another object of the present invention is to provide a system that provides a growth path to a system permitting IPPV media programs to be previewed without charge for an initial period of time with the option to purchase the media program or cancel the purchase, regardless of whether the program is retrieved from the storage device or obtained from a real time broadcast.


The present invention eliminates concerns regarding the proliferation of unauthorized digital copies of the media programs by use of a strong encryption method. Further, the present invention ensures that the stored material cannot be distributed since such decryption of the material can only be successfully performed by the encrypting IRD. At the same time, the present invention can be implemented with minimal changes to the IRD, and no changes to the CAM interface. The present invention also provides a basis for a growth path to more advanced encryption/decryption techniques.





BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings in which like reference numbers represent corresponding parts throughout:



FIG. 1 is a diagram showing an overview of a video distribution system;



FIG. 2 is a block diagram showing a typical uplink configuration showing how video program material is uplinked to a satellite for transmission to subscribers using a single transponder;



FIG. 3A is a diagram of a representative data stream received from a satellite;



FIG. 3B is a diagram illustrating the structure of a data packet;



FIG. 4 is a block diagram illustrating a high-level block diagram of the IRD; and



FIG. 5 is a diagram illustrating the storage and retrieval of data from a media storage device.





DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

In the following description, reference is made to the accompanying drawings which form a part hereof, and which show, by way of illustration, several embodiments of the present invention. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.


Video Distribution System


FIG. 1 is a diagram illustrating an overview of a video distribution system 100. The video distribution system 100 comprises a control center 102 in communication with an uplink center 104 via a ground or other link 114 and an integrated receiver/decoder (IRD) 132 at receiver station 130 via a public switched telephone network (PSTN) or other link 120. The control center 102 provides program material to the uplink center 104, coordinates with the receiver station 130 to offer subscribers 110 pay-per-view (PPV) program services, including billing and associated decryption of video programs.


The uplink center 104 receives program material and program control information from the control center 102, and using an uplink antenna 106, transmits the program material and program control information to the satellite 108. The satellite 108 receives and processes this information, and transmits the video programs and control information to the IRD 132 at the receiver station 130 via downlink 118. The IRD 132 receives this information using a communicatively coupled subscriber antenna 112.


The video distribution system 100 can comprise a plurality of satellites 108 in order to provide wider terrestrial coverage, to provide additional channels, or to provide additional bandwidth per channel. In one embodiment of the invention, each satellite comprises 16 transponders to receive and transmit program material and other control data from the uplink center 104 and provide it to the subscribers 110. However, using data compression and multiplexing techniques the channel capabilities are far greater. For example, two-satellites 108 working together can receive and broadcast over 150 conventional (non-HDTV) audio and video channels via 32 transponders.


While the invention disclosed herein will be described with reference to a satellite based video distribution system 100, the present invention may also be practiced with terrestrial-based transmission of program information, whether by traditional broadcasting means, cable, or other means. Further, the different functions collectively allocated among the control center 102 and the uplink center 104 as described above can be reallocated as desired without departing from the intended scope of the present invention.


Although the foregoing has been described with respect to an embodiment in which the program material delivered to the subscriber is video (and audio) program material such as a movie, the foregoing method can be used to deliver program material comprising purely audio information or data as well.



FIG. 2 is a block diagram showing a typical uplink configuration for a single satellite 108 transponder, showing how video program material is uplinked to the satellite 108 by the control center 102 and the uplink center 104. FIG. 2 shows three video channels (which could be augmented respectively with one or more audio channels for high fidelity music, soundtrack information, or a secondary audio program for transmitting foreign languages), and a data channel from a computer data source 206.


The video channels are provided by a program source of video material 200A-200C (collectively referred to hereinafter as video source(s) 200). The data from each video program source 200 is provided to an encoder 202A-202C (collectively referred to hereinafter as encoder(s) 202). Each of the encoders accepts a presentation time stamp (PTS) from the controller 216. The PTS is a wrap-around binary time stamp that is used to assure that the video information is properly synchronized with the audio information after encoding and decoding. A PTS time stamp is sent with each I-frame of the MPEG encoded data.


In one embodiment of the present invention, each encoder 202 is a second generation Motion Picture Experts Group (MPEG-2) encoder, but other decoders implementing other coding techniques can be used as well. The data channel can be subjected to a similar compression scheme by an encoder (not shown), but such compression is usually either unnecessary, or performed by computer programs in the computer data source (for example, photographic data is typically compressed into *.TIF files or *.JPG files before transmission). After encoding by the encoders 202, the signals are converted into data packets by a packetizer 204A-204F (collectively referred to hereinafter as packetizer(s) 204) associated with each source 200, 206-210.


The data packets are assembled using a reference from the system clock 214 (SCR), a control word (CW) generated by the conditional access manager 208, and a system channel identifier (SCID) generator 210 that associates each of the data packets that are broadcast to the subscriber with a program channel. This information is transmitted to the packetizers 204 for use in generating the data packets. These data packets are then multiplexed into serial data, encoded, modulated, and transmitted. A special packet known as a control word packet (CWP) which comprises control data including the control word (CW) and other control data used in support of providing conditional access to the program material is also encrypted and transmitted.



FIG. 3A is a diagram of a representative data stream. The first packet segment 302 comprises information from video channel 1 (data coming from, for example, the first video program source 200A). The next packet segment 304 comprises computer data information that was obtained, for example from the computer data source 206. The next packet segment 306 comprises information from video channel 5 (from one of the video program sources 200), and the next packet segment includes information from video channel 1 (again, coming from the first video program source 200A). The data stream therefore comprises a series of packets from any one of the data sources in an order determined by the controller 216. The data stream is encrypted by the encryption module 218, modulated by the modulator 220 (typically using a QPSK modulation scheme), and provided to the transmitter 222, which broadcasts the modulated data stream on a frequency bandwidth to the satellite via the antenna 106.


Subscribers 110 receive media programs via a subscriber receiver or IRD 132. Using the SCID, the IRD 132 reassembles the packets to regenerate the program material for each of the channels. As shown in FIG. 3A, null packets created by the null packet module 312 may be inserted into the data stream as desired.



FIG. 3B is a diagram of a data packet. Each data packet (e.g. 302-316) is 147 bytes long, and comprises a number of packet segments. The first packet segment 320 comprises two bytes of information containing the SCID and flags. The SCID is a unique 12-bit number that uniquely identifies the data packet's data channel. The flags include 4 bits that are used to control whether the packet is encrypted, and what key must be used to decrypt the packet. The second packet segment 322 is made up of a 4-bit packet type indicator and a 4-bit continuity counter. The packet type identifies the packet as one of the four data types (video, audio, data, or null). When combined with the SCID, the packet type determines how the data packet will be used. The continuity counter increments once for each packet type and SCID. The next packet segment 324 comprises 127 bytes of payload data, which is a portion of the video program provided by the video program source 200. The final packet segment 326 is data required to perform forward error correction.


Encryption of Media Programs

Media programs are encrypted by the encryption module 218 before transmission to assure that they are received and viewed only by authorized subscribers. Each media program is encrypted according to an alphanumeric encryption key referred to hereinafter as a control word (CW). This can be accomplished by a variety of data encryption techniques, including symmetric algorithms such as the data encryption standard (DES) and the asymmetric algorithms such as the Rivest-Shamir-Adleman (RSA) algorithm.


To decrypt the media programs, the subscriber's 110 IRD 132 must also have access to the CW. To maintain security, CWs are not transmitted to the IRD 132 plaintext. Instead, CWs are encrypted before transmission to the subscriber's IRD 132. The encrypted CW is transmitted to the subscriber's IRD 132 in a control word (data) packet.


In one embodiment, the data in the CWP, including the CW, is encrypted and decrypted via what is referred to hereinafter as an input/output (I/O) indecipherable algorithm.


An I/O indecipherable algorithm is an algorithm that is applied to an input data stream to produce an output data stream. Although the input data stream uniquely determines the output data stream, the algorithm selected is such that it's characteristics cannot be deciphered from a comparison of even a large number of input and output data streams. The security of this algorithm can be further increased by adding additional functional elements which are non-stationary (that is, they change as a function of time). When such an algorithm is provided with identical input streams, the output stream provided at a given point in time may be different than the output stream provided at another time.


So long as the encryption module 218 and the IRD 132 share the same I/O indecipherable algorithm, the IRD 132 can decode the information in the CWP to retrieve the CW. Then, using the CW, the IRD 132 can decrypt the media program so that it can be presented to the subscriber 110.


To further discourage piracy, the control data needed to decrypt and assemble data packets into viewable media programs may be time-varying (the validity of the control data in a CWP to decode a particular media program changes with time). This can be implemented in a variety of ways.


For example, since each CWP is associated with a SCID for each media program, the SCID related to each CWP could change over time.


Another way to implement time-varying control data is to associate time stamps with the received data stream and the CWP control data. In this case, successful decoding of the CWP to produce the CW would require the proper relationship between the time stamps for the data stream and the control data in the CWP. This relationship can be defined, for example, by changing the decryption scheme used to generate the CW from the CWP according to the received time stamp for the data stream. In this case, if the time stamp of the received data stream does not match the expected value, the wrong decryption scheme will be selected and the proper CW (to decrypt the program material) will not be produced. If, however, the time stamp of the received data stream matches the expected value, the proper decryption scheme will be selected, and the CWP decryption scheme will yield the proper CW.


Requesting Pay-per-View Services

The data required to receive pay-per-view (PPV) media programs are stored in the CWP and in another data packet known as the purchase information parcel (PIP). Both the CWP and the PIP are broadcast to the subscriber via the video distribution system 100 in real time. As described below, the CWP is used by the IRD 132 to retrieve PPV media programs.


Generally, PPV services can include operator-assisted pay-per-view (OPPV) and impulse pay-per-view (IPPV) services. When requesting OPPV services, the subscriber 110 must decide in advance that they desire access to a particular media program. The subscriber 110 then calls an entity such as the control center 102, and requests access to the media program. When requesting impulse pay-per-view services (IPPV), the subscriber 110, while viewing the program guide, moves the cursor over the viewer channel associated with the desired media program, and selects “enter.” After the decision and rights to purchase a PPV program are confirmed (for example, by checking channel lockouts, rating limits, and purchase limits), a purchase information parcel (PIP) is received and stored in the subscriber's conditional access module 406 (which is described in more detail below) for further use. The conditional access module 406 associates the information in the CWP and the PIP, and uses the PIP in conjunction with the CWP to verify that the subscriber 110 should be provided access to the media program and to decrypt the media program.


Ordering PPV media programs in advance using the PIP is limited, however, since the PIP is broadcast up to 24 hours before the media program itself is broadcast. Since the PIP is broadcast in real time, the IRD 132 does not acquire the PIP until the subscriber 110 actually requests the PPV media program purchase.


Subscriber Reception and Decryption of Media Programs


FIG. 4 is a simplified block diagram of an IRD 132. The IRD 132 receives and decrypts the media programs broadcast by the video distribution system 100. These media programs are streamed to the IRD 132 in real time, and may include, for example, video, audio, or data services.


The IRD 132 is communicatively coupleable to a conditional access module (CAM) 406. The CAM 406 is typically implemented in a smart card or similar device, which is provided to the subscriber 110 to be inserted into the IRD 132. The CAM 406 interfaces with a conditional access verifier (CAV) 408 which performs at least some of the functions necessary to verify that the subscriber 110 is entitled to access the media programs. The CAV 408 is communicatively coupled to a metadata analysis module (MAM) 411. Using the information in metadata table (e.g. Table 1 described below), the MAM 411 acts as a gate-keeper to determine whether stored media programs will be decrypted and presented to the subscriber 110. This is accomplished by comparing the metadata values with measured or accumulated values. The CAV 408 and the MAM 411 can be implemented as separate modules from the transport/demux/decryptor 412 and the microcontroller and memory 414 as shown, or may be implemented via software instructions stored in the memory and performed by the microcontroller 414.


The IRD 132 comprises a tuner 410, a transport and demultiplexing module (TDM) 412, which operates under control of a microcontroller and associated memory 414, a source decoder 416 and communicatively coupled random access memory (RAM) 418, and a user I/O device for accepting subscriber 110 commands and for providing output information to the subscriber.


The tuner 410 receives the data packets from the video distribution system and provides the packets to the TDM 412. Using the SCIDs associated with each media program, the TDM 412 reassembles the data packets according to the channel selected by the subscriber 110, and unencrypts the media programs using the CW key. The TDM 412 can be implemented by a single secure chip, and is communicatively coupled to a microcontroller and memory 414.


Once the media programs are unencrypted, they are provided to the source decoder 416 which decodes the media program data according to MPEG or JPEG standards as appropriate. The decoded media program is then provided to a D/A converter (if necessary) and provided to external interfaces 404 which can include a media program presentation device such as a television, an audio system, or a computer. The source decoder 416 makes use of communicatively coupled RAM 418 to perform these functions.


The CW key is obtained from the CWP using the CAV 408 and the CAM 406. The TDM 412 provides the CWP to the CAM 406 via the CAV 408. The CAM 406 uses the I/O indecipherable algorithm to generate the CW, which is provided back to the TDM 412. The TDM 412 uses the CW to decrypt the media programs. In most IRDs 132, the CAV 408 and the CAM 406 are capable of decrypting one video/audio/data media program at a time.


As described above, to discourage potential pirates, the control data in the CWP used to decode a particular media program may change with time so that it only produces the proper CW when applied to a media program having the proper time stamp. In this case, the CAM 406 can select and/or control the decryption scheme (e.g. the I/O indecipherable algorithm) according to the time stamp associated with the data stream carrying the media program. If the media program is sufficiently disassociated in time, the improper decryption scheme will be used, and the proper CW to decode the media program will not be produced.


Further details regarding the encryption and decryption of media programs can be found in co-pending and commonly assigned U.S. patent application Ser. No. 09/491,959.


Storage and Retrieval of Media Programs in Encrypted Form


FIG. 5 is a diagram presenting exemplary method steps used to practice one embodiment of the present invention. A data stream is provided by subscriber antenna 112 and received by the tuner 410 and the TDM 412, as shown in block 502. The data stream includes a plurality of data packets which include the CWP, and program material that is encrypted according to a first (CW) encryption key. The data stream may also include metadata having replay rights. The replay rights are parameters necessary for controlling the replay of IPPV or pay-per-play services.


When the subscriber elects to purchase the media program, a viewing request is provided, and an IPPV control module 504 CAM 406 controls whether access to the requested media program will be provided. If so, the purchase history module 506 collects information required to send a bill for the media program to the subscriber 110. After the purchase history module 506 has acquired and recorded the required information, the IPPV control module 504 commands the CW extraction module 508 to decrypt the CWP to obtain the first (CW) encryption key. In one embodiment, this is performed using a complementary form of the I/O indecipherable algorithm that was used to encrypt the CW and other information to form the CWP. The resulting CW encryption key is provided to a broadcast decrypt module 510. The broadcast decrypt module 510 uses the CW key to decrypt the media program (hereinafter alternatively referred to as program material) to produce a clear (non-encrypted) version of the media program 512. The resulting clear media program 512 is applied to a storage encryption module 514, where the media program is re-encrypted according to a second copy protection (CP) encryption key 516. This is illustrated in box 514. In one embodiment, the CP key 516 is used to encrypt and decrypt the media program via an encryption technique such as RSA, or preferably, triple 56-bit DES, DES-X cipher block chaining (CBC). DES is preferred because it is computationally more efficient than RSA in performing time-related computations. In one embodiment, the CP key 516 is a key that is unique to each IRD 132 and is stored therein.


The CP key 516 itself is then provided to a key encryption module 522, where it is encrypted with a third (box) encryption key 520 to produce a fourth encryption key (illustrated in FIG. 5 as Encrypted CP key 524). The box encryption key 520 is unique to each IRD 132, and is typically hardcoded in the IRD 132.


The re-encrypted program material 518 and the Encrypted CP key 524 is then stored in the media storage device 528 as shown in block 526. The media storage device 528 could include a hard disk drive, similar to that which is employed in personal computers, a optical-magnetic hard disk drive, an optical disk drive, or any other medium by which data may be recorded for subsequent playback.


When the subscriber 110 decides to view the recorded program material, a command is provided to the IRD 132 via the user I/O interface 420. The re-encrypted program material and the encrypted CP key 524 stored in the media storage device 528 are then retrieved, as shown in block 530. The encrypted CP key 524 is then provided to decryption module 532, where it is decrypted with the box key 520 to produce the CP key 516.


The CP encryption key 516 is then provided to the storage decryption module 534, where the program material is decrypted according to the CP key 516. The decrypted (and now clear) program material is now provided to a display 536 or other presentation device.


In one embodiment, the CP key 516 is modified with (e.g. by appending or adding) some or all of the metadata received in the broadcast data stream before being encrypted according to the box key 520. In this case, the encrypted CP key 524 not only includes the value of the CP key 516, but also, the metadata as well. When the encrypted CP key 524 is thereafter retrieved from the storage media 528 and de-encrypted with the box key 520, the CP key 516 and the metadata is recovered as well. This metadata can be compared to other data (e.g. the data and the time of day) to enforce the replay rights as required.


The CP key 516 can be stored in a transport chip within the TDM 412. This allows the present invention to be used with an unmodified CAM 406. This also permits rapid encryption and decryption of information stored in the media storage device 528, which is particularly advantageous where trick play functions are desired.


CONCLUSION

The foregoing description of the preferred embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. For example, the encryption functions described herein could be performed by separate encryption/decryption modules, or a single multi-purpose encryption/decryption module can be utilized to perform the encryption/decryption functions of many separate modules.


It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.

Claims
  • 1. A method of storing program material for subsequent replay, comprising the steps of: receiving a data stream comprising program material encrypted according to a first encryption key and metadata including information describing replay rights for the program material;decrypting the program material;re-encrypting the decrypted program material according to a second encryption key;encrypting the second encryption key and the metadata according to a third encryption key to produce a fourth encryption key; andstoring the re-encrypted program material in a media storage device.
  • 2. The method of claim 1, further comprising the steps of: retrieving the stored re-encrypted program material; anddecrypting the retrieved re-encrypted program material.
  • 3. The method of claim 2, further comprising the step of storing the fourth encryption key.
  • 4. The method of claim 3, wherein the step of decrypting the retrieved re-encrypted program material comprises the steps of: reading the stored fourth encryption key;decrypting the fourth encryption key with the third key to produce the second encryption key and the metadata; anddecrypting the re-encrypted program material using the second encryption key according to a comparison between the decrypted metadata and other data.
  • 5. The method of claim 4, further comprising the steps of: accepting a viewing request before reading the stored fourth encryption key, andrecording billing information regarding the program material.
  • 6. The method of claim 1, wherein the second encryption key is derived at least in part from the metadata.
  • 7. The method of claim 1, wherein the second encryption key is derived at least in part from a broadcast time of the program material.
  • 8. The method of claim 1, wherein the step of encrypting the second encryption key and the metadata according to a third encryption key to produce a fourth encryption key comprises the step of modifying the second encryption key with the metadata; and encrypting the modified second encryption key according to a third encryption key to produce a fourth encryption key.
  • 9. A receiver for storing program material for subsequent replay, comprising: a tuner, for receiving a data stream comprising encrypted access control information, metadata having information describing replay rights for the program material, and the program material encrypted-according to a first encryption key, the access control information including the first encryption key;a conditional access module, communicatively coupleable to the tuner, for decrypting the encrypted access control information to produce the first encryption key,a first decryptor module, communicatively coupled to the tuner and communicatively coupleable to the conditional access module, for decrypting the program material using the first encryption key,an encryptor, communicatively coupled to the first decryptor module and communicatively coupleable to a media storage device, for re-encrypting the decrypted program material according to a second encryption key and for encrypting the second encryption key and the metadata according to a third encryption key to produce a fourth encryption key,a second decryptor, communicatively coupleable to the media storage device, for decrypting the fourth encryption key to produce the second encryption key and the metadata using the third encryption key, and for decrypting the re-encrypted program material using the second encryption key according to a comparison between the decrypted metadata and other data.
  • 10. The receiver of claim 9, further comprising: a media storage device, for storing and retrieving the re-encrypted program material and the fourth encryption key.
  • 11. The receiver of claim 9, wherein the second encryption key and the third encryption key are receiver-unique.
  • 12. The receiver of claim 9, wherein the encryptor encrypts the second encryption key and the metadata by modifying the second encryption key with the metadata and encrypting the modified second encryption key according to the third encryption key to produce the fourth encryption key.
US Referenced Citations (224)
Number Name Date Kind
4613901 Gilhousen et al. Sep 1986 A
4633309 Li et al. Dec 1986 A
4675732 Oleson Jun 1987 A
4694490 Harvey et al. Sep 1987 A
4866769 Karp Sep 1989 A
4866787 Olesen Sep 1989 A
4881264 Merkle Nov 1989 A
4941176 Matyas et al. Jul 1990 A
5029207 Gammie Jul 1991 A
5033084 Beecher Jul 1991 A
5111504 Esserman et al. May 1992 A
5132992 Yurt et al. Jul 1992 A
5168353 Walker et al. Dec 1992 A
5172413 Bradley et al. Dec 1992 A
5199066 Logan Mar 1993 A
5301245 Endoh Apr 1994 A
5301352 Nakagawa et al. Apr 1994 A
5341425 Wasilewski Aug 1994 A
5357276 Banker et al. Oct 1994 A
5371551 Logan et al. Dec 1994 A
5386587 Yuzawa Jan 1995 A
5396293 Shellard Mar 1995 A
5421031 De Bey May 1995 A
5438423 Lynch et al. Aug 1995 A
5440336 Buhro et al. Aug 1995 A
5495531 Smiedt Feb 1996 A
5506902 Kubota Apr 1996 A
5557541 Schulhof et al. Sep 1996 A
5565805 Nakagawa et al. Oct 1996 A
5583937 Ullrich et al. Dec 1996 A
5586264 Belknap et al. Dec 1996 A
5590200 Nachman et al. Dec 1996 A
5592551 Lett et al. Jan 1997 A
5592651 Rackman Jan 1997 A
5594491 Hodge et al. Jan 1997 A
5619247 Russo Apr 1997 A
5640453 Schuchman et al. Jun 1997 A
5642418 Farris et al. Jun 1997 A
5663896 Aucsmith Sep 1997 A
5675390 Schindler et al. Oct 1997 A
5677895 Mankovitz Oct 1997 A
5701383 Russo et al. Dec 1997 A
5701582 De Bey Dec 1997 A
5710970 Walters et al. Jan 1998 A
5715315 Handelman Feb 1998 A
5715403 Stefik Feb 1998 A
5721829 Dunn et al. Feb 1998 A
5724646 Ganek et al. Mar 1998 A
5729280 Inoue et al. Mar 1998 A
5734853 Hendricks et al. Mar 1998 A
5748732 Le Berre et al. May 1998 A
5761302 Park Jun 1998 A
5764762 Kazmierczak et al. Jun 1998 A
5784095 Robbins et al. Jul 1998 A
5790663 Lee et al. Aug 1998 A
5793971 Fujita et al. Aug 1998 A
5805699 Akiyama et al. Sep 1998 A
5826165 Echeita et al. Oct 1998 A
5831664 Wharton et al. Nov 1998 A
5845240 Fielder Dec 1998 A
5848158 Saito et al. Dec 1998 A
5850218 LaJoie et al. Dec 1998 A
5864747 Clark et al. Jan 1999 A
5867207 Chaney et al. Feb 1999 A
5867579 Saito Feb 1999 A
5899582 DuLac May 1999 A
5912969 Sasamoto et al. Jun 1999 A
5914941 Janky Jun 1999 A
5926205 Krause et al. Jul 1999 A
5930215 Fite et al. Jul 1999 A
5933500 Blatter et al. Aug 1999 A
5936660 Gurantz Aug 1999 A
5937067 Thatcher et al. Aug 1999 A
5953418 Bock et al. Sep 1999 A
5966186 Shigihara et al. Oct 1999 A
5973756 Erlin Oct 1999 A
5978649 Kahn Nov 1999 A
5999628 Chan Dec 1999 A
5999629 Heer et al. Dec 1999 A
6005937 Lee Dec 1999 A
6011511 Chuong et al. Jan 2000 A
6025868 Russo Feb 2000 A
6055314 Spies et al. Apr 2000 A
6055566 Kikinis Apr 2000 A
6061451 Muratani et al. May 2000 A
6061452 Suzuki May 2000 A
6069647 Sullivan et al. May 2000 A
6072873 Bewick Jun 2000 A
6072982 Haddad Jun 2000 A
6075330 Terk Jun 2000 A
6091883 Artigalas et al. Jul 2000 A
6097441 Allport Aug 2000 A
6105134 Pinder et al. Aug 2000 A
6144400 Ebisawa Nov 2000 A
6148081 Szymanski et al. Nov 2000 A
6154206 Ludtke Nov 2000 A
6157719 Wasilewski et al. Dec 2000 A
6157949 Cheng et al. Dec 2000 A
6169879 Perlman Jan 2001 B1
6202211 Williams, Jr. Mar 2001 B1
6229895 Son et al. May 2001 B1
6240401 Oren et al. May 2001 B1
6263504 Ebisawa Jul 2001 B1
6266480 Ezaki et al. Jul 2001 B1
6266481 Lee et al. Jul 2001 B1
6286142 Ehreth Sep 2001 B1
6288716 Humpleman et al. Sep 2001 B1
6289455 Kocher et al. Sep 2001 B1
6317883 Marics Nov 2001 B2
6317884 Eames et al. Nov 2001 B1
6370318 Iwaki Apr 2002 B1
6370688 Hejna, Jr. Apr 2002 B1
6381747 Wonfor et al. Apr 2002 B1
6398245 Gruse et al. Jun 2002 B1
6415031 Colligan et al. Jul 2002 B1
6424717 Pinder et al. Jul 2002 B1
6437836 Huang et al. Aug 2002 B1
6456985 Ohtsuka Sep 2002 B1
6466671 Maillard et al. Oct 2002 B1
6466921 Cordery et al. Oct 2002 B1
6473858 Shimomura et al. Oct 2002 B1
6480667 O'Connor Nov 2002 B1
6487663 Jaisimha et al. Nov 2002 B1
6487722 Okura et al. Nov 2002 B1
6496980 Tillman et al. Dec 2002 B1
6502139 Birk et al. Dec 2002 B1
6510519 Wasilewski et al. Jan 2003 B2
6516465 Paskins Feb 2003 B1
6519693 De Bey Feb 2003 B1
6519772 Bopardikar Feb 2003 B1
6530085 Perlman Mar 2003 B1
6542870 Matsumoto Apr 2003 B1
6550011 Sims, III Apr 2003 B1
6560340 Akins et al. May 2003 B1
6574609 Downs et al. Jun 2003 B1
6588017 Calderone Jul 2003 B1
6611812 Hurtado et al. Aug 2003 B2
6654547 Maeda et al. Nov 2003 B1
6655580 Ergo et al. Dec 2003 B1
6681326 Son et al. Jan 2004 B2
6697489 Candelore Feb 2004 B1
6714650 Maillard et al. Mar 2004 B1
6748080 Russ et al. Jun 2004 B2
6804357 Ikonen et al. Oct 2004 B1
6853728 Kahn et al. Feb 2005 B1
6889208 Okabe et al. May 2005 B1
6904522 Benardeau et al. Jun 2005 B1
6912513 Candelore Jun 2005 B1
6934963 Reynolds et al. Aug 2005 B1
6961858 Fransdonk Nov 2005 B2
6985591 Graunke Jan 2006 B2
6993499 Gagnon et al. Jan 2006 B2
7007170 Morten Feb 2006 B2
7035827 Ezaki Apr 2006 B2
7036011 Grimes et al. Apr 2006 B2
7058802 Epstein et al. Jun 2006 B1
7093295 Saito Aug 2006 B1
7099946 Lennon et al. Aug 2006 B2
7177911 deCarmo Feb 2007 B2
7191335 Maillard Mar 2007 B1
7228439 Sasselli Jun 2007 B2
7231450 Clifford et al. Jun 2007 B1
7277928 Lennon Oct 2007 B2
7298849 Graunke Nov 2007 B2
7328455 Jutzi et al. Feb 2008 B2
7403618 Van Rijnsoever et al. Jul 2008 B2
7461249 Pearson et al. Dec 2008 B1
7492897 Eskicioglu et al. Feb 2009 B1
7539307 Lotspiech et al. May 2009 B2
20010001876 Morgan et al. May 2001 A1
20010046299 Wasilewski et al. Nov 2001 A1
20010053979 Kori Dec 2001 A1
20020001386 Akiyama Jan 2002 A1
20020002674 Grimes et al. Jan 2002 A1
20020023219 Treffersi et al. Feb 2002 A1
20020048367 Maillard et al. Apr 2002 A1
20020056112 Dureau et al. May 2002 A1
20020094084 Wasilewski et al. Jul 2002 A1
20020112243 Hunter et al. Aug 2002 A1
20020162104 Raike et al. Oct 2002 A1
20020166121 Rovira Nov 2002 A1
20020169971 Asano et al. Nov 2002 A1
20020170054 Kudelski et al. Nov 2002 A1
20030005285 Graunke Jan 2003 A1
20030026428 Loisel Feb 2003 A1
20030037006 Maruyama et al. Feb 2003 A1
20030040962 Lewis et al. Feb 2003 A1
20030061477 Kahn et al. Mar 2003 A1
20030097622 Liu et al. May 2003 A1
20030105718 Hurtado et al. Jun 2003 A1
20030110132 Sako Jun 2003 A1
20030131349 Kuczynski-Brown Jul 2003 A1
20030131353 Blom et al. Jul 2003 A1
20030145183 Muehring Jul 2003 A1
20030174844 Candelore Sep 2003 A1
20030188164 Okimoto Oct 2003 A1
20030190149 Chang et al. Oct 2003 A1
20030228911 Dernis et al. Dec 2003 A1
20040032950 Graunke Feb 2004 A1
20040068747 Robertson et al. Apr 2004 A1
20040073954 Bjordammen et al. Apr 2004 A1
20040148634 Arsenault et al. Jul 2004 A1
20040190721 Barrett et al. Sep 2004 A1
20050039025 Main et al. Feb 2005 A1
20050050333 Yeap et al. Mar 2005 A1
20050071280 Irwin et al. Mar 2005 A1
20050091681 Borden et al. Apr 2005 A1
20050108519 Barton et al. May 2005 A1
20050144248 Doganowski et al. Jun 2005 A1
20050144468 Northcutt et al. Jun 2005 A1
20050169468 Fahrny et al. Aug 2005 A1
20050182931 Robert et al. Aug 2005 A1
20050183112 Duval Aug 2005 A1
20050235361 Alkove et al. Oct 2005 A1
20050249350 Kahn et al. Nov 2005 A1
20060015750 Ashley et al. Jan 2006 A1
20060031873 Fahrny et al. Feb 2006 A1
20060039560 Wasilewski Feb 2006 A1
20060039565 Kim et al. Feb 2006 A1
20060168663 Viljoen et al. Jul 2006 A1
20060179489 Mas Ribes Aug 2006 A1
20070092077 Yoshida et al. Apr 2007 A1
20070092078 Yoshida et al. Apr 2007 A1
20070198414 Derrenberger Aug 2007 A1
Foreign Referenced Citations (45)
Number Date Country
0002703 Aug 2002 EA
0677949 Oct 1995 EP
0710017 May 1996 EP
0 936 812 Aug 1999 EP
0 975 165 Jan 2000 EP
0 989 557 Mar 2000 EP
0989557 Mar 2000 EP
1156676 Nov 2001 EP
1304871 Apr 2003 EP
1369152 Dec 2003 EP
1418701 May 2004 EP
2272822 May 1994 GB
2354392 Mar 2001 GB
4-288743 Oct 1992 JP
06351023 Dec 1994 JP
8-125651 May 1996 JP
08-287014 Nov 1996 JP
8287014 Nov 1996 JP
10-13784 Jan 1998 JP
11136708 May 1999 JP
11-232776 Aug 1999 JP
2000122933 Apr 2000 JP
2001-203686 Jul 2001 JP
WO 9211713 Jul 1992 WO
9909743 Feb 1999 WO
9907150 Feb 1999 WO
9909743 Feb 1999 WO
WO 9918729 Apr 1999 WO
9941907 Aug 1999 WO
0008909 Feb 2000 WO
WO 0013412 Mar 2000 WO
WO 0014967 Mar 2000 WO
WO 0019294 Apr 2000 WO
0056068 Sep 2000 WO
WO 0137546 May 2001 WO
WO 0143444 Jun 2001 WO
0165762 Sep 2001 WO
0198903 Dec 2001 WO
WO 0199422 Dec 2001 WO
WO 0215184 Feb 2002 WO
WO 02065750 Aug 2002 WO
2004014075 Feb 2004 WO
WO 2004017637 Feb 2004 WO
WO 2004057871 Jul 2004 WO
WO 2004082286 Sep 2004 WO