Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Sub-scanning interval adjusting apparatus for multi-beam scanning unit
Patent Number: 7,151,556 Issued on 12/19/2006 to Yoo

Title: Apparatus and method for changing the playback rate of recorded speech
Patent Number: 7,143,029 Issued on 11/28/2006 to Elshafei

Title: Electric power steering control device
Patent Number: 7,142,964 Issued on 11/28/2006 to Mukai,   et al.

Title: Ranking parser for a natural language processing system
Patent Number: 7,143,036 Issued on 11/28/2006 to Weise

Title: Reversible crosslinking method for making an electro-optic polymer
Patent Number: 7,144,960 Issued on 12/05/2006 to Jen,   et al.

Title: ALD of tantalum using a hydride reducing agent
Patent Number: 7,144,806 Issued on 12/05/2006 to Fair,   et al.

Title: DRAM memory integration method
Patent Number: 6,759,304 Issued on 07/06/2004 to Coronel,   et al.

Title: Charging method in telecommunications network
Patent Number: 6,760,417 Issued on 07/06/2004 to Wallenius

Title: Catalytic converter and catalyst element therefor
Patent Number: 7,157,060 Issued on 01/02/2007 to Newburry

Title: Induction system for a four cycle engine
Patent Number: 7,152,706 Issued on 12/26/2006 to Pichler,   et al.

Title: Lubrication system for two-cycle engine
Patent Number: 7,150,249 Issued on 12/19/2006 to Kato

Title: Digital detection of blockers for wireless receiver
Patent Number: 7,151,473 Issued on 12/19/2006 to Fontaine,   et al.

Title: Reference voltage stabilization in CMOS sensors
Patent Number: 7,151,472 Issued on 12/19/2006 to Huang,   et al.

Title: Disposable body fluid absorbent pad
Patent Number: 7,156,834 Issued on 01/02/2007 to Kawata,   et al.

Title: Generating and searching compressed data
Patent Number: 7,151,471 Issued on 12/19/2006 to Baldwin,   et al.

Title: Substituted 5-aryl-2-(2-hydroxyphenyl)-2H-benzotriazole UV absorbers, compositions stabilized therewith and process for preparation thereof
Patent Number: 6,774,238 Issued on 08/10/2004 to Pastor,   et al.

Title: Porous resin bead production method
Patent Number: 7,153,890 Issued on 12/26/2006 to Mori,   et al.

Title: Method for interleaving sheets
Patent Number: 6,761,110 Issued on 07/13/2004 to Stark,   et al.

Title: Lost foam casting apparatus and method for creating hollow gating
Patent Number: 7,150,307 Issued on 12/19/2006 to Goettsch

Title: Radiation module capable of resisting reverse flow of hot fluid
Patent Number: 7,150,311 Issued on 12/19/2006 to Liu

Title: Multiphase reduced voltage starter with bypass relays, interphase electrical isolation and shared thermal mass
Patent Number: 7,149,064 Issued on 12/12/2006 to Nolden,   et al.

Title: Apparatus and method of encoding an image using a statistical model based on pixels
Patent Number: 6,760,480 Issued on 07/06/2004 to Hata,   et al.

Title: Control apparatus for fuel cell vehicle
Patent Number: 7,164,976 Issued on 01/16/2007 to Saeki,   et al.

Title: Data transmission system and occupant protection device
Patent Number: 7,164,979 Issued on 01/16/2007 to Kumazawa

Title: Cordless blind structure
Patent Number: 7,150,304 Issued on 12/19/2006 to Hsu

Title: Head supporting device and disk apparatus
Patent Number: 7,149,059 Issued on 12/12/2006 to Hashi,   et al.

Title: Electrical device having an electrical component safety apparatus
Patent Number: 7,150,635 Issued on 12/19/2006 to Ostmoe,   et al.

Title: System and method for reducing power dissipation in line driver circuits
Patent Number: 6,760,430 Issued on 07/06/2004 to McGinn,   et al.

Title: Shoe sole structures
Patent Number: 6,763,616 Issued on 07/20/2004 to Ellis, III

Title: Actuation device and method for high density hard disk drive head
Patent Number: 7,149,060 Issued on 12/12/2006 to Yang,   et al.

Title: Method and mold to control optical device polymerization
Patent Number: 7,144,528 Issued on 12/05/2006 to Altmann

Title: Flexible hybrid defect classification for semiconductor manufacturing
Patent Number: 7,142,992 Issued on 11/28/2006 to Huet,   et al.

Title: Extraction of bank routing number from information entered by a user
Patent Number: 6,760,470 Issued on 07/06/2004 to Bogosian,   et al.

