1. Field of the Invention
The present invention relates to an encryption method for encrypting playback-limited contents, a decryption method for decrypting encrypted playback-limited contents, and a recording and reproducing apparatus that encrypts playback-limited contents and that records/reproduces the encrypted playback-limited contents.
2. Description of the Related Art
Conventionally, contents such as video data or audio data are recorded on a tape recording medium such as a video tape or an audio tape or on a disc recording medium such as a CD or a DVD. One of the problems with those media is that contents are sometimes illegally copied from those media through dubbing.
In addition, with the introduction of a digital method for recording video or audio data, contents are not only recorded on the media described above but also distributed through the data distribution function. This makes illegal copy protection more critical.
Next, how the copy of digital contents data is limited will be described. As more and more video or audio data is digitally distributed recently as described above, contents providers that distribute contents have placed a playback limitation on them such as “copy prohibition” or “single-copy permission.” Such digital contents data has the copy guard signal inserted into the contents to distort the contents image if a user, who has copied the contents, tries to display them.
A typical system using the above method is a macro vision system (pseudo sync pulse system, color stripe system). This system inserts special signals into a particular portion of the analog signals of “copy prohibited” contents to allow a recorder to record the contents while identifying the signals inserted into the particular portion. Therefore, when an attempt is made to reproduce the contents, the signals described above distort the image on the screen to make it difficult to view. In addition, when an attempt is made using a digital recorder to record contents using this copy guard system, the recorder detects those signals and does not record the contents. A digitally broadcast PPV (Pay Per View) program uses this system.
However, contents using this copy guard system may be copied normally by simply removing the signals that distort the screen, and an apparatus for circumventing the copy guard has been on the market.
For “single-copy permitted” contents, the copy generation is managed to prevent the contents from being copied more times than are permitted. A typical system using this method is CGMS (Copy Generation Management System). In this system, a particular digital signal (three values, that is, 1. Copy prohibited, 2. Copy permitted for one generation only, 3. Unlimited copy permitted) is built into a particular portion of contents digital signals, and a digital recorder identifies this particular signal and places a limitation on the copy operation as instructed by the digital signal built into the contents. The CGMS system is used also for managing the copy generation of an MD (Mini Disc).
However, the copy guard of the CGMS system described above may also be disabled by changing the copy generation flag from “Copy prohibited” to “Copy permitted”.
Considering those problems, the digital contents data itself is encrypted on a DVD before being recorded on the medium. Therefore, an attempt to obtain data from a DVD results in obtaining encrypted contents. In addition, because obtaining an encryption key is difficult, copying unencrypted digital signals becomes more difficult.
DES (Data Encryption Standard), one of those encryption systems, will be described. DES is a block encryption system where plain text (original text), encrypted text, and an encryption key are all 64 bits in size. Because 8 bits of the 64 bits of an encryption key are used for parity, the actual size of the encryption key is 56 bits.
On the other hand, the eight parity bits are removed from the key through selective replacement PC−1 and, at the same time, the remaining 56 bits are exchanged. After that, with the high-order 28 bits Cn and low-order 28 bits Dn each as a group, the key Kn is created in each stage while repeating shifting in each of 16 stages. Each of the 16 transformers, which is the basic unit of DES shown in
Ln=Rn-1
Rn=Ln-1 EXOR f(Rn-1, Kn)
where EXOR indicates an exclusive OR and the function f(Rn-1, Kn) has the structure shown in
The input Rn-1 to the function f, 32 bits in length, is extended to 48 bits through extensive replacement E. Next, after calculating the exclusive OR of the 48 bits and Kn on a bit basis, the result is divided into eight 6-bit units which are then input to boxes S1–S8. In each S box, the 6-bit input is non-linearly transformed to a 4-bit output. Finally, the bit positions of the 32 bits, composed of eight 4-bit outputs, are exchanged though the replacement P to produce the output, f(Rn-1, Kn).
Solving the DES basic transformation expressions
Ln=Rn-1
Rn=Ln-1 EXOR f(Rn-1, Kn)
and then representing (Ln-1, Rn-1) with (Ln, Rn) gives the following expressions:
Rn-1=Ln
Ln-1=Rn EXOR f(Rn-1, Kn)=Rn EXOR f(Ln, Kn)
This indicates that (Rn-1, Ln-1) may be obtained from (Rn, Ln) in the same way (Ln, Rn) is obtained from (Ln-1). This property means that data may be decrypted in the same way data is encrypted.
However, although the contents of a “copy prohibited” PPV digital broadcasting program may be viewed only once, a viewer must view that program during a fixed period of time during which the PPV program is broadcast. That is, for “copy prohibited” contents, the copyright owner intends to allow a viewer to view the contents only once but, in practice, limits the period of time during which the contents may be viewed. In addition, in such a case where a viewer is allowed to record “copy prohibited” contents on a recording medium and view the contents only once, a system that prevents the viewer from playing back once-played contents has not yet established. Furthermore, a method for erasing already-played-back contents while reproducing the contents, which is required to implement the system described above, is difficult to implement. For example, when data is deleted from a hard disc of a personal computer, the contents of the FAT of the file system are erased but actual data is not.
On the other hand, for “single-copy permitted” contents, after the contents are recorded once on a VCR (Video Cassette Recorder) or a HDD (Hard Disc Drive) of a recording and reproducing apparatus, the contents cannot be copied any more because a copy that will be made becomes a second copy. This prevents the viewer, who has played back the contents, from recording only a desired program for recording onto another medium for saving. Thus, for “single-copy permitted” contents, although the copyright owner intends to limit a medium to a single medium on which the contents may be recorded, it is not permitted to record the once recorded contents onto another medium and then erase the recorded portion of the original recording medium, that is, so-called contents movement is not permitted.
An another problem is encryption; that is, advancement in computer power makes it easy to break an encryption key. Using a fixed key for one unit of contents means that, once the key is broken, all the contents may be decrypted and, as a result, digital contents may be copied illegally. One method for avoiding this is to change the key with time. This method prevents the whole contents from being decrypted even if a key used for encrypting a part of contents is broken and therefore ensures safety as compared with a case when a fixed key is used. In addition, the keys used for encryption must be calculated when generating a plurality of keys at decryption time, and those keys and their seeds must be stored separately. One problem with this method is that it requires a large amount of storage as the number of keys increases. The “seed of a key” means information by which the key is generated.
Additionally, a block-chain encryption processing method, such as the one disclosed in Japanese Patent Laid-Open Publication No. Hei 9-107536, uses the encryption function E1 to encrypt P(1) based on the encryption key K and the initial value IV, uses the encryption function E2 to seqeuntially encrypt P(i) (2≦i≦n) based on the encryption key K and P(i-1), and generates encrypted data blocks (C(1), C(2), . . . , C(n)). However, in this method, because the encryption key K is fixed and because data on which encryption is based is data before being encrypted, there is a danger that encrypted text is decrypted.
In view of the foregoing, it is an object of the present invention to provide an encryption method, a decryption method, and a recording and reproducing apparatus that allow the playback limitations on digital contents data, such as “copy prohibition” and “single-copy permission”, to function according to their original meaning and that significantly reduce the amount of storage in which key seeds are stored.
To achieve the above object, there is provided an encryption method for encrypting information including a plurality of continuous unit blocks having a reproduction order, the plurality of unit blocks being encrypted one unit block at a time, wherein a seed of an encryption key for encrypting a unit block is based on one or more unit blocks that are, in the reproduction order, before the unit block or on information generated by encrypting one or more unit blocks before the unit block.
In a preferred embodiment of the present invention, the seed of the encryption key is chained at least twice.
In a preferred embodiment of the present invention, the chain is reset when the seed is chained a predetermined number of times.
In a preferred embodiment of the present invention, an initial value IV of a seed of an encryption key used for encrypting a first unit block of the plurality of unit blocks having the reproduction order is stored, the chain has a plurality of hierarchy levels, a first hierarchy level is encrypted based on the initial value IV of the seed of the encryption key, and a second and higher hierarchy levels are encrypted based on a seed of an encryption key at a lower hierarchy level, the initial value IV of the seed of the encryption key that was stored is used when encrypted unit blocks from the first unit block to any given unit block of the encrypted information are decrypted for reproduction, and when the reproduction of the unit blocks to the given unit block ends, the initial value IV of the seed of the encryption key that was stored is erased and both a seed of an encryption key used for encrypting a unit block that follows the given unit block in the reproduction order and a seed of an encryption key used for encrypting a unit block at another hierarchy level after the given unit block are stored.
To achieve the above object, there is provided an encryption method for encrypting information including a plurality of continuous unit blocks having are production order, the plurality of unit blocks being encrypted one unit block at a time, wherein a seed of an encryption key for encrypting a unit block is information based on an encryption key used for encrypting a unit block that is, in the reproduction order, before the unit block to be encrypted.
To achieve the above object, there is provided a decryption method for decrypting information including a plurality of continuous encrypted unit blocks having a reproduction order, the plurality of encrypted unit blocks having being encrypted one unit block at a time, wherein a seed of an encryption key for decrypting an encrypted unit block is based on one or more unit blocks that are, in the reproduction order, before the unit block or on information generated by encrypting one or more unit blocks before the unit block.
In a preferred embodiment of the present invention, the seed of the encryption key is chained at least twice.
In a preferred embodiment of the present invention, the chain is reset when the seed is chained a predetermined number of times.
In a preferred embodiment of the present invention, an initial value IV of a seed of an encryption key used for encrypting a first unit block of the plurality of unit blocks having the reproduction order is stored, the chain has a plurality of hierarchy levels, a second hierarchy level is encrypted based on the initial value IV of the seed of the encryption key, and a third and higher hierarchy levels are encrypted based on a seed of an encryption key at a lower hierarchy level, the initial value IV of the seed of the encryption key that was stored is used when encrypted unit blocks from the first unit block to any given unit block of the encrypted information are decrypted for reproduction, and when the reproduction of the unit blocks to the given unit block ends, the initial value IV of the seed of the encryption key that was stored is erased and both a seed of an encryption key used for encrypting a unit block that follows the given unit block in the reproduction order and a seed of an encryption key used for encrypting a unit block at another hierarchy level after the given unit block are stored.
To achieve the above object, there is provided a decryption method for decrypting information including a plurality of continuous encrypted unit blocks having a reproduction order, the plurality of encrypted unit blocks having being encrypted one unit block at a time, wherein a seed of an encryption key for decrypting an encrypted unit block is information based on an encryption key used for decrypting a unit block that is, in the reproduction order, before the unit block to be decrypted.
To achieve the above object, there is provided a recording and reproducing apparatus comprising: encrypting means for encrypting information including a plurality of continuous unit blocks having a reproduction order, one unit block at a time; recording means for recording the encrypted information on a recording medium; and decrypting means for decrypting the plurality of encrypted unit blocks for reproduction, one unit block at a time, which are the encrypted information read from the recording medium, wherein a seed of an encryption key for encrypting a unit block and a seed of an encryption key for decrypting an encrypted unit block are based on one or more unit blocks that are, in the reproduction order, before the unit block or on information generated by encrypting one or more unit blocks before the unit block.
In a preferred embodiment of the present invention, the seed of the encryption key is chained at least twice.
In a preferred embodiment of the present invention, the chain is reset when the seed is chained a predetermined number of times.
In a preferred embodiment of the present invention, the recording and reproducing apparatus further comprises: storage means for storing an initial value IV of a seed of an encryption key used for encrypting a first unit block of the plurality of unit blocks having the reproduction order, wherein the initial value IV of the seed of the encryption key stored in the storage means is used when the first unit block of the plurality of unit blocks encrypted by the encrypting means and having the reproduction order is decrypted for reproduction.
In a preferred embodiment of the present invention, the recording and reproducing apparatus further comprises: storage means for storing an initial value IV of a seed of an encryption key used for encrypting a first unit block of the plurality of unit blocks having the reproduction order, wherein, when encrypted unit blocks from the first unit block to any given unit block, which are the encrypted information, are decrypted for reproduction, the initial value IV of the seed of the encryption key that was stored in the storage means is used, and wherein, when the reproduction of the unit blocks to the given unit block ends, the initial value IV of the seed of the encryption key is erased from the storage means and a seed of an encryption key used for encrypting a unit block that follows the given unit block in the reproduction order is stored.
In a preferred embodiment of the present invention, the recording and reproducing apparatus further comprises: storage means for storing an initial value IV of a seed of an encryption key used for encrypting a first unit block of the plurality of unit blocks having the reproduction order, wherein the chain has a plurality of hierarchy levels, a second hierarchy level is encrypted based on the initial value IV of the seed of the encryption key, and a third and higher hierarchy levels are encrypted based on a seed of an encryption key at a lower hierarchy level, wherein, when encrypted unit blocks from the first unit block to any given unit block of the encrypted information are decrypted for reproduction, the initial value IV of the seed of the encryption key that stored in the storage means is used, and wherein, when the reproduction of the unit blocks to the given unit block ends, the initial value IV of the seed of the encryption key is erased from the storage means and both a seed of an encryption key used for encrypting a unit block that follows the given unit block in the reproduction order and a seed of an encryption key used for encrypting a unit block at another hierarchy level after the given unit block are stored in the storage means.
To achieve the above object, there is provided a recording and reproducing apparatus comprising: encrypting means for encrypting information including a plurality of continuous unit blocks having a reproduction order, one unit block at a time; recording means for recording the encrypted information on a recording medium; and decrypting means for decrypting the plurality of encrypted unit blocks for reproduction, one unit block at a time, which are the encrypted information read from the recording medium, wherein a seed of an encryption key for encrypting a unit block and a seed of an encryption key for decrypting an encrypted unit block are information based on an encryption key used for encrypting a unit block that is, in the reproduction order, before the unit block to be encrypted or decrypted.
The nature, principle and utility of the invention will become more apparent from the following detailed description when read in conjunction with the accompanying drawings.
In the accompanying drawings:
An embodiment of an encryption method, a decryption method, and a recording and reproducing apparatus according to the present invention will be described below with reference to the drawings. In the description below, it is assumed that digital contents data sent from a broadcasting station is AV (Audio Visual) data and that the data is “copy prohibited”. In the example, a hard disc recorder is used as an example of a recording and reproducing apparatus that allows the user to play back the program only once at any time after the time during which the program was really broadcast.
In this embodiment, such a hard disc recorder is implemented by allowing “copy prohibited” contents to be played back only once. An MPEG (Moving Picture Experts Group) recorded transport stream (TS) is recorded on the hard disc. DES is used for encryption/decryption.
When recording “copy prohibited” digital contents data on the hard disc recorder with the configuration shown in
The initial value IV is the seed of the key used for encrypting the first unit block of the received contents. If the initial value IV is easily revealed, there is a possibility that encrypted contents may be interpreted. Therefore, the initial value IV should be recorded in a non-hard-disc, difficult-to-analyze medium. For example, a flash memory that is difficult to remove is used as the medium. In this case, when the unit block is 184 bytes in length, the key K1=g(IV, Const) is calculated with the initial value IV as the input to the key generation function g. In the description below, Ki indicates a key used to encrypt/decrypt the i-th block. Also, Const indicates other information used as the source of key generation. If Const information changes with time in the same contents, the Const information must be stored. In addition, if the information changes with time, a large amount of flash memory is required to store all changed information. Therefore, a parameter that is constant in the same contents, for example, an ID unique to the hard disc is used as Const. Encryption/decryption, which uses DES, requires a 56-bit key Ki. Therefore, the total of the bits of the initial value IV and Const should be 56 bits or more. This is because, if the key generation function g is a one-to-one function, the initial value IV and Const are easily inferred from the key Ki. Therefore, the key generation function g should be a n(n≧2)-to-one function.
Next, the encryption method according to the present invention will be described with reference to
Next, how to create key K2 used to encrypt P(2) and how to encrypt and decrypt data using key K2 will be described. The present invention uses the two methods described below for this procedure.
The first method will be described. First, key K2 is defined as K2=g(S1, Const), where S1 is defined as Si=h(P(i)) where h is a key seed generation function. That is, the plain text in the unit block immediately before the current block is used as the key seed. This makes the key variable from block to block and, even if one key is revealed, decoding all plain text is difficult. Another method for making the key variable is to prepare multiple key seeds, but this method requires all key seeds to be stored separately. By contrast, the method according to the present invention uses plain text, which is obtained by decrypting encrypted text recorded on the hard disc, as the variable part of the key seed, which is difficult to be analyzed and need not be stored in a separate area. Key K3 and the following keys are also defined as K3=g(S2, Const), K4=g(S3, Const), and so on.
To reproduce the contents, the initial value IV is read from the flash memory to generate key K1 for decrypting C(1). At that time, S1 is also generated from P(1) at the same time. Then, key K2 is generated from S1 for decrypting C(2).
Next, the second method will be described. Like the first method described above, key K2 is defined as K2=g(S1, Const). The difference from the first method described above is that S1 is defined as Si=h(Ki), where h is the key seed generation function. That is, the encryption key/decryption key of the unit block immediately before the current block is used as the key seed. This makes the encryption key variable from block to block and, even if one encryption key is revealed, decoding all plain text is difficult. Another method for making the encryption key variable is to prepare multiple key seeds of the encryption key, but this method requires all key seeds to be stored separately. By contrast, the method according to the present invention calculates the seed of an encryption key based on an encryption key and a decryption key that are not recorded on the hard disc. Therefore, the key seed is difficult to be analyzed and, in addition, need not be stored in a separate area. Key K3 and the following keys are also defined as K3=g(S2, Const), K4=g(S3, Const), and so on.
To reproduce the contents, the initial value IV is read from the flash memory to generate key K1 for decrypting C(1) as in the first method described above. At that time, S1 is also generated from the key K1 at the same time. Then, key K2 is generated from S1 for decrypting C(2).
Next, a method will be described that prevents once-reproduced portion from being reproduced again when “copy prohibited” contents are half reproduced. In the description below, it is assumed that TS packets C(1) to C(4) will be reproduced as shown in
Originally, the user is allowed to view “copy prohibited” contents only once at the time the contents are broadcast. Therefore, rewinding a once-reproduced portion for viewing may not be permitted because the copyright owner does not grant that action. However, although it is natural that current “copy prohibited” contents cannot be rewound for playback, it is possible to play them back from halfway through. Therefore, with the “copy prohibited” contents recorded on the hard disc recorder, the user is sometimes allowed to only fast-forward the contents. The problem is fast-forwarding the contents in the method described above always requires decryption to start from C(1) even when the contents are on a hard disc that is accessed fast and randomly. Thus, if the user wants to play back only the last half of the contents, it takes a very long time until access is made to the part of the contents to be played back. To solve this problem, the configuration described below should be used.
First, the configuration used in the first method described above will be described with reference to
An arrow in the figure indicates that the information at the starting point of the arrow is used as the seed of a key used to encrypt information pointed to by the arrow. The chain of the neighboring blocks is sequentially reset and, instead, block P(2-1) is provided next to the last block whose chain is reset. P(2-1) is encrypted using the key generated with the initial value IV as the seed. P(2-1) becomes the seed of the encryption key of both P(2-2) and P(3-1). For example, when accessing P(3-4), this configuration reduces the access time because the decryption is performed in the order of the initial value IV→P(2-1)→P(3-1)→P(3-2)→P(3-3)→P(3-4). This configuration is called hereinafter a configuration with two “hierarchy levels”. In this configuration, the hierarchy level composed of P(2-1), P(3-1), P(4-1), and so on is called the “second hierarchy level”. Although there are two hierarchy levels in the above embodiment, three or more hierarchy levels are also possible. However, three or more hierarchy levels reduce the random access time but complicate the encryption/decryption method. In the description below, the function that generates the seed of the encryption/decryption key of the unit blocks in the first hierarchy level is described as h1, the function that generates the seed of the encryption/decryption key of the unit blocks in the second hierarchy level is described as h2, and so on. In addition, the seed of the key K3-1 generated from P(2-1) in the second hierarchy level is T2-1, the seed of the key K4-1 generated from P(3-1) is T3-1, and so on.
Next, the configuration used in the second method described above will be described with reference to
Next, how to prevent a once-reproduced portion of the contents from being played back in a multiple-hierarchy-level configuration will be described. Assume that TS packets C(1-1) to C(2-3) will be reproduced as shown in
Recording “copy prohibited” digital contents on a hard disc recorder has been described. It should be noted that, although the unit block size in this embodiment is 184 bytes that correspond to the size of digital contents data in an MPEG-coded TS packet, the size might be changed according to the application. When the packets of the contents are chained as in
Although only a hard disc recorder has been described in this embodiment, “copy prohibited” contents may be recorded to, and reproduced from, an optical disc recorder. In addition, although the contents cannot be accessed randomly, the present invention may be applicable to a tape recorder if the contents are reproduced from the start.
Recording and reproducing of “copy prohibited” contents have been described. The following describes a recording and reproducing apparatus, composed of a hard disc recorder and a digital VCR, as an example of a recording and reproducing apparatus capable of recording a program only to one separate medium when the digital contents data sent from a broadcasting station is “single-copy permitted”. In the embodiment of the present invention, a recording and reproducing apparatus composed of a hard disc recorder and a digital VCR is provided to allow “single-copy permitted” contents to be recorded to a separate medium only once. MPEG-coded TS's are recorded on the hard disc of a hard disc recorder and on the videotape of a VCR. DES is used for encryption/decryption.
Next, how the recording and reproducing apparatus, composed of the hard disc recorder and the digital VCR with the configurations in
“Copy prohibited” contents are broadcast assuming that digital broadcasting PPV contents may basically be played back only once. If reproduction starts from an intermediate unit block, the reproduction of previous data is not permitted and, therefore, there is no need for considering it. However, a viewer may copy only a desired portion of “single-copy permitted” contents or may divide one unit of contents into several for copying onto multiple tapes. For example, as shown in
Now, consider how two portions of the blocks, that is, C(1-2) to C(2-2) and C(2-4) to C(3-2), are copied from a hard disc to a tape as shown in
Recording of “single-copy permitted” digital contents on a recording and reproducing apparatus composed of a hard disc recorder and a digital VCR has been described. In the above description, only a recording and reproducing apparatus composed of a hard disc recorder and a digital VCR has been described. However, when contents are “single-copy permitted” contents, the hard disc drive may be replaced by any random access unit such as an optical disc recorder, and the VCR may be replaced by any recording unit.
As detailed above, although “copy prohibited” contents may conventionally be played back only during the broadcasting time, the encryption method, decryption method, and recording and reproducing apparatus according to the present invention allow a viewer to play them back only once at any desired time. In addition, after recording “single-copy permitted” contents on a medium, a viewer may copy them to a separate medium only once and edit them. At this time, data on a hard disc is encrypted for security. In addition, when “copy prohibited” contents are viewed to an intermediate point, the seed of the decryption key used up to that point is erased to prevent the portion to that intermediate point from being reproduced. Similarly, a portion of “single-copy permitted” contents, which is already copied to a separate medium, may not be reproduced. In addition, to prevent any predetermined unit block and the following blocks from being reproduced, the method according to the present invention uses, for the seed of the encryption key, plain text other than that for the predetermined unit block, encrypted text produced by encrypting a unit block other than the predetermined unit block, or an encryption key for encrypting a unit block other than the predetermined unit block. Chaining blocks significantly reduces the amount of seed information on the keys that must be recorded. It should be noted that, when the seed of an encryption key is an encryption key used for encrypting a unit block other than the predetermined unit block, the number of bits is less than when the seed of the encryption key is plain text or encrypted text and, in addition, processing becomes simpler.
It should be understood that many modifications and adaptations of the invention will become apparent to those skilled in the art and it is intended to encompass such obvious modifications and changes in the scope of the claims appended hereto.
Number | Date | Country | Kind |
---|---|---|---|
P2001-070011 | Mar 2001 | JP | national |
P2001-070012 | Mar 2001 | JP | national |
P2001-311114 | Oct 2001 | JP | national |
P2001-311117 | Oct 2001 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5058164 | Elmer et al. | Oct 1991 | A |
5224164 | Elsner | Jun 1993 | A |
5742686 | Finley | Apr 1998 | A |
6011849 | Orrin | Jan 2000 | A |
6064738 | Fridrich | May 2000 | A |
6269163 | Rivest et al. | Jul 2001 | B1 |
6353672 | Rhoads | Mar 2002 | B1 |
6845159 | Domstedt et al. | Jan 2005 | B1 |
20020073326 | Fontijn | Jun 2002 | A1 |
Number | Date | Country |
---|---|---|
07-303102 | Nov 1995 | JP |
09-107536 | Apr 1997 | JP |
2000-149417 | May 2000 | JP |
Number | Date | Country | |
---|---|---|---|
20020131595 A1 | Sep 2002 | US |