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/620,833, entitled “SECURE STORAGE AND REPLAY OF MEDIA PROGRAMS USING 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;
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;
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 J. 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,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; 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.
1. Field of the Invention
The present invention relates to systems and methods 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 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 used to decrypt the media programs for presentation to the subscribers.
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 encrypted access control information and the program material encrypted according to a first encryption key, the encrypted access control information including a first encryption key and temporally-variant control data; decrypting the encrypted access control information to produce the temporally-variant control data; modifying the temporally-variant control data to generate temporally-invariant control data; re-encrypting the access control information including the temporally-invariant control data; further encrypting the encrypted program material according to a second encryption key; encrypting the second encryption key according to a third (box) encryption key to produce a fourth encryption key; and storing the further encrypted program material and the encrypted access control information and the fourth encryption key.
The apparatus comprises a conditional access module, for accepting encrypted access control information and the program material encrypted according to a first encryption key, the encrypted access control information including a first encryption key and temporally-variant control data; the conditional access module having a first decryptor module, for decrypting the encrypted access control information to produce the temporally variant control data; a conversion module for modifying the temporally-variant control data to produce temporally-invariant control data; a re-encryptor module, for re-encrypting the decrypted access control information; a second decryptor module for decrypting the re-encrypted access control information to produce the first encryption key; a copy protection encryption module, communicatively coupleable to the conditional access module and a media storage device, the copy protection encryption module for further encrypting the encrypted 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 copy protection decryption module, communicatively coupleable to the conditional access module and the media storage device, the copy protection decryption module for decrypting the encrypted fourth encryption key to produce the second encryption key using the third encryption key.
One 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.
Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
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.
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 the subscriber antenna 112 to which it is communicatively coupled.
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.
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.
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
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 the data encryption standard (DES) and 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.
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.
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.
The encrypted program material 504 (denoted Encrypted V/A/D in
In one embodiment, the CP key 514 is derived using a CP generation module disposed in the CAM 406 or elsewhere in the IRD 132 from the properties of replay rights and other metadata in the data stream that is broadcast to the tuner 410. Depending on the metadata, the CP key 514 may also be time variant with the broadcast program material. In another embodiment, the CP key 514 may be augmented with at least a portion of the metadata before being encrypted with the box key 518 and stored in the media storage device 528 as the encrypted CP key 524. In this embodiment, when the encrypted CP key 524 is decrypted, the CP key 514 and related metadata are both produced. The metadata can then be used to verify and/or control replay of the program material. The CP key 514 may also be internally generated by the IRD 132 without the metadata.
The encrypted CWP 506 is also provided to the CAM 406. The CWP 506 (which at this point includes temporally-variant control data) is then decrypted by a first CWP decryptor module 510. In one embodiment of the present invention, the CWP 506 is encrypted according to an I/O indecipherable algorithm, and the operations depicted by block 510 include the application of the I/O indecipherable algorithm. In another embodiment of the present invention, the CWP 506 is encrypted with a key, and the operations depicted by block 510 involve the application of the key to reconstruct the encrypted data within the CWP 506. Further, the operations depicted in block 510 can be invoked for all data streams received by the IRD 132, or can be invoked only for data streams associated with media programs that have been selected for recording by the subscriber 110. Optional pre-buy module 508 accepts data from the user I/O 420 or from the broadcaster indicating that the subscriber 110 would like to purchase and record a particular media program. If such a purchase (advance or pre-buy) has been requested, the CWP decrypt operations depicted in block 510 commence when the media program is broadcast. In another embodiment of the present invention, the broadcaster determines which programs with be stored on the media storage device 528, and the subscriber 110 need not decide in advance which media programs should be stored for later viewing. For example, the broadcaster may store the ten most popular movies in the media storage device 528, and only bill the subscriber 110 when the subscriber opts to view the media program. In this case, the pre-buy module 508 receives the command to store the media program from the broadcaster and initiates the functions performed in block 510.
The information in the decrypted CWP is then provided to the conversion module 511, which modifies the temporally variant control data to produce temporally-invariant control data. In one embodiment, the temporally-varying control data associates and expiration time with the program material, and the conversion module 511 modifies the expiration time associated with the program material. The expiration time can be eliminated altogether, a value can be inserted indicating that the expiration time is a very large value (e.g. Dec. 31, 2999), or the expiration time can be modified to specify a date and/or time range (e.g. Aug. 19, 1999 at 12:01 AM through Aug. 19, 2000 at 11:59 PM). The information in the CWP, including the temporally-invariant control data, is provided to a re-encryption module 512, wherein the decrypted CWP is re-encrypted to produce a modified CWP* 513. In one embodiment, the re-encryption module applies the I/O indecipherable algorithm to produce CWP* 513, however, this need not be the case. The CWP can be re-encrypted using an encryption key, or by any other method. The re-encrypted CWP* 513 is provided to the first encryption module 552.
The key encryption module 517 also encrypts the CP key 514 with the box key 518 to produce the encrypted CP key 524. In one embodiment, the box key 518 is stored inside the receiver/decoder 402. For example, the box key 518 could be an internal electronic serial number (ESN) of an integrated circuit implementing some or all of the functions of the TDM 412 (hereinafter, the “transport chip”). Incorporating the ESN into the encryption key ensures that only that IRD 132 that stored the encrypted information in the media storage device can successfully decrypt the stream.
The further encrypted program material 520, the encrypted CWP 522, and the encrypted CP key 524 (which is itself a “key”) is then stored 526 in the media storage device 528. The media storage device 528 is typically a hard drive, but may be a device with sufficient capacity and access time to support recording and/or playback operations of the data stored therein.
When the subscriber 110 decides to play back the stored media programs, an appropriate user input is provided on the user I/O device 420. The user input may comprise a play command, a fast forward command, a reverse command, a fast play or fast reverse play command, or a pause command. In response to the user input, the stored data is retrieved from the media storage device 524. This data includes the further encrypted program material 510, the encrypted CWP 522, and the encrypted CP key 524. The encrypted CP key 524 is decrypted using the box key 518 to produce the CP key 514. This CP key 514 is used to decrypt the further encrypted media program material 520 and the encrypted CWP 522 to produce the encrypted media program 504 and the CWP* 513, respectively. The CWP* 513 is provided to the CAM 406.
If the requested media program is a PPV program (IPPV or OPPV), the subscriber 110 is informed that the media program selected is a PPV program. If the subscriber 110 elects to receive the PPV program, a PPV request is accepted, and the IPPV control module 536 commands the purchase history module 535 to collect and record the information regarding the requested program material so that the subscriber 110 can be billed for viewing the media program. In one embodiment, the PPV request is compared to the replay right information in the metadata to determine if the program material that is the subject of the PPV request should be decrypted and provided. For example, the replay right metadata could be used indicate that the program could be viewed for a specific period of time, or for a particular number of showings.
The CWP* 513 is then provided to a second CWP decryption module 538, which produces the CW key 546. This is accomplished in the CAM 406 via application of the I/O indecipherable algorithm discussed above. If the CWP* was re-encrypted using an ordinary encryption key, the decryption is accomplished via application of the encryption key. Using the CW key 546, the broadcast decrypt module 540 decrypts the encrypted program material 504 to produce a clear version of the media program 542.
Using the foregoing scheme, the encrypted program material of the CWP must be tracked and correlated during decryption by the IRD 132. This may be accomplished by correlation through time stamps, and/or MPEG I and P frames. Since each playback of program requires the CP decryption (via CP key 514) and the CA decryption (via CW key 546) process, the decryption may be slowed enough to cause video lagging or blank out during trick play functions. This problem could be minimized by setting aside sufficient buffer memory to handle the decoded video.
After suitable processing (i.e. MPEG and or JPEG decoding, decompression, conversion to an analog signal, etc.), the media program is provided to an external interface 404 device, which may include a presentation device such as a display 544.
One advantage of the present invention is that the data processing required to provide pay-per-play services is resident on the media storage device 528. Hence, once the user initiates the purchase of the program material or requests trick play functions, the required processing utilized data replayed from the media storage device 528 and not from live streamed data. Since shuttling back and forth between real time viewing and live streamed data is minimized or eliminated, difficulties with the synchronization of data retrieved from the media storage device 528 are minimized.
In one embodiment of the present invention, the data stream received in IRD 132 further comprises metadata including data to control replay rights and copy protection. This metadata can be encrypted by the CWP encrypt module 512, and/or the storage encrypt module 516 and stored in the media storage device 528 for later decryption and use when a request to view the media program is received. Alternatively, the metadata can be encrypted and broadcast in the data stream in real time for all PPV-enabled media programs, thus obviating the need for storing the information in the media storage device 528.
As described above, the relationship between the CWP 506 and the encrypted media program may be time-varying. The foregoing embodiment modifies the temporally-variant control data so that the program material can be viewed at a different times. In one embodiment of the present invention, the expiration time associated with the SCIDs for the program material from the CWP 506 is simply ignored, rather than modified as described above. This embodiment also requires changes to the CAM 406 and/or the IRD 132.
Although the foregoing has been described with respect to a plurality of encryption modules (e.g. modules 516 and 517) and decryption modules (e.g. modules 532 and 534), the foregoing can be implemented with a single encryption module, a single decryption module, or one or more single encryption/decryption module(s). In one embodiment of the present invention, the operations performed by modules 516, 517, 532, and 534, are performed in a single integrated circuit device such as the transport chip.
The present invention describes a system for recording program material for replay by creating modified access control information to expand or otherwise change the viewing rights from that which is inherent in the broadcast data stream. In one embodiment, this is accomplished by removing or modifying the time-dependencies of the control data. However, the key is required to decode the program material itself (the CW key 546 is not generated until the subscriber 110 provides an input indicating that playback of the stored program material is desired (and that the subscriber 110 has obtained the right to do so). This expands the viewing rights of the recorded program material to be similar to that of a video on demand system. The modified control information may include a wide variety of replay rights, including the right to replay the program material a particular number of times, the right to replay the program material for a particular time period, or the right to replay the program material without limitation.
The present invention also enhances the security of the data stored on the disk drive by further encrypting (with a CP or copy protection key) the already encrypted program material comprising a video/audio/data MPEG stream before storage. These encryption and decryption functions are provided by the receiver/decoder 402 transport chip. Since the broadcast data stream is not decrypted before storage on the media storage device, but rather further encrypted, a clear version is not exposed to possible compromise before storage on the media storage device. Further, since the encrypted broadcast stream is further encrypted before storage, the encrypted broadcast stream is not available for potential pirates to analyze to try to break the broadcast stream encryption scheme.
In one embodiment, metadata is included in the data stream broadcast to the IRD 400. This metadata includes replay rights and other parameters necessary for controlling the replay of the media program. This replay rights included in this metadata and/or the broadcast time of the program material can be used to derive the CP key that is used to further encrypt (already) encrypted program material.
The program material requested for storage into the media storage device includes the further encrypted version of the encrypted program material and the CWP. This further encrypted data is not decrypted until the user starts the playback of the program from the media storage device.
Once playback is initiated, the further encrypted data and the encrypted CWP is decrypted using the CP key. The decrypted CWP is provided to the CAM. The CAM decrypts the CWP, and provides the resulting CW to a CW decryptor to decrypt the encrypted program material.
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.
Number | Name | Date | Kind |
---|---|---|---|
4613901 | Gilhousen et al. | Sep 1986 | A |
4633309 | Li et al. | Dec 1986 | A |
4675732 | Oleson | Jun 1987 | A |
4866769 | Karp | Sep 1989 | A |
4866787 | Olesen | Sep 1989 | A |
5029207 | Gammie | Jul 1991 | A |
5033084 | Beecher | Jul 1991 | 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 |
5301352 | Nakagawa et al. | Apr 1994 | A |
5335277 | Harvey et al. | Aug 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 |
5438423 | Lynch et al. | Aug 1995 | A |
5440336 | Buhro et al. | Aug 1995 | A |
5495531 | Smiedt | Feb 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 |
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 |
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 |
5790783 | 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 |
5850218 | LaJoie et al. | Dec 1998 | A |
5864747 | Clark et al. | Jan 1999 | A |
5867207 | Chaney et al. | 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 |
6035038 | Campinos et al. | Mar 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 |
6144400 | Ebisawa | Nov 2000 | A |
6154206 | Ludtke | Nov 2000 | A |
6157719 | Wasilewski et al. | Dec 2000 | A |
6157949 | Cheng et al. | Dec 2000 | A |
6160988 | Shroyer 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 |
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 |
6370688 | Hejna, Jr. | Apr 2002 | B1 |
6398245 | Gruse et al. | Jun 2002 | B1 |
6415031 | Colligan 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 |
6476825 | Croy et al. | Nov 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 |
6516465 | Paskins | 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 |
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 |
6701528 | Arsenault et al. | Mar 2004 | B1 |
6714650 | Maillard et al. | Mar 2004 | B1 |
6754827 | Cane et al. | Jun 2004 | B1 |
6754904 | Cooper et al. | Jun 2004 | B1 |
6772434 | Godwin et al. | Aug 2004 | B1 |
6804357 | Ikonen et al. | Oct 2004 | B1 |
6853728 | Kahn et al. | Feb 2005 | B1 |
6889208 | Okabe et al. | May 2005 | B1 |
6912513 | Candelore | Jun 2005 | B1 |
20010001876 | Morgan et al. | May 2001 | A1 |
20010046299 | Wasilewski et al. | Nov 2001 | A1 |
20020001386 | Akiyama | Jan 2002 | A1 |
20020023219 | Treffers et al. | Feb 2002 | A1 |
20020048367 | Maillard | Apr 2002 | A1 |
20020056112 | Dureau et al. | May 2002 | A1 |
20020112243 | Hunter et al. | Aug 2002 | A1 |
20020166121 | Rovira | Nov 2002 | A1 |
20020170054 | Kudelski et al. | Nov 2002 | A1 |
20030005285 | Graunke | Jan 2003 | A1 |
20030040962 | Lewis | Feb 2003 | A1 |
20030061477 | Kahn et al. | Mar 2003 | A1 |
20030105718 | Hurtado et al. | Jun 2003 | A1 |
20030110132 | Sako | Jun 2003 | A1 |
20030131349 | Kuczynski-Brown | Jul 2003 | A1 |
20030145183 | Muehring | Jul 2003 | A1 |
20030174844 | Cadelore | Sep 2003 | A1 |
20030188164 | Okimoto | Oct 2003 | A1 |
20030228911 | Dernis et al. | Dec 2003 | A1 |
20040003079 | Alu et al. | Jan 2004 | A1 |
20040032950 | Graunke | Feb 2004 | A1 |
20040073954 | Bjordammen et al. | Apr 2004 | A1 |
20040102154 | Klauss et al. | May 2004 | A1 |
20040148634 | Arsenault et al. | Jul 2004 | A1 |
20040190721 | Barrett et al. | Sep 2004 | A1 |
20050039025 | Main et al. | Feb 2005 | A1 |
20050071280 | Irwin et al. | Mar 2005 | A1 |
20050091681 | Borden et al. | Apr 2005 | A1 |
20050108519 | Barton et al. | May 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 |
20050249350 | Kahn et al. | Nov 2005 | A1 |
Number | Date | Country |
---|---|---|
0710017 | May 1996 | EP |
0 936 812 | Aug 1999 | EP |
0 989 557 | Mar 2000 | EP |
0 975 165 | Dec 2000 | EP |
1122910 | Aug 2001 | EP |
1156676 | Nov 2001 | EP |
0002703 | Aug 2002 | EP |
1304871 | Apr 2003 | EP |
1353511 | Oct 2003 | EP |
1369152 | Dec 2003 | EP |
2354392 | Mar 2001 | GB |
11136708 | May 1989 | JP |
4-175025 | Jun 1992 | JP |
5-284499 | Oct 1993 | JP |
06351023 | Dec 1994 | JP |
8-125651 | May 1996 | JP |
10-013784 | Jan 1998 | JP |
2000-122539 | Apr 2000 | JP |
WO 9211713 | Jul 1992 | WO |
WO 0013412 | Mar 2000 | WO |
WO 0014967 | Mar 2000 | WO |
WO 0019294 | Apr 2000 | WO |
WO 0137546 | May 2001 | WO |
WO 0143444 | Jun 2001 | WO |
WO 0199422 | Dec 2001 | WO |
WO 0215184 | Feb 2002 | WO |
WO 02065750 | Aug 2002 | WO |
WO 2004017637 | Feb 2004 | WO |
WO 2004057871 | Jul 2004 | WO |