Title: Heat dissipation structure for optical engine
Patent Number: 7,149,041 Issued on 12/12/2006 to Hsu,   et al.

Title: Inflatable snowshoe
Patent Number: 6,763,617 Issued on 07/20/2004 to Stafford

Title: Apparatus for lighting a display in a color dependent on information and method therefor
Patent Number: 6,762,740 Issued on 07/13/2004 to Kimura

Title: Metallic catalyst carrier
Patent Number: 6,761,980 Issued on 07/13/2004 to Sato,   et al.

Title: Cannula assembly
Patent Number: 7,156,836 Issued on 01/02/2007 to Teo

Title: Super predictive-transform coding
Patent Number: 6,760,479 Issued on 07/06/2004 to Feria

Title: Translator for infants and toddlers
Patent Number: 7,143,044 Issued on 11/28/2006 to Zadrozny,   et al.

Title: Bi/multi-directional filter cartridge and filter platform for mounting the cartridge thereon
Patent Number: 6,761,169 Issued on 07/13/2004 to Eswarappa

Title: Method and system for collecting traffic data
Patent Number: 7,142,977 Issued on 11/28/2006 to Knuuttila,   et al.

Title: Disposable diaper having elasticized wings and waistband
Patent Number: 7,156,829 Issued on 01/02/2007 to Minato,   et al.

Title: Interworking between services in telecommunications network
Patent Number: 6,760,425 Issued on 07/06/2004 to Tuunanen

Title: Round-robin arbiter with low jitter
Patent Number: 7,149,227 Issued on 12/12/2006 to Stoler,   et al.

Title: Method and apparatus for smoothing current transients in a content addressable memory (CAM) device with dummy searches
Patent Number: 7,149,101 Issued on 12/12/2006 to Om,   et al.

Title: Falsification discrimination method for iris recognition system
Patent Number: 6,760,467 Issued on 07/06/2004 to Min,   et al.

Title: Navigation system with map and point of interest databases
Patent Number: 7,142,978 Issued on 11/28/2006 to Nix,   et al.

Title: Two-layered conductive film having transmitting and expanding electrical signal functions
Patent Number: 7,151,578 Issued on 12/19/2006 to Uchida

Title: Broadcast receiving system and method, and medium storing a broadcast reception control program
Patent Number: 7,151,577 Issued on 12/19/2006 to Yamamoto,   et al.

Title: Industrial vehicle
Patent Number: 7,152,709 Issued on 12/26/2006 to Jung

Title: Calibration system for a spectral luminometer and a method for calibrating a spectral luminometer
Patent Number: 7,151,600 Issued on 12/19/2006 to Imura

Title: Acidic treatment liquid and method of treating copper surfaces
Patent Number: 7,153,449 Issued on 12/26/2006 to Hauf,   et al.

Title: Disposable surgical safety scalpel
Patent Number: 6,757,977 Issued on 07/06/2004 to Dambal,   et al.

Title: Grooved air bag
Patent Number: 7,152,880 Issued on 12/26/2006 to Pang,   et al.

Title: Method and apparatus for displaying aircraft engine characteristics
Patent Number: 7,142,131 Issued on 11/28/2006 to Sikora

Title: Performance enhancing additive material for the nickel hydroxide positive electrode in rechargeable alkaline cells
Patent Number: 7,172,710 Issued on 02/06/2007 to Ovshinsky,   et al.

Title: Hand mounted testing meter
Patent Number: 6,940,270 Issued on 09/06/2005 to Chen

Title: Multicontact connector insert and a multicontact connector fitted with such an insert
Patent Number: 7,150,649 Issued on 12/19/2006 to Van Der Mee,   et al.

Title: Mat fastener
Patent Number: 6,757,945 Issued on 07/06/2004 to Shibuya,   et al.

Title: Deflection angle detecting device
Patent Number: 7,151,596 Issued on 12/19/2006 to Takahashi,   et al.

Title: Focus error detecting device and optical pickup device having the same
Patent Number: 7,151,595 Issued on 12/19/2006 to Ogasawara

Title: Cargo container having an audio system
Patent Number: 7,142,126 Issued on 11/28/2006 to Jeon

Title: Method and system for reverting to default printer properties after a specified time interval
Patent Number: 7,151,611 Issued on 12/19/2006 to Sesek

Title: Electronic image pick-up apparatus and method of adjusting the focal position thereof
Patent Number: 6,954,233 Issued on 10/11/2005 to Ito

Title: Emulating advanced graphical user interface elements in a hypermedia content browser
Patent Number: 7,143,359 Issued on 11/28/2006 to Aggarwal,   et al.

Title: 3,5-Disubstituted-[1,2,4]-oxadiazoles and analogs as activators of caspases and inducers of apoptosis and the use thereof
Patent Number: 7,144,876 Issued on 12/05/2006 to Cai,   et al.

Title: Test pattern, inspection method, and device manufacturing method
Patent Number: 7,151,594 Issued on 12/19/2006 to Den Boef,   et al.

Title: Boat ramp improvements
Patent Number: 7,153,059 Issued on 12/26/2006 to Foxwell

Title: Method for evaluation of vegetables and fruits and evaluation apparatus therefor
Patent Number: 7,151,606 Issued on 12/19/2006 to Taniguchi,   et al.

Title: Wire lead guide and method for terminating a communications cable
Patent Number: 7,150,657 Issued on 12/19/2006 to Quenneville,   et al.

Title: Micromachined structures including glass vias with internal conductive layers anodically bonded to silicon-containing substrates
Patent Number: 6,759,309 Issued on 07/06/2004 to Gross

Title: Parametric compression/decompression modes for quantization matrices for digital audio
Patent Number: 7,143,030 Issued on 11/28/2006 to Chen,   et al.

Title: Trailer front mounted sprayers
Patent Number: 7,150,419 Issued on 12/19/2006 to Tomlonovic,   et al.

Title: Self aligned method of forming a semiconductor memory array of floating gate memory cells with buried bit-line and raised source line
Patent Number: 7,144,778 Issued on 12/05/2006 to Kianian,   et al.

Digital video recorder for encrypting/decrypting video programs in segments to facilitate trick play features Number:6,851,055 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Greek, Cypriot Leaders Resume Unification Talks in Nicosia by Nathan Morley
     Indonesia Tobacco Sales Grow, Raising Health Fears
     South Korea Allows Top Defector to Travel Overseas by VOA News

Title: Digital video recorder for encrypting/decrypting video programs in segments to facilitate trick play features

Abstract: A digital video recorder (DVR) is disclosed for storing a plaintext video program as an encrypted video program. The DVR comprises a random access storage (RAS) device for storing the encrypted video program in encrypted segments. The DVR further comprises a cryptography facility comprising an encoder for encrypting plaintext segments of the plaintext video program into the encrypted segments stored on the RAS device, and a decoder for randomly and independently decrypting the encrypted segments of the encrypted video program into plaintext segments during playback.

Patent Number: 6,851,055 Issued on 02/01/2005 to Boyle,   et al.


Inventors: Boyle; William B. (Lake Forest, CA); Rice; Alan P. (Santa Ana, CA)
Assignee: Keen Personal Technologies, Inc. (Lake Forest, CA); Keen Personal Media, Inc. (Lake Forest, CA)
Appl. No.: 676637
Filed: September 30, 2000

Current U.S. Class: 713/193; 713/187; 713/200; 713/201
Intern'l Class: H04L 001/24
Field of Search: 713/193,187,200,201,165


References Cited [Referenced By]

U.S. Patent Documents
5488409Jan., 1996Yuen et al.725/41.
5592555Jan., 1997Stewart.
5687237Nov., 1997Naclerio.
5761607Jun., 1998Gudesen725/89.
5931947Aug., 1999Burns et al.
Foreign Patent Documents
WO 97-43761Nov., 1997WO.


Other References

Bennet Yee, J.D. Tygar, "Secure Coprocessors in Electronic Commerce Applications", First USENIX Workshop on Electronic Commerce, Jul. 11-12, 1995, 155-170.
Howard Gobioff, "Security for a High Performance Commodity Storage Subsystem", School of Computer Science, Carnegie Mellon University, CMU-CS-99-160, Jul. 1999, pp. 171-178.
Rodney Van Meter, Steve Hotz, Gregory Finn, "Derived Virtual Devices: A Secure Distributed File System Mechanism", In Proceedings of the Fifth NASA Goddard Space Flight Center Conference on Mass Storage Systems and Technologies, Sep. 1996.
Garth A. Gibson, David F. Nagle, Khalil Amiri, Fay W. Chang, Howard Gobioff, Erik Riedel, David Rochberg, and Jim Zelenka, "Filesystems for Network-Attached Secure Disks", Jul. 1997, 1-18, CMU-CS-97-118, School of Computer Science, Carnegie Mellon University, Pittsburgh, Pennsylvania.
Howard Gobioff, Garth Gibson, and Doug Tygar, "Security for Network Attached Storage Devices", Oct. 23, 1997, 1-18 CMU-CS-97-185, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213.
"Digital Transmission License Agreement", www.dtcp.com.
"Digital Transmission Content Protection Specification", vol. 1, Revision 1.0, Apr. 12, 1999, www.dtcp.com.
"5C Digital Transmission Content Protection White Paper", Revision 1.0, Jul. 14, 1998, www.dtcp.com.
Steve Grossman, "Two-Chip Set Safeguards Digital Video Content", Electronic Design, Jun. 12, 2000, pp. 68-72.

Primary Examiner: Peeso; Thomas R.
Attorney, Agent or Firm: Shara, Esq.; Milad G., Sheerin, Esq.; Howard H.

Claims



We claim:

1. A digital video recorder for storing a plaintext video program as an encrypted video program, the digital video recorder comprising:

(a) a random access storage (RAS) device for storing the encrypted video program in encrypted segments;

(b) a cryptography facility comprising:

an encoder for encrypting plaintext segments of the plaintext video program into the encrypted segments stored on the RAS device; and

a decoder for randomly and independently decrypting each encrypted segment of the encrypted video program into a plaintext segment during playback.

2. The digital video recorder as recited in claim 1, wherein the cryptography facility further comprises a pseudo-random sequence generator for generating a pseudo-random sequence.

3. The digital video recorder as recited in claim 2, wherein:

(a) the pseudo-random sequence generator is initialized with segment seed values corresponding to the plaintext segments of the plaintext video program; and

(b) the encoder combines the pseudo-random sequence generated for each segment seed, value with the plaintext segments of the plaintext video program to generate the encrypted segments of the encrypted video program stored on the RAS device.

4. The digital video recorder as recited in claim 2, wherein:

(a) the pseudo-random sequence generator is initialized with segment seed values corresponding to the encrypted segments of the encrypted video program; and

(b) the decoder combines the pseudo-random sequence generated for each segment seed value with the encrypted segments of the encrypted video program to generate the plaintext segments of the plaintext video program during playback.

5. The digital video recorder as recited in claim 2, wherein:

(a) the pseudo-random sequence generator comprises a linear feedback shift register (LFSR); and

(b) the LFSR is initialized with segment seed values corresponding to the plaintext segments of the plaintext video program during encoding, and with segment seed values corresponding to the encrypted segments of the encrypted video program during decoding.

6. The digital video recorder as recited in claim 5, further comprising a seed value generator for generating the segment seed values from an initial value.

7. The digital video recorder as recited in claim 1, wherein:

(a) the RAS device comprises a hard disk drive (HDD) comprising a disk;

(b) the disk comprises a plurality of data tracks;

(c) ach track comprises a plurality of data sectors; and

(d) each data sector stores an encrypted segment of the encrypted video program.

8. A method for processing a video program in a digital video recorder comprising a random access storage (RAS) device, the method comprising the steps of:

(a) encrypting plaintext segments of a plaintext video program into encrypted segments;

(b) storing the encrypted segments on the RAS device;

(c) randomly reading the encrypted segments from the RAS device; and

(d) independently decrypting each encrypted segment into a plaintext segment.

9. The method for processing a video program as recited in claim 8, further comprising the step of generating a pseudo-random sequence using a pseudo-random sequence generator.

10. The method for processing a video program as recited in claim 9, further comprising the steps of:

(a) initializing the pseudo-random sequence generator with segment seed values corresponding to the plaintext segments of the plaintext video program; and

(b) combining the pseudo-random sequence generated for each segment seed value with the plaintext segments of the plaintext video program to generate the encrypted segments of the encrypted video program stored on the RAS device.

11. The method for processing a video program as recited in claim 9, further comprising the step of:

(a) initializing the pseudo-random sequence generator with segment seed values corresponding to the encrypted segments of the encrypted video program; and

(b) combining the pseudo-random sequence generated for each segment seed value with the encrypted segments of the encrypted video program to generate the plaintext segments of the plaintext video program.

12. The method for processing a video program as recited in claim 9, wherein:

(a) the pseudo-random sequence generator comprises a linear feedback shift register (LFSR); and

(b) the LFSR is initialized with segment seed values corresponding to the plaintext segments of the plaintext video program during encoding, and with segment seed values corresponding to the encrypted segments of the encrypted video program during decoding.

13. The method for processing a video program as recited in claim 12, further comprising the step of generating the segment seed values from an initial value.

14. The method for processing a video program as recited in claim 8, wherein:

(a) the RAS device comprises a hard disk drive (HDD) comprising a disk;

(b) the disk comprises a plurality of data tracks;

(c) each track comprises a plurality of data sectors; and each data sector stores an encrypted segment of the encrypted video program.
Description



BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to digital video recorders. More particularly, the present invention relates to a digital video recorder for encrypting/decrypting video programs in segments to facilitate trick play features.

2. Description of the Prior Art

Digital video recorders (DVRs) typically store video programs on a random access storage (RAS) device, such as on a conventional hard disk drive (HDD), which enables certain "trick play" features, such as skipping ahead in a program. The trick play features are enabled by processing frame headers which are recorded in arbitrary length frames of the video program. Due to the arbitrary frame lengths, the video programs are typically processed in unencrypted form in order to detect frame headers which identify frame boundaries. Thus, prior art DVRs typically store copyrighted video programs in unencrypted form so that the DVR can randomly access individual frames during playback. This design, however, subjects the copyrighted material to unauthorized reproduction, for example, by eavesdropping while the copyrighted content is transferred from the DVR host circuitry to the RAS device.

Prior art DVRs typically employ a conventional hard disk drive (HDD), such as an IDE hard disk drive, as the RAS device since HDDs have sufficient capacity to store video content and are relatively inexpensive due to their prevalent use in personal computers (PCs). Rather than design and manufacture a customized HDD for the DVR market, DVRs are constructed similar to a PC, including DVR host circuitry for interfacing with a commodity HDD which reduces the cost of the DVR. Using a conventional HDD, however, has rendered the DVR more susceptible to unauthorized copying of video programs since the HDD can be removed and installed in another DVR or in a PC.

There is, therefore, a need to protect against unauthorized reproduction of copyrighted video programs in a DVR employing a cost effective, commodity HDD, while supporting trick play features.

SUMMARY OF THE INVENTION

The present invention may be regarded as a digital video recorder (DVR) for storing a plaintext video program as an encrypted video program. The DVR comprises a random access storage (RAS) device for storing the encrypted video program in encrypted segments. The DVR further comprises a cryptography facility comprising an encoder for encrypting plaintext segments of the plaintext video program into the encrypted segments stored on the RAS device, and a decoder for randomly and independently decrypting the encrypted segments of the encrypted video program into plaintext segments during playback.

In one embodiment the cryptography facility comprises a pseudo-random sequence generator for generating a pseudo-random sequence. In one embodiment, the pseudo-random sequence generator is initialized with segment seed values corresponding to the plaintext segments of the plaintext video program, and the encoder combines the pseudo-random sequence generated for each segment seed value with the plaintext segments of the plaintext video program to generate the encrypted segments of the encrypted video program stored on the RAS device. During playback, the pseudo-random sequence generator is initialized with segment seed values corresponding to the encrypted segments of the encrypted video program, and the decoder combines the pseudo-random sequence generated for each segment seed value with the encrypted segments of the encrypted video program to generate the plaintext segments of the plaintext video program.

In an alternative embodiment, the RAS device comprises a hard disk drive (DD) comprising a disk, the disk comprises a plurality of data tracks, each track comprises a plurality of data sectors, and each data sector stores an encrypted segment of the encrypted video program.

The present invention may also be regarded as a method for processing a video program in a digital video recorder comprising a random access storage (RAS) device. Plaintext segments of a plaintext video program are encrypted into encrypted segments. The encrypted segments are stored on the RAS device and, during playback, randomly read from the RAS device. Each encrypted segment is then independently decrypted into a plaintext segment

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a digital video recorder according to an embodiment of the present invention wherein a video program is encrypted in segments, and the encrypted segments stored on a random access storage device.

FIG. 2 shows a digital video recorder according to an alternative embodiment of the present invention wherein video programs are stored in encrypted form on a hard disk drive (HDD) using plaintext keys which are also encrypted using a pseudo-random sequence generated from a unique ID and stored in encrypted file system entries on the HDD.

FIG. 3A shows a programmable file system (FS) polynomial implemented using a linear feedback shift register (LFSR) for generating the pseudo-random sequence of FIG. 2, wherein a seed value is generated for the LFSR from the unique ID.

FIG. 3B shows a programmable FS polynomial implemented using a LFSR for generating the pseudo-random sequence of FIG. 2, wherein coefficient values are generated for the LFSR from the unique ID.

FIG. 4A shows an LFSR for generating a pseudo-random sequence for encrypting a plaintext video program using a plaintext key as a seed value for the LFSR.

FIG. 4B shows an LFSR for generating a pseudo-random sequence for encrypting a plaintext video program using a plaintext key, wherein a seed value is generated from the plaintext key. In an alternative embodiment, a plurality of segment seed values are generated from the plaintext key wherein each segment seed value is used to encrypt a corresponding segment of the plaintext video program.

FIG. 4C shows an LFSR for generating a pseudo-random sequence for encrypting a plaintext video program using a plaintext key, wherein coefficient values are generated from the plaintext key. In an alternative embodiment, sets of coefficient values are generated from the plaintext key wherein each set of coefficient values is used to encrypt a corresponding segment of the plaintext video program.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows a digital video recorder (DVR) 1 for storing a plaintext video program as an encrypted video program according to an embodiment of the present invention. The DVR 1 comprises a random access storage (RAS) device 3 for storing the encrypted video program in encrypted segments 5. The DVR 1 further comprises a cryptography facility 14 comprising an encoder 24 for encrypting plaintext segments 7A of the plaintext video program into the encrypted segments 5 stored on the RAS device 3, and a decoder 26 for randomly and independently decrypting the encrypted segments 5 of the encrypted video program into plaintext segments 7B during playback.

The DVR 1 of FIG. 1 further comprises a video controller 28 for receiving video data 30 from an external entity (e.g., a cable or satellite) and for providing video data 34 to a display device during playback. The video controller 28 processes the headers in the video frames of the video data 30 in order to implement trick play features. Certain trick play features, such as skip ahead or behind, require that the video program be accessed randomly rather than in a consecutive sequence of frames. The DVR 1 of FIG. 1 facilitates this feature by decrypting the video program in segments. When the video controller 28 requires access to a particular segment of the video program, it initializes the decoder 26 with an appropriate segment key for decrypting the video-segment as it is read from the RAS device 3.

FIG. 2 shows a DVR 2 according to an embodiment of the present invention wherein the RAS device 3 of FIG. 1 is implemented as a hard disk drive (HDD) 6. The HDD 6 stores a plurality of encrypted video programs 8 and an encrypted file system, the encrypted file system comprising a plurality of encrypted file system entries 10 for decrypting the plurality of encrypted video programs 8. The DVR 2 further comprises host circuitry 12 for interfacing with the HDD 6, the host circuitry 12 comprising the cryptography facility 14 for encrypting plaintext file system entries 16A into the encrypted file system entries 10 stored on the HDD 6, and for decrypting the encrypted file system entries 10 read from the HDD 6 into plaintext file system entries 16B. The cryptography facility 14 comprises a pseudo-random sequence generator 20, responsive to the unique ID 4, for generating a pseudo-random sequence 22. The cryptography facility 14 further comprises an encoder 24 for combining the pseudo-random sequence 22 with the plaintext file system entries 16A to generate the encrypted file system entries 10 stored on the HDD 6, and a decoder 26 for combining the pseudo-random sequence 22 with the encrypted file system entries 10 read from the HDD 6 to generate the plaintext file system entries 16B.

In one embodiment, the encoder 24 of FIG. 2 performs the encryption operation by XORing each element (e.g., byte) of the plaintext file system entry 16A with a corresponding element (e.g., byte) of the pseudo-random sequence 22. Similarly, the decoder 26 performs the decryption operation by XORing each element (e.g., byte) of the encrypted file system entry 10 with a corresponding element (e.g., byte) of the pseudo-random sequence 22 to generate the plaintext file system entry 16B.

The video controller 28 generates control signals 32 for controlling the operation of the cryptography facility 14 when recording an encrypted video program 8, together with the encrypted file system entry 10 for decrypting the encrypted video program 8. The video controller also processes the decrypted file system entries 16B so that the encrypted video programs 8 can be decrypted and output as video data 34 to a display device. Because the file system entries 10 are stored in encrypted form relative to the unique ID 4 assigned to the DVR 2, the encrypted video programs 8 stored on the HDD 6 cannot be decrypted by connecting the HDD 6 to another DVR or to a PC. In effect, the HDD 6 is married to the host circuitry 12 of the DVR 2 through the unique ID 4 which protects against unauthorized copying. In addition, the encrypted file system entries 10 are transparent to the operation of the HDD 6 so that any conventional HDD 6 may be employed without modification.

In one embodiment, the plaintext file system entry 16A comprises a plaintext key for encrypting a plaintext video program into an encrypted video program 8 stored on the HDD 6. The cryptography facility 14 encrypts the plaintext video program into an encrypted video program 8 stored on the HDD 6, and encrypts the plaintext key into an encrypted key stored on the HDD 6 in an encrypted file system entry 10. In one embodiment, the encoder 24 combines the pseudo-random sequence 22 with the plaintext video program to generate the encrypted video program 8 stored on the HDD 6.

In another embodiment, the encrypted file system entry 10 comprises an encrypted key for decrypting an encrypted video program 8 read from the HDD 6 into a plaintext video program. The cryptography facility 14 decrypts the encrypted key read from encrypted file system entry 10 into a plaintext key, and decrypts the encrypted video program 8 read from the HDD 6 using the plaintext key. In one embodiment, the decoder 26 combines the pseudo-random sequence 22 with the encrypted video program 8 read from the HDD 6 to generate the plaintext video program.

In one embodiment, the pseudo-random sequence generator 20 comprises a programmable file system (FS) polynomial for generating the pseudo-random sequence 22. In one embodiment, the programmable FS polynomial is programmed with coefficients which, in one embodiment, are generated by a coefficient generator responsive to the unique ID 4. In another embodiment, the programmable FS polynomial is programmed with a seed value which, in one embodiment, is generated by a seed value generator responsive to the unique ID 4.

FIG. 3A shows an embodiment of the present invention wherein the FS polynomial is implemented using a suitable linear feedback register (LFSR) 36. An LFSR may be implemented using a number of different configurations. The LFSR 36 of FIG. 3A comprises a shift register 38 comprising N storage elements which are initialized with a seed value 40 generated by a seed value generator 50 from the unique ID 4. A number of taps 42A-42E connect a corresponding number of the storage elements to an adder 44 for adding the values stored in the storage elements. The resulting sum 44 is fed back 46 to an input of the LFSR 36. The LFSR 36 is shifted from left to right, and the right most storage element 48 outputs each value of the pseudo-random sequence 22.

FIG. 3B shows an alternative embodiment of the present invention wherein the FS polynomial is implemented using an LFSR 52 comprising programmable coefficients 54.sub.0 -54.sub.N. A coefficient generator 56 generates coefficient values 58 for programming each of the programmable coefficients 54.sub.0 -54.sub.N. In the embodiment shown in FIG. 3B, the coefficients are binary valued and the programmable coefficients 54.sub.0 -54.sub.N are implemented as switches.

In yet another embodiment of the present invention, the FS polynomial is implemented using an LFSR comprising both a programmable seed value and programmable coefficients values which are generated from the unique ID 4.

In one embodiment, the seed value generator 50 implements a function f(x), such as a polynomial, with the unique ID 4 as the input argument x and the seed value 40 the result. In another embodiment, the seed value generator 50 comprises a programmable algorithm for computing the seed value 40 from the unique ID 4. This embodiment allows a DVR manufacture to select the function f(x) for implementing a line of DVRs. This embodiment also allows an external entity to update the programmable algorithm to protect against system compromise. For example, in one embodiment the DVR 2 of FIG. 2 comprises network circuitry for connecting to a network (e.g., through a cable or satellite), and a system administrator on the network periodically changes the programmable algorithm in a random manner. Thus, if an attacker discovers the algorithm used by the seed value generator 50 to generate the seed value 40, the compromise is only temporary until the system administrator updates the algorithm.

In another embodiment, the coefficient value generator 56 implements a plurality of functions f(x), such as a plurality of polynomials, with the unique ID as the input argument x and the coefficient values 58 the result of each function f(x). The coefficient value generator 56 may also implement a programmable algorithm for computing the coefficient values 58 to facilitate different DVR manufactures and to protect against system compromise as described above.

In another embodiment of the present invention, the seed value generator 50 comprises a seed table comprising a plurality of table entries, each table entry comprising a seed value. An index generator, responsive to the unique ID 4, generates an index into the seed table. In yet another embodiment, the coefficient value generator 56 comprises a coefficient table comprising a plurality of table entries, each table entry comprising coefficient values. An index generator, responsive to the unique ID 4, generates an index into the coefficient table.

FIG. 4A shows an alternative embodiment of the present invention as comprising a programmable LFSR 59 for generating a pseudo-random sequence 22 used to encrypt a plaintext video program into an encrypted video program 8 stored on the HDD 6. A plaintext key 18 is used as a seed value for the LFSR 59, where the plaintext key 18 is associated with the plaintext video program. In one embodiment, the plaintext key is derived from the filename or other attribute of the video program. In another embodiment, the plaintext key is generated randomly using any suitable method, for example, by reading a system clock value just prior to encrypting the plaintext video.

FIG. 4B shows an alternative embodiment of the present invention as comprising a programmable LFSR 60 for generating a pseudo-random sequence 22 used to encrypt a plaintext video program into an encrypted video program 8 stored on the HDD 6. A seed value generator 62 generates a seed value 64 used to initialize the shift register 38. The seed value 64 is generated from the plaintext key 18 used to encrypt the plaintext video program. In one embodiment, the plaintext video program is encrypted in segments, and the seed value generator 62 generates a distinct seed value 64 for each segment number 66. Each segment seed value 64 is essentially a distinct key for use in encrypting a corresponding segment of the plaintext video program. In this manner, compromise of a single key enables successful decrypting of only a segment of the encrypted video program. Further, encrypting the video program in segments facilitates trick play features during playback as described above.

In one embodiment, the plaintext key 18 comprises a plurality of segment keys for encrypting each segment of the plaintext video program, and the seed value generator 62 generates a corresponding seed value 64 for each segment key. In another embodiment, the segment keys are computed from the plaintext key 18, and the seed value generator 62 generates a corresponding seed value 64 for each computed segment key. In one embodiment, the seed value generator 62 comprises a function F(x,y) for computing the segment seed values 64 wherein the plaintext key 18 and segment number 66 are the input arguments x and y, and the segment seed value 64 is the result. Lookup tables may also be employed for generating the segment keys, and the algorithm for computing the segment keys may be programmably updated to facilitate different DVR manufactures and to protect against system compromise as described above.

FIG. 4C shows an alternative embodiment of the present invention as comprising a programmable LFSR 68 for generating a pseudo-random sequence 22 used to encode a plaintext video program into an encrypted video program 8 stored on the HDD 6. A coefficient value generator 70 generates a coefficient values 72 used to initialize the coefficients of the LFSR 68. The coefficient values 72 are generated from the plaintext key 18 used to encrypt the plaintext video program. In one embodiment, the plaintext video program is encrypted in segments, and the coefficient value generator 70 generates distinct coefficient values 72 for each segment number 66. Similar to the embodiment of FIG. 4B, each set of coefficient values 72 is essentially a distinct key for use in encrypting a corresponding segment of the plaintext video program so that compromise of a single key enables successful decrypting of only a segment of the encrypted video program. Further, decrypting the video program in segments facilitates trick lay features during playback as described above.

In one embodiment, the plaintext key 18 comprises a plurality of segment keys for encrypting each segment of the plaintext video program, and the coefficient value generator 70 generates a set of coefficient values 72 for each segment key. In another embodiment, the segment keys are computed from the plaintext key 18, and the coefficient value generator 70 generates a corresponding set of coefficient values 72 for each computed segment key. In one embodiment, the coefficient value generator 70 comprises a function f(x,y) for computing the segment coefficient values 72 wherein the plaintext key 18 and segment number 66 are the input arguments x and y, and the segment coefficient values 72 are the result. Lookup tables may also be employed for generating the segment keys, and the algorithm for computing the segment keys may be programmably updated to facilitate different DVR manufactures and to protect against system compromise as described above.

In another embodiment, the LFSR 60 of FIG. 4B or the LFSR 68 of FIG. 4C is used to decrypt an encrypted video program 8 in segments using the segment keys. In one embodiment, the plaintext key 18 comprises a plurality of segment keys which are encrypted and stored as an encrypted file system entry 10 for use in decrypting the encrypted video program 8 during playback. In another embodiment, the plaintext key 18 is encrypted and stored as an encrypted file system entry 10. During playback, the encrypted key is decrypted into the plaintext key 18, and the plaintext key 18 is used to generate the segment keys for use in decrypting the encrypted video program 8 in segments.

In one embodiment, the HDD 6 comprises a disk having a plurality of data tracks, where each data track comprises a plurality of data sectors. In the embodiments of FIGS. 4B and 4C, a segment of a video program corresponds to a data sector. This simplifies the design since data is typically written to and read from a conventional HDD 6 in sector blocks. In one embodiment, the encrypted key for use in decrypting a corresponding sector is stored in the sector.

In another embodiment of the present invention, the unique ID 4 is implemented using tamper and inspection resistant circuitry to protect against discovery. In one embodiment, the host circuitry 12 and unique ID 4 are implemented within an integrated circuit (IC), and the unique ID 4 is buried, scattered or otherwise concealed within the IC using any suitable method. In yet another embodiment, at least part of the cryptography facility 14 (e.g., the seed value generator 62 of FIG. 4B or the coefficient value generator 70 of FIG. 4C) is implemented using tamper and inspection resistant circuitry to protect against discovery. An example of tamper and inspection resistant circuitry is disclosed in Tygar, J. D. and Yee, B. S., "Secure Coprocessors in Electronic Commerce Applications," Proceedings 1995 USENIX Electronic Commerce Workshop, 1995, New York, which is incorporated herein by reference.

The embodiments of the present invention may be implemented in circuitry or software or both. The circuitry and/or software may be static or field programmable as described above. Software embodiments comprise code segments embodied on a computer readable medium, such as a hard disk, floppy disk, compact disk (CD), digital video disk (DVD), or programmable memory (e.g., an EEPROM). The code segments may be embodied on the computer readable medium in any suitable form, such as source code segments, assembly code segments, or executable code segments.

*


Free Web Sudoku Puzzles.
Solve with your browser.
  6             8
    3     9      
  9 5 7 2       6
      6       4  
    8       7    
  4       3      
2       1 4 9 3  
      8     1    
5             2  
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!