U.S. patent application number 09/947097 was filed with the patent office on 2002-07-04 for information recording device. information playback device, information recording method, information playback method, and information recording medium and program providing medium used therewith.
Invention is credited to Asano, Tomoyuki, Osawa, Yoshitomo.
Application Number | 20020085722 09/947097 |
Document ID | / |
Family ID | 18757277 |
Filed Date | 2002-07-04 |
United States Patent
Application |
20020085722 |
Kind Code |
A1 |
Asano, Tomoyuki ; et
al. |
July 4, 2002 |
Information recording device. information playback device,
information recording method, information playback method, and
information recording medium and program providing medium used
therewith
Abstract
An information recording/playback device stores beforehand, on a
recording medium, secret information in which a writing/reading
method thereof cannot be analyzed and which can be read only by a
special reading method. The secret information is applied to a key
for content encryption or decryption when performing recording or
playback of contents on the recording medium, such as music data
and image data. The secret information is, for example, a stamper
ID. By using the stamper ID as secret information, and a master key
and a media key which are distributed in a tree-structure
key-distribution system, a content-cryptosystem key is generated.
Accordingly, each content is allowed to be used in only an
appropriate device in which the special reading method for the
secret information can be executed and to which the key is
distributed by the tree-structure key-distribution system.
Inventors: |
Asano, Tomoyuki; (Kanagawa,
JP) ; Osawa, Yoshitomo; (Kanagawa, JP) |
Correspondence
Address: |
William S. Frommer, Esq.
FROMMER LAWRENCE & HAUG LLP
745 Fifth Avenue
New York
NY
10151
US
|
Family ID: |
18757277 |
Appl. No.: |
09/947097 |
Filed: |
September 5, 2001 |
Current U.S.
Class: |
380/278 ;
386/E5.004; G9B/20.002 |
Current CPC
Class: |
H04N 5/907 20130101;
G11B 20/00876 20130101; H04N 5/781 20130101; H04N 5/913 20130101;
G11B 20/1217 20130101; H04N 2005/91364 20130101; H04N 5/85
20130101; G11B 20/0021 20130101; G11B 20/00086 20130101; H04N
9/8042 20130101; H04N 9/7921 20130101 |
Class at
Publication: |
380/278 |
International
Class: |
H04L 009/00 |
Foreign Application Data
Date |
Code |
Application Number |
Sep 7, 2000 |
JP |
2000-270919 |
Claims
What is claimed is:
1. An information recording device for recording information on a
recording medium, comprising: cryptosystem means for executing
encryption processing on data to be stored on said recording
medium; and secret-information decoding means for reading secret
information stored on said recording medium by executing a special
data-reading process which is different from a process of reading
content data stored on said recording medium; wherein said
cryptosystem means generates a content-cryption key by using, as a
key-generating data, the secret information which is decoded after
being read from said recording medium, and executes, based on the
content-encryption key, the encryption processing on the data to be
stored.
2. An information recording device according to claim 1, wherein:
the secret information includes a type of data among a stamper ID
which is stored on said recording medium when said recording medium
is produced and which is common to a plurality of recording media,
a disk ID which is unique to each of the recording media, a content
ID which is differently set for each content, and a cryptosystem
key; and said secret-information decoding means executes a decoding
process on the read data.
3. An information recording device according to claim 1, wherein
said cryptosystem means uses the read secret information to
generate the content-encryption key, and the read secret
information is allowed to be used only in the generation of the
content-encryption key which is executed in said cryptosystem
means, without being stored in storage means which is readable from
the outside of said information recording device.
4. An information recording device according to claim 1, wherein:
said information recording device possesses node keys which are
unique to nodes constituting a hierarchical tree structure having a
plurality of different information recording devices as leaves;
said cryptosystem means generates the content-encryption key based
on the read secret information and encryption-key-generating data
which is stored in said information recording device; and the
encryption-key-generating data can be updated by using an enabling
key block generated such that a node key is encrypted by using a
key including at least one of a node key and a leaf key which are
positioned at a lower level.
5. An information recording device according to claim 4, wherein
the encryption-key-generating data is one of a master key common to
a plurality of information recording devices and a media key unique
to a specified recording medium.
6. An information recording device according to claim 4, wherein:
the encryption-key-generating data corresponds to a generation
number as updating information; and when storing encrypted data on
said recording medium, said cryptosystem means stores on said
recording medium the generation number of the
encryption-key-generating data as a recording-mode generation
number.
7. An information recording device according to claim 4, further
comprising transport-stream processing means for adding an arrival
time stamp to each of transport packets constituting a transport
stream; said cryptosystem means generates a block key as an
encrypted key for block data composed of at least one transport
packet to which the arrival time stamp is added; and in encryption
of the data to be stored on said recording medium, said
cryptosystem means generates a block key as an encryption key based
on data including the secret information, the
encryption-key-generating data, and a block seed as additional
information which includes the arrival time stamp and which is
unique to the block data.
8. An information recording device according to claim 1, wherein:
said secret-information decoding means is structured to execute
decoding processing on data which is stored on said recording
medium by using a binary sequence to disturb a string of bits
constituting the secret information; and said secret-information
decoding means executes decoding processing of the secret
information by generating the binary sequence and executing
arithmetic processing using the generated binary sequence and a
playback signal from said recording medium.
9. An information recording device according to claim 1, wherein
said secret-information decoding means reads, from said recording
medium, data which is recorded in a form converted in a
predetermined manner from the secret information in units of a
plurality of bits constituting the secret information, and executes
decoding processing on the secret information by converting the
read data again.
10. An information playback device for playing back information
recorded on a recording medium, said information playback device
comprising: cryptosystem means for executing decryption processing
on data read from said recording medium; and secret-information
decoding means for reading secret information stored on said
recording medium by executing a special data-reading process which
is different from a process of reading content data stored on said
recording medium; wherein said cryptosystem means generates a
content-decryption key by using, as a key-generating data, the
secret information which is decoded after being read from said
recording medium, and executes, based on the content-decryption
key, the decryption processing on the read data.
11. An information playback device according to claim 10, wherein:
the secret information includes a type of data among a stamper ID
which is stored on said recording medium when said recording medium
is produced and which is common to a plurality of recording media,
a disk ID which is unique to each of the recording media, a content
ID which is differently set for each content, and a cryptosystem
key; and said secret-information decoding means executes a decoding
process on the read data.
12. An information playback device according to claim 10, wherein
said cryptosystem means uses the read secret information to
generate the content-decryption key, and the read secret
information is allowed to be used only in the generation of the
content-decryption key which is executed in said cryptosystem
means, without being stored in storage means which is readable from
the outside of said information recording device.
13. An information playback device according to claim 10, wherein:
said information recording device possesses node keys which are
unique to nodes constituting a hierarchical tree structure having a
plurality of different information recording devices as leaves;
said cryptosystem means generates the content-encryption key based
on the read secret information and decryption-key-generating data
which is stored in said information recording device; and the
decryption-key-generating data can be updated by using an enabling
key block generated such that a node key is encrypted by using a
key including at least one of a node key and a leaf key which are
positioned at a lower level.
14. An information playback device according to claim 13, wherein
the decryption-key-generating data is one of a master key common to
a plurality of information recording devices and a media key unique
to a specified recording medium.
15. An information playback device according to claim 13, wherein:
the decryption-key-generating data corresponds to a generation
number as updating information; and when storing encrypted data on
said recording medium, said cryptosystem means stores on said
recording medium the generation number of the
decryption-key-generating data as a recording-mode generation
number.
16. An information playback device according to claim 13, further
comprising transport-stream processing means for adding an arrival
time stamp to each of transport packets constituting a transport
stream; said cryptosystem means generates a block key as an
encrypted key for block data composed of at least one transport
packet to which the arrival time stamp is added; and in decryption
of the data to be stored on said recording medium, said
cryptosystem means generates a block key as a decryption key based
on data including the secret information, the
decryption-key-generating data, and a block seed as additional
information which includes the arrival time stamp and which is
unique to the block data.
17. An information playback device according to claim 10, wherein:
said secret-information decoding means is structured to execute
decoding processing on data which is stored on said recording
medium by using a binary sequence to disturb a string of bits
constituting the secret information; and said secret-information
decoding means executes decoding processing of the secret
information by generating the binary sequence and executing
arithmetic processing using the generated binary sequence and a
playback signal from said recording medium.
18. An information playback device according to claim 10, wherein
said secret-information decoding means reads, from said recording
medium, data which is recorded in a form converted in a
predetermined manner from the secret information in units of a
plurality of bits constituting the secret information, and executes
decoding processing on the secret information by converting the
read data again.
19. An information recording method for recording information on a
recording medium, said information recording method comprising: a
secret-information decoding step which reads secret information
stored on said recording medium by executing a special data-reading
process which is different from a process of reading content data
stored on said recording medium; and a cryptosystem step which
generates a content-encryption key by using, as a key-generating
data, the secret information which is decoded after being read from
said recording medium in said secret-information decoding step, and
executes, based on the content-encryption key, the encryption
processing on the data to be stored.
20. An information recording method according to claim 19, wherein:
the secret information includes a type of data among a stamper ID
which is stored on said recording medium when said recording medium
is produced and which is common to a plurality of recording media,
a disk ID which is unique to each of the recording media, a content
ID which is differently set for each content, and a cryptosystem
key; and said secret-information decoding means executes a decoding
process on the read data.
21. An information recording method according to claim 19, wherein
said cryptosystem step includes a step which uses the read secret
information to generate the content-encryption key, and the read
secret information is allowed to be used only in the generation of
the content-encryption key which is executed in said cryptosystem
step, without being stored in storage means which is readable from
the outside of said information recording device.
22. An information recording method according to claim 19, wherein:
said cryptosystem step includes a step which generates the
content-encryption key based on the read secret information and
encryption-key-generating data which is stored in said information
recording device; and the encryption-key-generating data can be
updated by an enabling key block generated such that in a
hierarchical tree structure having a plurality of different
information recording devices as leaves, branches as nodes, and
unique keys set for said leaves and said nodes, a node key is
encrypted by using a key including at least one of a node key and a
leaf key which are positioned at a lower level.
23. An information recording method according to claim 22, wherein
the encryption-key-generating data is one of a master key common to
a plurality of information recording devices and a media key unique
to a specified recording medium.
24. An information recording method according to claim 22, wherein:
the encryption-key-generating data corresponds to a generation
number as updating information; and when storing encrypted data on
said recording medium, said cryptosystem step stores on said
recording medium the generation number of the
encryption-key-generating data as a recording-mode generation
number.
25. An information recording method according to claim 22, further
comprising a transport-stream processing step for adding an arrival
time stamp to each of transport packets constituting a transport
stream; said cryptosystem step includes a step which generates a
block key as an encrypted key for block data composed of at least
one transport packet to which the arrival time stamp is added; and
in encryption of the data to be stored on said recording medium,
said cryptosystem step generates a block key as an encryption key
based on data including the secret information, the
encryption-key-generating data, and a block seed as additional
information which includes the arrival time stamp and which is
unique to the block data.
26. An information recording method according to claim 19, wherein:
said secret-information decoding step includes a step which
executes decoding processing on data which is stored on said
recording medium by using a binary sequence to disturb a string of
bits constituting the secret information; and said
secret-information decoding step executes decoding processing of
the secret information by generating the binary sequence and
executing arithmetic processing using the generated binary sequence
and a playback signal from said recording medium.
27. An information recording method according to claim 19, wherein
said secret-information decoding step reads, from said recording
medium, data which is recorded in a form converted in a
predetermined manner from the secret information in units of a
plurality of bits constituting the secret information, and executes
decoding processing on the secret information by converting the
read data again.
28. An information playback method for playing back information
from a recording medium, said information playback method
comprising: a secret-information decoding step which reads secret
information stored on said recording medium by executing a special
data-reading process which is different from a process of reading
content data stored on said recording medium; and a decryption step
which generates a content-decryption key by using, as a
key-generating data, the secret information which is decoded after
being read from said recording medium in said secret-information
decoding step, and executes, based on the content-decryption key,
the decryption processing on the read data.
29. An information playback method according to claim 28, wherein:
the secret information includes a type of data among a stamper ID
which is stored on said recording medium when said recording medium
is produced and which is common to a plurality of recording media,
a disk ID which is unique to each of the recording media, a content
ID which is differently set for each content, and a cryptosystem
key; and said secret-information decoding step executes a decoding
process on the read data.
30. An information playback method according to claim 28, wherein
said decryption step includes a step which uses the read secret
information to generate the content-decryption key, and the read
secret information is allowed to be used only in the generation of
the content-decryption key which is executed in said cryptosystem
means, without being stored in storage means which is readable from
the outside of said information recording device.
31. An information playback method according to claim 28, wherein:
said decryption step includes a step which generates the
content-decryption key based on the read secret information and
decryption-key-generating data which is stored in said information
recording device; and the decryption-key-generating data can be
updated by an enabling key block generated such that in a
hierarchical tree structure having a plurality of different
information recording devices as leaves, branches as nodes, and
unique keys set for said leaves and said nodes, a node key is
encrypted by using a key including at least one of a node key and a
leaf key which are positioned at a lower level.
32. An information playback method according to claim 31, wherein
the decryption-key-generating data is one of a master key common to
a plurality of information playback devices and a media key unique
to a specified recording medium.
33. An information playback method according to claim 31, wherein:
the decryption-key-generating data corresponds to a generation
number as updating information; and when storing encrypted data on
said recording medium, said decryption step stores on said
recording medium the generation number of the
decryption-key-generating data as a recording-mode generation
number.
34. An information playback method according to claim 31, further
comprising a transport-stream processing step for adding an arrival
time stamp to each of transport packets constituting a transport
stream; said decryption step includes a step which generates a
block key as an encryption key for block data composed of at least
one transport packet to which the arrival time stamp is added; and
in playback of the data to be stored on said recording medium, said
decryption step generates a block key as a decryption key based on
data including the secret information, the
decryption-key-generating data, and a block seed as additional
information which includes the arrival time stamp and which is
unique to the block data.
35. An information playback method according to claim 28, wherein:
said secret-information decoding step includes a step which
executes decoding processing on data which is stored on said
recording medium by using a binary sequence to disturb a string of
bits constituting the secret information; and said
secret-information decoding step executes decoding processing of
the secret information by generating the binary sequence and
executing arithmetic processing using the generated binary sequence
and a playback signal from said recording medium.
36. An information playback method according to claim 28, wherein
said secret-information decoding step reads, from said recording
medium, data which is recorded in a form converted in a
predetermined manner from the secret information in units of a
plurality of bits constituting the secret information, and executes
decoding processing on the secret information by converting the
read data again.
37. An information recording medium containing: secret information
which can be played back only by executing a special data-reading
process different from an ordinary data-reading process; and an
encrypted content which can be decrypted by using a cryptosystem
key which can be generated by using said secret information.
38. An information recording medium according to claim 37, wherein
said secret information includes a type of data among a stamper ID
common to a plurality of recording media, a disk ID which is unique
to each of the recording media, a content ID which is differently
set for each content, and a cryptosystem key.
39. A program providing medium for providing a computer program
which controls a computer system to execute information-recording
processing for recording information on a recording medium, said
computer program comprising: a secret-information decoding step
which reads secret information stored on said recording medium by
executing a special data-reading process which is different from a
process of reading content data stored on said recording medium;
and a cryptosystem step which generates a content-encryption key by
using, as a key-generating data, the secret information which is
decoded after being read from said recording medium in said
secret-information decoding step, and executes, based on the
content-encryption key, the encryption processing on the data to be
stored.
40. A program providing medium for providing a computer program
which controls a computer system to execute information-playback
processing for playing back information stored on a recording
medium, said computer program comprising: a secret-information
decoding step which reads secret information stored on said
recording medium by executing a special data-reading process which
is different from a process of reading content data stored on said
recording medium; and a decryption step which generates a
content-decryption key by using, as a key-generating data, the
secret information which is decoded after being read from said
recording medium in said secret-information decoding step, and
executes, based on the content-decryption key, the decryption
processing on the read data.
Description
BACKGROUND OF THE INVENTION
[0001] 1. Field of the Invention
[0002] The present invention relates to information recording
devices, information playback devices, information recording
methods, information playback methods, and information recording
media and program providing media used therewith. In particular,
the present invention relates to an information recording device,
an information playback device, an information recording method,
and an information playback method in which, by using
tree-structure, hierarchical key distribution to reduce the number
of messages, reductions can be achieved in a data distribution load
which is generated when a key such as master key or media key is
updated, and in which by using, as data for generating a
content-encryption key, secret information capable of being read
only in special data-reading processing different from
content-reading processing, the security of contents can be
improved.
[0003] Specifically, the present invention relates to an
information recording device, an information playback device, an
information recording method, and an information playback method in
which, by using a key distribution method in which
recording/playback devices are arranged as leaves of an nary tree
so that the key (master key or media key) required for
recording/playback of content data on a recording medium can be
distributed by recording medium or communication link, each
recording/playback device uses the key to perform the recording and
playback of the content data, and stores secret information, such
as stamper ID, on a content storage disk for content
recording/playback so that the device performs a specified playback
process to obtain the secret information and generates a
content-encryption key based on the secret information. The present
invention also relates to an information recording medium and a
program providing medium which are used with the information
recording device, the information playback device, the information
recording method, and the information playback method.
[0004] 2. Description of the Related Art
[0005] With the progress and development in digital signal
processing technology, the use of recording devices and recording
media for digital data recording has become widespread in recent
years. By using the recording devices and recording media, images
and sound can be recorded and played back repeatedly without a
deterioration in quality. In this manner, digital data can be
repeatedly copied, while maintaining image and sound quality.
Accordingly, if illegally copied recording media are distributed in
the market, the profits to copyright holders for various type
contents, such as music and movies, or appropriate dealership
owners decrease. Nowadays, to prevent such unauthorized copying of
digital data, various mechanisms (systems) are being incorporated
into digital recording devices and recording media.
[0006] By way of example, the Serial Copy Management System (SCMS)
is employed in Minidisk (MD) (trademark) devices as a method of
preventing unauthorized copying. In the SCMS, a data playback side
outputs an SCMS signal with audio data from a digital interface,
and the data recording side controls, based on the SCMS signal,
recording of the audio data from the data playback side so that
unauthorized copying can be prevented.
[0007] Specifically, the SCMS signal represents an audio data type
among "Copy Free" type in which the audio data may be copied any
number of times, "Copy Once Allowed" type in which copying the
audio data can be performed only once, and "Copy Prohibited" type
in which the copying of the audio data is prohibited. When
receiving the audio data from the digital interface, the data
recording side detects the SCMS signal which is transmitted with
the audio data. When the SCMS signal received represents the Copy
Free type, the data recording side records the audio data on the
Minidisk with the SCMS signal. When the SCMS signal represents the
Copy Once Allowed type, the data recording side records the audio
data on the Minidisk after changing the type of the audio data to
the Copy Prohibited type. When the SCMS signal represents the Copy
Prohibited type, the data recording side does not record the audio
data. By using SCMS control, the Minidisk device prevents
copyrighted audio data from being illegally copied.
[0008] However, it is difficult for the SCMS to cope with a case in
which a Minidisk device having no mechanism for performing SCMS
control is produced because the SCMS is based on the condition that
a data recording device itself must have the above structure for
performing control based on an SCMS signal of the recording of
audio data from the playback side. Accordingly, for example,
digital versatile disk (DVD) players use a content scramble system
to prevent copyrighted data from being illegally copied.
[0009] In the content scramble system, video data, audio data,
etc., are recorded in a DVD-ROM in encrypted form, and a key
(decryption key) for decrypting the encrypted data is given to a
licensed DVD player. The license is given to a DVD player designed
to obey predetermined operation rules such as not performing
unauthorized copying. Accordingly, the licensed DVD player can play
back images and sound from the DVD-ROM by using the given key to
decrypt the encrypted data in the DVD-ROM.
[0010] Conversely, an unlicensed DVD player cannot decrypt the
encrypted data in the DVD-ROM because it does not have the key for
decrypting the encrypted data. In the scramble system, a DVD player
that does not meet the conditions required for licensing is not
allowed to play back a DVD-ROM containing digital data, thereby
preventing unauthorized copying.
[0011] Nevertheless, the content scramble system employed in the
DVD-ROM is directed to recording media (hereinafter referred to
also as "ROM media") in which data writing by the user is
impossible. The content scramble system cannot be applied to an
application to recording media (hereinafter referred to also as
"RAM media") in which data writing by the user is possible.
[0012] In other words, if data contained in ROM media is encrypted,
unaltered copying of the entire encrypted data to RAM media makes
it possible to create a so-called "pirated edition" which can be
played back by a licensed device.
[0013] Accordingly, the assignee of the present Application has
filed Japanese Patent Application No. 10-25310 (Japanese Unexamined
Patent Application Publication No. 11-224461) for a construction in
which by recording, on a recording medium, information (hereinafter
referred to as "medium identification information") for identifying
each recording medium with other data, and using a condition that a
device for use is licensed about the medium identification
information, only when the condition is met does the device access
the medium identification information on the recording medium.
[0014] In this construction, data on the recording medium is
encrypted using the medium identification information and a secret
key (master key) obtained when the apparatus is licensed. If an
unlicensed device has read the encrypted data, it cannot obtain
semantic data. When the device is licensed, its operations are
regulated so that it is unable to perform unauthorized reproduction
(illegal copying).
[0015] The unlicensed device is not allowed to access the medium
identification information, and the medium identification
information has a unique value for each recording medium. Thus, if
the unlicensed device has copied all of the encrypted data on a new
recording medium, the encrypted data on the new recording medium
cannot be correctly decrypted not only by the unlicensed device but
also by even the licensed device. Therefore, illegal copying is
substantially prevented.
[0016] In the above construction, in general, a common master key
is stored in all licensed devices. This is because the storing of
the common master key in the devices is the condition required for
a recording medium having data recorded by one device to be played
back by other devices (interoperability is ensured).
[0017] However, in this construction, if an attacker has succeeded
in attacking one device and has extracted the master key, the
attacker can decrypt the encrypted data contained in the entire
system, so that the entire system may collapse. To prevent this
situation, when it is detected that a device has been attacked and
the master key exposed, the master key must be updated, and the
updated master key must be given to all of the other devices.
Concerning a simplest method for implementing this technique, it is
possible to perform provision of unique keys (device keys) for a
plurality of device, preparation of values which are encrypted
using the device keys, and sending of the values by recording
medium. In this case, the amount of all messages to be sent
increases in proportion to the number of devices.
[0018] To solve this problem, the assignee of the present
Application has already filed a Japanese Patent Application
regarding a construction in which, by using a key distribution
method in which information recording/playback devices are arranged
as leaves of an n-ary tree, and distributing by a recording medium
or communication link, the key (master key or media key) required
for recording/playback of content data on the recording medium so
that each device can record or play back the content data, the
master key or the media key can be sent using a small number of
messages to the appropriate device without exposing secret
information. Specifically, in this construction, each device can
obtain the key required for recording/playback of information
on/from the recording medium by setting, as an updating node key,
the key required for generating the key required for
recording/playback of information on the recording medium (e.g., a
node key assigned for each leaf of the n-ary tree), distributing to
each information recording/playback device an enabling key block
including information generated by encrypting the updating node key
using a leaf key and the node key possessed only by an appropriate
device so that the information can be decrypted, and performing
enabling-key-block decryption in each information
recording/playback device when it receives the enabling key
block.
[0019] The security of the above construction is based on that an
encryption key given to the information recording/playback device,
and the media key for use in encryption/decryption processing in
recording/playback of data on the recording medium are not exposed.
Accordingly, there is no problem if the media key is prevented from
being exposed. However, exposure of the media key, which must be
kept secret, significantly affects the system.
SUMMARY OF THE INVENTION
[0020] To solve the foregoing problems, it is an object of the
present invention to provide an information recording device, an
information playback device, an information recording method, and
an information playback method in which in an ordinary data reading
technique, by using secret information written so that its data
cannot be analyzed, as data for generating a key used for
encryption/decryption processing in recording/playback of data on a
recording medium, unauthorized use of a content is prevented, and
in which high-level security is maintained by greatly reducing a
possibility of leakage of various data used in
encryption/decryption processing in recording/playback. The object
of the present invention is also to provide an information
recording medium and a program providing medium which are used with
the information recording device and method and the information
playback device and method.
[0021] To this end, according to a first aspect of the present
invention, there is provided an information recording device for
recording information on a recording medium, including a
cryptosystem unit for executing encryption processing on data to be
stored on the recording medium, and a secret-information decoding
unit for reading secret information stored on the recording medium
by executing a special data-reading process which is different from
a process of reading content data stored on the recording medium.
The cryptosystem unit generates a content-encryption key by using,
as a key-generating data, the secret information which is decoded
after being read from the recording medium, and executes, based on
the content-encryption key, the encryption processing on the data
to be stored.
[0022] Preferably, the secret information includes a type of data
among a stamper ID which is stored on the recording medium when the
recording medium is produced and which is common to a plurality of
recording media, a disk ID which is unique to each of the recording
media, a content ID which is differently set for each content, and
a cryptosystem key, and the secret-information decoding unit
executes a decoding process on the read data.
[0023] The cryptosystem unit may use the read secret information to
generate the content-encryption key, and the read secret
information may be allowed to be used only in the generation of the
content-encryption key which is executed in the cryptosystem unit,
without being stored in storage unit which is readable from the
outside of the information recording device.
[0024] The information recording device may possess node keys which
are unique to nodes constituting a hierarchical tree structure
having a plurality of different information recording devices as
leaves. The cryptosystem unit may generate the content-encryption
key based on the read secret information and
encryption-key-generating data which is stored in the information
recording device. The encryption-key-generating data may be updated
by using an enabling key block generated such that a node key is
encrypted by using a key including at least one of a node key and a
leaf key which are positioned at a lower level.
[0025] The encryption-key-generating data may be one of a master
key common to a plurality of information recording devices and a
media key unique to a specified recording medium.
[0026] The encryption-key-generating data may correspond to a
generation number as updating information, and when storing
encrypted data on the recording medium, the cryptosystem unit may
store on the recording medium the generation number of the
encryption-key-generating data as a recording-mode generation
number.
[0027] The information recording device may further include a
transport-stream processing unit for adding an arrival time stamp
to each of transport packets constituting a transport stream. The
cryptosystem unit may generate a block key as an encrypted key for
block data composed of at least one transport packet to which the
arrival time stamp is added. In encryption of the data to be stored
on the recording medium, the cryptosystem unit may generate a block
key as an encryption key based on data including the secret
information, the encryption-key-generating data, and a block seed
as additional information which includes the arrival time stamp and
which is unique to the block data.
[0028] The secret-information decoding unit may be structured to
execute decoding processing on data which is stored on the
recording medium by using a binary sequence to disturb a string of
bits constituting the secret information. The secret-information
decoding unit may execute decoding processing of the secret
information by generating the binary sequence and executing
arithmetic processing using the generated binary sequence and a
playback signal from the recording medium.
[0029] The secret-information decoding unit may read, from the
recording medium, data which is recorded in a form converted in a
predetermined manner from the secret information in units of a
plurality of bits constituting the secret information, and may
execute decoding processing on the secret information by converting
the read data again.
[0030] According to a second aspect of the present invention, there
is provided an information playback device for playing back
information recorded on a recording medium, which includes a
cryptosystem unit for executing decryption processing on data read
from the recording medium, and a secret-information decoding unit
for reading secret information stored on the recording medium by
executing a special data-reading process which is different from a
process of reading content data stored on the recording medium. The
cryptosystem unit generates a content-decryption key by using, as a
key-generating data, the secret information which is decoded after
being read from the recording medium, and executes, based on the
content-decryption key, the decryption processing on the read
data.
[0031] Preferably, the secret information includes a type of data
among a stamper ID which is stored on the recording medium when the
recording medium is produced and which is common to a plurality of
recording media, a disk ID which is unique to each of the recording
media, a content ID which is differently set for each content, and
a cryptosystem key, and the secret-information decoding unit
executes a decoding process on the read data.
[0032] The cryptosystem unit may use the read secret information to
generate the content-decryption key, and the read secret
information may be allowed to be used only in the generation of the
content-decryption key which is executed in the cryptosystem unit,
without being stored in storage unit which is readable from the
outside of the information recording device.
[0033] The information recording device may possess node keys which
are unique to nodes constituting a hierarchical tree structure
having a plurality of different information recording devices as
leaves. The cryptosystem unit may generate the content-encryption
key based on the read secret information and
decryption-key-generating data which is stored in the information
recording device. The decryption-key-generating data may be updated
by using an enabling key block generated such that a node key is
encrypted by using a key including at least one of a node key and a
leaf key which are positioned at a lower level.
[0034] The decryption-key-generating data may be one of a master
key common to a plurality of information recording devices and a
media key unique to a specified recording medium.
[0035] The decryption-key-generating data may correspond to a
generation number as updating information, and when storing
encrypted data on the recording medium, the cryptosystem unit may
store on the recording medium the generation number of the
decryption-key-generating data as a recording-mode generation
number.
[0036] The information playback device may further include a
transport-stream processing unit for adding an arrival time stamp
to each of transport packets constituting a transport stream. The
cryptosystem unit may generate a block key as an encrypted key for
block data composed of at least one transport packet to which the
arrival time stamp is added, and in decryption of the data to be
stored on the recording medium, the cryptosystem unit may generate
a block key as a decryption key based on data including the secret
information, the decryption-key-generating data, and a block seed
as additional information which includes the arrival time stamp and
which is unique to the block data.
[0037] The secret-information decoding unit may be structured to
execute decoding processing on data which is stored on the
recording medium by using a binary sequence to disturb a string of
bits constituting the secret information, and the
secret-information decoding unit may execute decoding processing of
the secret information by generating the binary sequence and
executing arithmetic processing using the generated binary sequence
and a playback signal from the recording medium.
[0038] The secret-information decoding unit may read, from the
recording medium, data which is recorded in a form converted in a
predetermined manner from the secret information in units of a
plurality of bits constituting the secret information, and may
execute decoding processing on the secret information by converting
the read data again.
[0039] According to a third aspect of the present invention, there
is provided an information recording method for recording
information on a recording medium, which includes a
secret-information decoding step which reads secret information
stored on the recording medium by executing a special data-reading
process which is different from a process of reading content data
stored on the recording medium, and a cryptosystem step which
generates a content-encryption key by using, as a key-generating
data, the secret information which is decoded after being read from
the recording medium in the secret-information decoding step, and
executes, based on the content-encryption key, the encryption
processing on the data to be stored.
[0040] The secret information may include a type of data among a
stamper ID which is stored on the recording medium when the
recording medium is produced and which is common to a plurality of
recording media, a disk ID which is unique to each of the recording
media, a content ID which is differently set for each content, and
a cryptosystem key, and the secret-information decoding unit may
execute a decoding process on the read data.
[0041] The cryptosystem step may include a step which uses the read
secret information to generate the content-encryption key, and the
read secret information is allowed to be used only in the
generation of the content-encryption key which is executed in the
cryptosystem step, without being stored in storage unit which is
readable from the outside of the information recording device.
[0042] The cryptosystem step may include a step which generates the
content-encryption key based on the read secret information and
encryption-key-generating data which is stored in the information
recording device, and the encryption-key-generating data may be
updated by an enabling key block generated such that in a
hierarchical tree structure having a plurality of different
information recording devices as leaves, branches as nodes, and
unique keys set for the leaves and the nodes, a node key is
encrypted by using a key including at least one of a node key and a
leaf key which are positioned at a lower level.
[0043] The encryption-key-generating data may be one of a master
key common to a plurality of information recording devices and a
media key unique to a specified recording medium.
[0044] The encryption-key-generating data may correspond to a
generation number as updating information, and when storing
encrypted data on the recording medium, the cryptosystem step may
store on the recording medium the generation number of the
encryption-key-generating data as a recording-mode generation
number.
[0045] The information recording method may further include a
transport-stream processing step for adding an arrival time stamp
to each of transport packets constituting a transport stream. The
cryptosystem step may include a step which generates a block key as
an encrypted key for block data composed of at least one transport
packet to which the arrival time stamp is added, and in encryption
of the data to be stored on the recording medium, the cryptosystem
step may generate a block key as an encryption key based on data
including the secret information, the encryption-key-generating
data, and a block seed as additional information which includes the
arrival time stamp and which is unique to the block data.
[0046] The secret-information decoding step may include a step
which executes decoding processing on data which is stored on the
recording medium by using a binary sequence to disturb a string of
bits constituting the secret information, and the
secret-information decoding step may execute decoding processing of
the secret information by generating the binary sequence and
executing arithmetic processing using the generated binary sequence
and a playback signal from the recording medium.
[0047] The secret-information decoding step may read, from the
recording medium, data which is recorded in a form converted in a
predetermined manner from the secret information in units of a
plurality of bits constituting the secret information, and may
execute decoding processing on the secret information by converting
the read data again.
[0048] According to a fourth aspect of the present invention, there
is provided an information playback method for playing back
information from a recording medium, which includes a
secret-information decoding step which reads secret information
stored on the recording medium by executing a special data-reading
process which is different from a process of reading content data
stored on the recording medium, and a decryption step which
generates a content-decryption key by using, as a key-generating
data, the secret information which is decoded after being read from
the recording medium in the secret-information decoding step, and
executes, based on the content-decryption key, the decryption
processing on the read data.
[0049] Preferably, the secret information includes a type of data
among a stamper ID which is stored on the recording medium when the
recording medium is produced and which is common to a plurality of
recording media, a disk ID which is unique to each of the recording
media, a content ID which is differently set for each content, and
a cryptosystem key, and the secret-information decoding step
executes a decoding process on the read data.
[0050] The decryption step may include a step which uses the read
secret information to generate the content-decryption key, and the
read secret information may be allowed to be used only in the
generation of the content-decryption key which is executed in the
cryptosystem unit, without being stored in storage unit which is
readable from the outside of the information recording device.
[0051] The decryption step may include a step which generates the
content-decryption key based on the read secret information and
decryption-key-generating data which is stored in the information
recording device, and the decryption-key-generating data may be
updated by an enabling key block generated such that in a
hierarchical tree structure having a plurality of different
information recording devices as leaves, branches as nodes, and
unique keys set for the leaves and the nodes, a node key is
encrypted by using a key including at least one of a node key and a
leaf key which are positioned at a lower level.
[0052] The decryption-key-generating data may be one of a master
key common to a plurality of information playback devices and a
media key unique to a specified recording medium.
[0053] The decryption-key-generating data may correspond to a
generation number as updating information, and when storing
encrypted data on the recording medium, the decryption step may
store on the recording medium the generation number of the
decryption-key-generating data as a recording-mode generation
number.
[0054] The information playback method may further include a
transport-stream processing step for adding an arrival time stamp
to each of transport packets constituting a transport stream. The
decryption step may include a step which generates a block key as
an encryption key for block data composed of at least one transport
packet to which the arrival time stamp is added, and in playback of
the data to be stored on the recording medium, the decryption step
may generate a block key as a decryption key based on data
including the secret information, the decryption-key-generating
data, and a block seed as additional information which includes the
arrival time stamp and which is unique to the block data.
[0055] The secret-information decoding step may include a step
which executes decoding processing on data which is stored on the
recording medium by using a binary sequence to disturb a string of
bits constituting the secret information, and the
secret-information decoding step may execute decoding processing of
the secret information by generating the binary sequence and
executing arithmetic processing using the generated binary sequence
and a playback signal from the recording medium.
[0056] The secret-information decoding step may read, from the
recording medium, data which is recorded in a form converted in a
predetermined manner from the secret information in units of a
plurality of bits constituting the secret information, and may
execute decoding processing on the secret information by converting
the read data again.
[0057] According to a fifth aspect of the present invention, there
is provided an information recording medium containing secret
information which can be played back only by executing a special
data-reading process different from an ordinary data-reading
process, and an encrypted content which can be decrypted by using a
cryptosystem key which can be generated by using the secret
information.
[0058] Preferably, the secret information includes a type of data
among a stamper ID common to a plurality of recording media, a disk
ID which is unique to each of the recording media, a content ID
which is differently set for each content, and a cryptosystem
key.
[0059] According to a sixth aspect of the present invention, there
is provided a program providing medium for providing a computer
program which controls a computer system to execute
information-recording processing for recording information on a
recording medium. The computer program includes a
secret-information decoding step which reads secret information
stored on the recording medium by executing a special data-reading
process which is different from a process of reading content data
stored on the recording medium, and a cryptosystem step which
generates a content-encryption key by using, as a key-generating
data, the secret information which is decoded after being read from
the recording medium in the secret-information decoding step, and
executes, based on the content-encryption key, the encryption
processing on the data to be stored.
[0060] According to a seventh aspect of the present invention,
there is provided a program providing medium for providing a
computer program which controls a computer system to execute
information-playback processing for playing back information stored
on a recording medium. The computer program includes a
secret-information decoding step which reads secret information
stored on the recording medium by executing a special data-reading
process which is different from a process of reading content data
stored on the recording medium, and a decryption step which
generates a content-decryption key by using, as a key-generating
data, the secret information which is decoded after being read from
the recording medium in the secret-information decoding step, and
executes, based on the content-decryption key, the decryption
processing on the read data.
[0061] Each of the program providing media according to the sixth
and seventh aspects of the present invention provides a computer
program in a computer-readable form to a general-purpose computer
system which can execute various program codes. The form of the
recording medium is not particularly limited, but may be a
recording medium such as compact disk, floppy disk, or
magneto-optical disk, or a transmission medium such as a
network.
[0062] This type of program providing medium defines a cooperative
relationship in structure and function between the computer program
and the providing medium for implementing on a computer system the
functions of a predetermined computer program. In other words, by
using the providing medium to install the computer program in the
computer system, the computer system exhibits cooperative
operation, and operation and advantages similar to those obtained
in the other aspects of the present invention can be obtained.
[0063] According to the present invention, by storing beforehand,
on a recording medium, a signal representing secret information in
which a reading/writing thereof cannot be analyzed and which can be
read in a special reading method, the secret information is
controlled to operate on content encryption or a cryptosystem key
for decryption in the case of recording or playing back contents
such as music data and image data. Accordingly, only an appropriate
device that can execute a specified reading method is allowed to
perform the reading of the secret information and the generation of
a content cryptosystem key, so that a device that cannot execute
the reading of the secret information can be effectively prevented
from performing content playback.
[0064] According to the present invention, secret information
capable of being read only by a special reading method is read only
in an appropriate device that can execute a method of reading the
secret information. The secret information is used for processing
of generating a key for content cryptosystem processing which is
performed under secure protection in, for example, an cryptosystem
unit which is included in an LSI and which execute the generation
of a highly protected cryptosystem key, so that the secret
information is not stored in an externally readable memory.
Therefore, there is no possibility that that secret information may
leak, and unauthorized processing of content playback can be
effectively prevented.
[0065] According to the present invention, by using a
tree-structure key distribution, updating data for a master key and
a media key is transmitted with an enabling key block and a
cryptographic key for content encryption and decryption is
generated based on the transmitted master key and media key and
secret information capable of being read in a special reading
technique. Thus, each content may be used in an appropriate device
which can execute the special reading technique on the secret
information and to which a key is distributed by the tree-structure
key distribution.
[0066] According to the present invention, even if another
cryptographic key is exposed, data which is stored as secret
information on a recording medium can be safely protected. Also,
unauthorized processing such as playback is impossible, so that
contents can be protected at a high security level.
[0067] Further objects, features and advantages of the present
invention will become apparent from the following description of
the preferred embodiments with reference to the attached
drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0068] FIG. 1 is a block diagram showing an example of an
information recording/playback device of the present invention;
[0069] FIG. 2 is a block diagram showing an example of an
information recording/playback device of the present invention;
[0070] FIGS. 3A and 3B are flowcharts showing a process of
recording a digital signal and a process of recording an analog
signal;
[0071] FIGS. 4A and 4B are flowcharts showing reproduction
processes in digital and analog output modes;
[0072] FIG. 5 consists of illustrations of a data format processed
in an information recording/playback device of the present
invention;
[0073] FIG. 6 is a block diagram showing a transport stream
processing unit in an information recording/playback device of the
present invention;
[0074] FIGS. 7A, 7B, and 7C are illustrations of transport streams
processed in an information recording/playback device of the
present invention;
[0075] FIG. 8 is a block diagram showing a transport stream
processing unit in an information recording/playback device;
[0076] FIG. 9 is a block diagram showing a transport stream unit in
an information recording/playback device of the present
invention;
[0077] FIG. 10 consists of illustrations of a block data as a block
seed as additional information of block data processed by an
information recording/playback device of the present invention;
[0078] FIG. 11 is a tree structure chart illustrating encryption of
keys as master key and media key for an information
recording/playback device of the present invention;
[0079] FIGS. 12A and 12B are charts showing enabling key blocks
used for distributing keys such as master key and media key to an
information recording/playback device of the present invention;
[0080] FIG. 13 is an illustration of the distribution and
decryption by enabling key block of a master key in an information
recording/playback device of the present invention;
[0081] FIG. 14 is a flowchart showing a process for decryption by
enabling key block of a master key in an information
recording/playback device of the present invention;
[0082] FIG. 15 is a flowchart showing a process for comparing the
generations of a master key in content recording processing in an
information recording/playback device of the present invention;
[0083] FIG. 16 is a block diagram illustrating encryption in data
recording mode in an information recording/playback device of the
present invention;
[0084] FIG. 17 is a block diagram illustrating encryption in data
recording mode in an information recording/playback device of the
present invention;
[0085] FIG. 18 is a flowchart illustrating a data recording process
in an information recording/playback device of the present
invention;
[0086] FIGS. 19A and 19B are illustrations of the generation of
disk unique keys in an information recording/playback device of the
present invention;
[0087] FIG. 20 is an illustration of the position of an Encryption
Mode Indicator stored in an IEEE 1394 packet for transmission which
is processed in an information recording/playback device of the
present invention;
[0088] FIG. 21 is a flowchart illustrating a process of determining
which of a cognizant mode and a non-cognizant mode should be used
for executing content recording in an information
recording/playback device of the present invention;
[0089] FIGS. 22A and 22B are illustrations of the generation of
title unique keys in the recording of data in an information
recording/playback device of the present invention;
[0090] FIGS. 23A and 23B are illustrations of the generation of
block keys in an information recording/playback device of the
present invention;
[0091] FIG. 24 is a flowchart illustrating a process for generating
a title unique key in an information recording/playback device of
the present invention;
[0092] FIG. 25 is a block diagram showing a modulation circuit
applied to the recording of secret information such as stamper ID
in an information recording/playback device of the present
invention;
[0093] FIG. 26 is a block diagram showing a decryption processor
used for the secret information playback described using FIG.
25;
[0094] FIG. 27 consists of illustrations of recorded secret
information such as stamper ID in an information recording/playback
device of the present invention;
[0095] FIG. 28 is a block diagram showing a decryption unit for the
secret information shown in FIG. 27;
[0096] FIG. 29 is a block diagram showing an example of an
information recording/playback device of the present invention
which stores a cognizant key;
[0097] FIG. 30 is a block diagram showing an example of an
information recording/playback device of the present invention
which stores a non-cognizant key;
[0098] FIG. 31 is a block diagram showing a recording/playback
device of the present invention in which decryption of content data
in playback of data is performed;
[0099] FIG. 32 is a flowchart illustrating a data playback process
in an information recording/playback device of the present
invention;
[0100] FIG. 33 is a flowchart illustrating a detailed process of
whether or not data can be played back, which is performed in an
information recording/playback device of the present invention;
[0101] FIG. 34 is a flowchart illustrating a process of generating
a title unique key in data playback in an information
recording/playback device of the present invention;
[0102] FIG. 35 is an illustration of the distribution and
decryption by enabling key block of a media key in an information
recording/playback device of the present invention;
[0103] FIG. 36 is a flowchart illustrating a process of decryption
by enabling key block of a media key in an information
recording/playback device of the present invention;
[0104] FIG. 37 is a flowchart illustrating a process of content
recording using a media key in an information recording/playback
device of the present invention;
[0105] FIG. 38 is a block diagram showing media-key-used encryption
in data recording;
[0106] FIG. 39 is a block diagram showing media-key-used encryption
in data recording;
[0107] FIG. 40 is a flowchart illustrating a data recording process
using a media key in an information recording/playback device of
the present invention;
[0108] FIG. 41 is a block diagram showing media-key-used encryption
in playback of data which is performed in an information
recording/playback device of the present invention;
[0109] FIG. 42 is a flowchart illustrating media-key-used playback
of data in an information recording/playback device of the present
invention;
[0110] FIG. 43 is a flowchart illustrating a detailed process in
media-key-used playback of data, which determines whether or not
data can be played back in an information recording/playback device
of the present invention;
[0111] FIGS. 44A and 44B are flowcharts illustrating copy-control
processes in the recording of data in an information
recording/playback device of the present invention;
[0112] FIGS. 45A and 45B are flowcharts illustrating copy-control
processes in the playback of data in an information
recording/playback device of the present invention;
[0113] FIG. 46 is a block diagram showing a processing structure
used when data processing is executed by software in an information
recording/playback device of the present invention;
[0114] FIG. 47 is a block diagram showing a producing apparatus
that produces an information recording medium for use in an
information recording/playback device of the present invention;
[0115] FIG. 48 is a flowchart illustrating a production process
that produces an information recording medium for use in an
information recording/playback device of the present invention;
[0116] FIG. 49 is an illustration of a format of an enabling key
block used in an information recording/playback device of the
present invention; and
[0117] FIG. 50 is an illustration of the structure of a tag in an
enabling key block used in an information recording/playback device
of the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0118] System Configuration
[0119] FIG. 1 is a block diagram showing an embodiment of a
recording/playback device 100 to which the present invention is
applied. The recording/playback device 100 includes an input/output
interface (I/F) 120, an MPEG (Moving Picture Experts Group) codec
130, an input/output I/F 140 including an analog-to-digital and
digital-to-analog (A/D-D/A) converter 141, an cryptosystem unit
150, a read-only memory (ROM) 160, a central processing unit (CPU)
170, a memory 180, a drive 190 for a recording medium 195, a
transport-stream (TS) processing unit 300, and a secret-information
decoding unit 500. These are connected to one another by a bus
110.
[0120] The input/output I/F 120 receives a digital signal
representing various contents which are externally supplied, such
as image, sound, and program, and outputs the received digital
signal to the bus 110. The input/output I/F 120 also receives a
digital signal on the bus 110 and outputs the digital signal to the
exterior. MPEG-encoded data which is supplied via the bus 110 is
MPEG-decoded and output to the input/output I/F 140 by the MPEG
codec 130. Also, a digital signal which is supplied from the
input/output I/F 140 is MPEG-encoded and output to the bus 110 by
the MPEG codec 130. The input/output I/F 140 includes the A/D-D/A
converter 141. The input/output I/F 140 receives an analog signal
as an externally supplied content, and outputs, to the MPEG codec
130, a digital signal obtained by using the A/D-D/A converter 141
to perform analog-to-digital conversion on the analog signal. The
input/output I/F 140 outputs to the exterior an analog signal
obtained by using the A/D-D/A converter 141 to perform
digital-to-analog conversion on a digital signal from the MPEG
codec 130.
[0121] The cryptosystem unit 150 is formed by, for example, a
single-chip large-scale integrated circuit (LSI). A digital signal
as a content supplied via the bus 110 is encrypted or decrypted and
output by the cryptosystem unit 150. The cryptosystem unit 150 is
not limited to the single-chip LSI, but can be formed by combining
various types of software or various types of hardware. The
structure of a processing unit formed by software is described
later.
[0122] The ROM 160 stores, for example, leaf keys, as device keys,
which are unique to recording/playback devices or which are unique
to groups of recording/playback devices, and node keys which are
common to a plurality of recording/playback devices or to groups
thereof. The CPU 170 controls the MPEG codec 130, the cryptosystem
unit 150, etc., by executing a program stored in the memory 180.
The memory 180 is, for example, a nonvolatile memory, and stores
programs executed by the CPU 170, and data required for the
operation of the CPU 170. By driving the recording medium 195,
to/from which digital data can be recorded/played back, the drive
190 reads (plays back) and outputs digital data from the recording
medium 195 to the bus 110, and supplies digital data supplied via
the bus 110 so that the digital data is recorded on the recording
medium 195. The device keys may be stored in the memory 180.
[0123] The recording medium 195 is a medium that can store digital
data, for example, an optical disk such as digital versatile disk
(DVD) or compact disk (CD), magneto-optical disk (MO), magnetic
disk, magnetic tape, or semiconductor memory such as RAM. In this
embodiment, the recording medium 195 can be loaded/unloaded
into/from the drive 190. However, the recording medium 195 may be
built into the recording/playback device 100.
[0124] The TS processing unit 300, which is fully described later
with reference to FIG. 6 and the following drawings, performs data
processing that, after extracting transport packets corresponding
to a specified program from a transport stream in which a plurality
of TV programs (contents) are multiplexed, stores appearance-timing
information of the extracted transport packets on the recording
medium 195, with each packet, and appearance-timing-control
processing in the mode of reading from the recording medium
195.
[0125] In the transport stream, an arrival time stamp (ATS) is set
as appearance-timing information of each transport packet. This
timing is determined in an encoding mode so as not to break a
transport stream system target decoder (T-STD) which is a virtual
decoder defined in MPEG-2. When the transport stream is played
back, an arrival time stamp that is added to each transport packet
controls the appearance timing. The TS processing unit 300 executes
control of these steps. For example, for recording a transport
packet on the recording medium 195, the transport packet is
recorded as a source packet in which intervals of packets are
shortened. By recording the transport stream on the recording
medium 195 with the appearance timing of each transport stream, the
output timing of each transport packet can be controlled in
playback mode. When recording data on the recording medium 195 such
as DVD, the TS processing unit 300 additionally records an arrival
time stamp representing the input timing of each transport
packet.
[0126] The recording/playback device 100 of the present invention
executes encryption of a content composed of a transport stream to
which the arrival time stamp is added, and the encrypted content is
stored on the recording medium 195. The cryptosystem unit 150
executes decoding on the encrypted content which is stored on the
recording medium 195. The details of these processes are described
later.
[0127] The secret-information decoding unit 500 is a processing
unit that executes the reading and decoding of secret information
which can be read by performing a special reading process stored on
the recording medium 195. The secret information stored on the
recording medium 195 includes, for example, a stamper ID set for
each stamper in disk production, a disk ID differently set for each
disk, a content ID differently set for each content, and various
identification data and cryptographic keys, such as keys for use in
cryptosystem processing.
[0128] The secret-information decoding unit 500 reads and decodes
the secret information stored on the recording medium 195, and
transfers the decoded secret information to the cryptosystem unit
150. The cryptosystem unit 150 uses the secret information to
generate a cryptographic key which is used when a content is
recorded/read on/from the recording medium 195. The secret
information, decoded by the secret-information decoding unit 500,
is used only when a content-encryption key is generated in the
cryptosystem unit 150, without being stored in a storage unit which
is readable from the outside of the recording/playback device 100,
so that the secret information is prevented from leaking to the
exterior.
[0129] The cryptosystem unit 150, the TS processing unit 300, and
the secret-information decoding unit 500 are shown as separate
blocks for ease of understanding. However, the units 150, 300, and
500 may be formed as one or a plurality of LSIs that execute the
functions of the units. Also, any of the functions may be
implemented by combining software and hardware.
[0130] The construction shown in FIG. 2 can be used as an
embodiment of a recording/playback device in addition to the
construction shown in FIG. 1. In a recording/playback device 200
shown in FIG. 2, a recording medium 205 can be removably loaded
into a recording medium interface (I/F) 210 as a drive unit, and
data reading and writing can be performed, even if the recording
medium 205 is loaded into another recording/playback device.
[0131] Data-Recording Process and Data Reading Process
[0132] Next, with reference to the flowcharts shown in FIGS. 3A to
4B, a process of recording data on the recording medium 195 and a
process of playback of data from the recording medium 195 in the
recording/playback device 100 or 200 in FIG. 1 or 2 are described
below.
[0133] When a digital-signal content from the exterior is recorded
on the recording medium 195, a recording process in accordance with
the flowchart shown in FIG. 3A is performed.
[0134] Specifically, a digital-signal content (digital content) is
supplied to the input/output I/F 120 via, for example, an IEEE
(Institute of Electrical and Electronic Engineers) 1394 serial bus
or the like, in step S301, the supplied content is received and
output to the TS processing unit 300 via the bus 110.
[0135] In step S302, the TS processing unit 300 generates block
data in which an arrival time stamp is added to each transport
packet forming a transport stream, and outputs the block data to
the cryptosystem unit 150 via the bus 110.
[0136] In step S303, the cryptosystem unit 150 executes encryption
processing on the received content, and outputs the obtained
encrypted content to the drive 190 or the recording medium I/F 210
via the bus 110. The encrypted content is recorded (step S304) on
the recording medium 195 via the drive 190 or the recording medium
I/F 210, and the recording process ends. The encryption processing
in the cryptosystem unit 150 is described later.
[0137] Five companies including the assignee of the present
Application, Sony Corporation, has established the Five Company
Digital Transmission Content Protection (hereinafter referred to as
the "5CDTCP" or "DTCP") system as a standard for protecting digital
contents in a case in which the digital contents are transmitted
between devices connected by an IEEE 1394 serial bus. In the DTCP,
when a digital content having no copy-free information is
transmitted between devices, authentication which determines
whether or not copy-control information for copy control is
properly treated is mutually performed before performing data
transmission. After that, the digital content is encrypted and
transmitted at a transmitting end, and the encrypted digital
content (hereinafter referred to also as the "encrypted content")
is decrypted at the receiving end.
[0138] In data transmission/reception based on the DTCP standard,
in step S301, the input/output I/F 120 at the data receiving end
receives the encrypted content via the IEEE 1394 serial bus. After
decrypting the encrypted content in accordance with the DTCP
standard, the input/output I/F 120 outputs the content as plaintext
to the cryptosystem unit 150.
[0139] Digital content encryption based on the DTCP is performed by
using a time-changing key after generating the key. The encrypted
digital content is transmitted on the IEEE 1394 serial bus,
including a key used for the encryption, and at the receiving end,
the encrypted digital content is decrypted by using the key
included therein.
[0140] According to the DTCP, accurately, an initial value of the
key, and a flag representing timing of changing a key for use in
encryption of the digital content are included in the digital
content. At the receiving end, by changing the initial value of the
key included in the encrypted content, based on the timing of the
flag included in the encrypted content, a key used for encryption
is generated and the encrypted content is decoded. Here, it may be
considered that the encrypted content is equivalent to a case in
which a key for decrypting the encrypted content is included
therein. Concerning the DTCP, on a Web page specified by a uniform
resource locator (URL) of, for example, http://www.dtcp.com, an
information version can be obtained.
[0141] Next, with reference to the flowchart in FIG. 3B, a case in
which an analog signal content from the exterior is recorded on the
recording medium 195 is described below.
[0142] When the analog signal content (hereinafter referred to also
as the "analog content") is supplied to the input/output I/F 140,
in step S321, the input/output I/F 140 receives the analog content.
In step S322, the input/output I/F 140 generates a digital signal
content (digital content) by using the A/D-D/A converter 141 to
perform analog-to-digital conversion on the analog content.
[0143] The digital content is supplied to the MPEG codec 130. In
step S323, the MPEG codec 130 performs MPEG encoding or encoding
processing using MPEG compression on the digital content, and
supplies the encoded content to the cryptosystem unit 150 via the
bus 110.
[0144] After that, steps S324, S325, and S326 are performed
identically to steps S302, S303, and S304 in FIG. 3A. In other
words, the addition of an arrival time stamp to each transport
packet by the TS processing unit 300 and the encryption processing
by the cryptosystem unit 150 are performed. The resulted encrypted
content is recorded on the recording medium 195, and the recording
processing is terminated.
[0145] With reference to the flowcharts shown in FIGS. 4A and 4B,
processing in which a content recorded on the recording medium 195
is played back and output as a digital content or an analog content
is described below.
[0146] A process of outputting the content as a digital content to
the exterior is executed as a playback process in accordance with
the flowchart in FIG. 4A. Specifically, in step S401, the encrypted
content recorded on the recording medium 195 is read by the drive
190 or the recording medium I/F 210, and is output to the
cryptosystem unit 150 via the bus 110.
[0147] In step S402, the cryptosystem unit 150 performs decryption
processing on the encrypted content supplied from the drive 190 or
the recording medium I/F 210, and outputs the decrypted data to the
TS processing unit 300 via the bus 110.
[0148] In step S403, the TS processing unit 300 determines output
timing from the arrival time stamp of each transport packet forming
the transport stream, performs control in accordance with the
arrival time stamp, and supplies the transport packet to the
input/output I/F 120 via the bus 110. The input/output I/F 120
outputs the digital content from the TS processing unit 300 to the
exterior and terminates the playback processing. The processing of
the TS processing unit 300 and the digital-content decoding
processing of the cryptosystem unit 150 are described later.
[0149] In step S404, when outputting the digital content via the
IEEE 1394 serial bus, the input/output I/F 120 performs mutual
authentication with another device, as described above, and
succeedingly transmits the digital content in an encrypted
form.
[0150] When the content recorded on the recording medium 195 is
played back and output as an analog content to the exterior, a
playback process in accordance with the flowchart in FIG. 4 is
performed.
[0151] Specifically, steps S421, S422, and S423 are performed
identically to steps S401, S402, and S403. These supply the MPEG
codec 130 via the bus 110 with the decoded digital content obtained
in the cryptosystem unit 150.
[0152] In step S424, the MPEG codec 130 performs MPEG decoding or
decompression processing on the digital content, and supplies the
decompressed content to the input/output I/F 140. In step S425, the
input/output I/F 140 generates an analog content by using the
built-in A/D-D/A converter 141 to perform digital-to-analog
conversion on the MPEG-decoded digital content. In step S426, the
input/output I/F 140 outputs the analog content to the exterior and
terminates the playback process.
[0153] Data Format
[0154] Next, with reference to FIG. 5, a data format on the
recording medium 195 in the present invention is described
below.
[0155] In the present invention, a minimum unit for reading/writing
data from/on the recording medium 195 is called a "block". One
block has a size of 192 by X bytes (e.g., X=32).
[0156] In the present invention, a 4-byte arrival time stamp is
added to a 188-byte transport stream packet in accordance with
MPEG-2 so that the total size is 192 bytes, and X ATS-added
transport stream packets constitute one block of data. An arrival
time stamp is data of 24 to 32 bits which represents an arrival
time. An arrival time stamp is formed as random data in accordance
with the arrival time of each packet. In one block (sector) of the
recording medium 195, X ATS-added transport stream packets are
recorded. In the present invention, by using an arrival time stamp
added to the first transport stream packet of each block forming a
transport stream, a block key for encrypting the data of the block
(sector) is generated.
[0157] By using the random arrival time stamp to generate the
encryption block key, different unique keys for blocks are
generated. The generated block unique keys are used to perform
encryption processing on blocks. Also, by employing the ATS-used
generation of the block keys, the need for the area of the
recording medium 195 required for the encryption keys is
eliminated, and a main data area can be effectively used. This
eliminates the need for accessing data other than the main data in
data recording and reading modes, so that efficient processing can
be performed.
[0158] The block seed shown in FIG. 5 is additional information
including the arrival time stamp. The block Seed may include not
only the arrival time stamp but also copy control information
(hereinafter referred to also as "CCI"). In this case, by using the
arrival time stamp and the copy control information, each block key
can be generated.
[0159] The copy control information included in the block seed,
which is described later, is copy control information proposed as a
joint proposal of five enterprises by the DTCP system. The copy
control information reflects one of two types of information in
accordance with device performance, namely, encryption mode
indicator (EMI), and embedded CCI which is copy control information
embedded in a content and which is applied to a format having a
predetermined portion for sending copy control information.
[0160] In the present invention, when data is stored on a recording
medium such as a DVD, most of content data is encrypted, but first
m bytes (e.g., m=8 or 16) of the block are not encrypted and
recorded as unencrypted data, and the remaining data (byte m+1 or
greater) is encrypted, as is indicated by the bottom image in FIG.
5. This is because encrypted data length is restricted by
performing the encryption processing in units of eight bytes. If
the encryption processing can be performed not in units of eight
bytes but in units of one byte, all portions excluding the block
seed may be encrypted using m=4.
[0161] Processing by TS Processing Unit 300
[0162] The function of the arrival time stamp is described
below.
[0163] As described above, the arrival time stamp is added in order
to store the appearance timing of each transport packet in an input
transport stream.
[0164] Specifically, when one or more TV programs (contents) are
extracted from a transport stream in which a plurality of TV
programs (contents) are multiplexed, transport stream packets
constituting the transport stream appear irregularly (see FIG. 7A).
In the transport stream, the appearance timing of each transport
packet has important meaning. The appearance timing is determined
in encoding mode so as not to break a transport stream system
target decoder (T-STD) which is a virtual decoder defined in MPEG-2
(ISO/IEC 13818-1).
[0165] When the transport stream is played back, the appearance
timing is controlled by the arrival time stamp added to each
transport packet. Accordingly, when recording transport packets on
the recording medium 195, the input timing of each transport packet
must be stored. Thus, when recording the transport packet on the
recording medium 195, an arrival time stamp that represents the
input timing of each transport packet is additionally recorded.
[0166] FIG. 6 is a block diagram illustrating processing executed
by the TS processing unit 300 when a transport stream input via a
digital interface is recorded on a storage medium as the recording
medium 195. From a terminal 600, a transport stream is input as
digital data of digital broadcasting. In FIG. 1 or 2, the transport
stream is input from the terminal 600 either via the input/output
I/F 120 or via the input/output I/F 140 and the MPEG codec 130.
[0167] The transport stream is input to a bit stream parser 602.
The bit stream parser 602 detects a program clock reference (PCR)
packet from the input transport stream. The PCR packet is such that
PCR defined in MPEG-2 is encoded. The PCR packet is obtained by
performing encoding at time intervals of 100 milliseconds or less.
The PCR represents a time at which a transport packet arrives at
the receiving side, with precision of 27 MHz.
[0168] In a 27-MHz phase-locked loop (PLL) 603, the 27-MHz clock
signal of the recording/playback device is locked in the program
clock reference of the transport stream. A time stamp generating
circuit 604 generates a time stamp based on a count of clocks of
the 27-MHz clock signal. A block seed adding circuit 605 uses a
time stamp obtained when the first byte of a transport stream is
input to a smoothing buffer 606, as an arrival time stamp, and adds
the arrival time stamp to the transport stream.
[0169] The ATS-added transport packet passes through the smoothing
buffer 606 and is output from a terminal 607 to the cryptosystem
unit 150. After the ATS-added transport packet is encoded by the
cryptosystem unit 150, the encoded transport packet is recorded on
the recording medium 195 as a storage medium via the drive 190
(FIG. 1) or the recording medium I/F 210 (FIG. 2).
[0170] FIGS. 7A to 7C show an example of a process performed when
the input transport stream is recorded on the recording medium 195.
FIG. 7A shows input transport packets constituting a specified
program (content), where the vertical axis is a time base
indicating time on the transport stream. As shown in FIG. 7A, the
input transport packets appear with irregular timing.
[0171] FIG. 7B shows an output from the block seed adding circuit
605. The block seed adding circuit 605 outputs source packets by
adding, to each transport packet, a block seed including an arrival
time stamp representing a time on the stream of the packets. FIG.
7C shows source packets recorded on the recording medium 195. By
recording the source packets at shortened intervals as shown in
FIG. 7C, the recording area of the recording medium 195 can be
effectively used.
[0172] FIG. 8 shows a processing configuration of the TS processing
unit 300 in a case in which the transport stream recorded on the
recording medium 195 is played back. An ATS-added transport packet,
decoded by an cryptosystem unit (described later), is input from a
terminal 800 to a block seed separation circuit 801, and is
separated into an arrival time stamp and a transport packet. A
timing generating circuit 804 calculates a time based on a clock
counter value of a 27-MHz clock unit 805 of the TS processing unit
300 when it performs playback.
[0173] At the start of playback, the first arrival time stamp is
set as an initial value in a timing generating circuit 804. A
comparator 803 compares the arrival time stamp with the present
time input from the timing generating circuit 804. When the time
generated by the timing generating circuit 804 is equal to the
arrival time stamp, an output control circuit 802 outputs the
transport packet to the MPEG codec 130 or the input/output I/F
120.
[0174] FIG. 9 is a block diagram showing a case in which an input
AV signal is MPEG-encoded by the MPEG codec 130 of the
recording/reproducing unit 100, and a transport stream is encoded
by the TS processing unit 300. Accordingly, FIG. 9 is a block
diagram showing a combination of the MPEG codec 130 and the TS
processing unit 300 in FIG. 1 or 2.
[0175] A video signal is input from a terminal 901 to an MPEG video
encoder 902.
[0176] The MPEG video encoder 902 encodes the input video signal to
generate an MPEG video stream, and outputs the MPEG video stream to
a video stream buffer 903. The MPEG video encoder 902 outputs
access-unit information on the MPEG video stream to a multiplex
scheduler 908. An access unit is a picture, and the access-unit
information is the picture type of each picture, an amount of
encoded bits, and a decode-time stamp. The picture type is I/P/B
picture information. The decode-time stamp is information defined
in MPEG-2.
[0177] An audio signal is input from a terminal 904 to an MPEG
audio encoder 905. The MPEG audio encoder 905 encodes the input
audio signal to generate an MPEG audio stream, and outputs the
stream to an audio stream buffer 906. The MPEG audio encoder 905
also outputs access-unit information on the MPEG audio stream to
the multiplex scheduler 908. An access unit of an audio stream is
an audio frame, and the access-unit information is an amount of
encoded bits in each audio frame and a decode-time stamp.
[0178] Access-unit information on video and audio is input to the
multiplex scheduler 908. Based on the input access-unit
information, the multiplex scheduler 908 controls a method of
encoding a video stream and an audio stream to generate transport
packets. The multiplex scheduler 908 includes a 27-MHz-precision
clock generator for generating a reference time, and determines
packet-encoding control information for a transport packet so as to
satisfy a transport stream system target decoder as a virtual
decoder model. The packet-encoding control information is a type of
a stream to be formed in packet and the length of a stream.
[0179] When the packet-encoding control information represents a
video packet, a switch 976 connects to the side a, so that video
data is read which has a payload data length designated by the
packet-encoding control information from the video stream buffer
903, and is input to a transport packet encoder 909.
[0180] When the packet-encoding control information represents an
audio packet, the switch 976 connects to the side b, so that audio
data is read which has a payload data length designated by the
audio stream buffer 906, and is input to the transport packet
encoder 909.
[0181] When the packet-encoding control information represents a
program clock reference packet, the transport packet encoder 909
captures a program clock reference input from the multiplex
scheduler 908, and outputs a program clock reference packet. When
the packet-encoding control information indicates that packet
encoding is not performed, nothing is input to the transport packet
encoder 909.
[0182] When the packet-encoding control information indicates that
packet encoding is not performed, the transport packet encoder 909
does not output any transport packet. In cases other than that,
based on the picture, the transport packet encoder 909 generates
and outputs transport packets. Accordingly, the transport packet
encoder 909 intermittently outputs transport packets. Based on the
program clock reference input from the multiplex scheduler 908, an
arrival time stamp calculator 910 calculates, an arrival time stamp
representing a time at which the first byte of the transport packet
arrives at the receiving side.
[0183] The program clock reference input from the multiplex
scheduler 908 represents an arrival time at which the tenth byte of
a transport packet defined in MPEG-2 arrives at the receiving side.
Thus, the value of the arrival time stamp is an arrival time of a
byte that is positioned ten bytes before the time of the program
clock reference.
[0184] A block-seed adding circuit 911 adds an arrival time stamp
(ATS) to the transport packet output from the transport packet
encoder 909. The ATS-added transport packet which is output from
the block-seed adding circuit 911 passes through a smoothing buffer
912 to be input to the cryptosystem unit 150. After the input
ATS-added transport packet is encrypted as described later, the
encrypted ATS-added transport packet is recorded on the recording
medium 195 as a storage medium.
[0185] Before being encrypted by the cryptosystem unit 150, the
ATS-added transport packets to be recorded on the recording medium
195 are input, with the intervals of the packets shortened. After
that, the encrypted ATS-added transport packets are recorded on the
recording medium 195. Even if transport packets are recorded with
the intervals thereof shortened, a time at which the transport
packets are input can be controlled.
[0186] The length of an arrival time stamp is not limited to 32
bits, but may be 24 to 31 bits. The longer the bit length of the
arrival time stamp, the greater each cycle of a time counter for
arrival time stamp. For example, when the time counter for arrival
time stamp is a binary counter with precision of 27 MHz, the time
required for a cycle of a 24-bit-length arrival time stamp is
approximately 0.06 seconds. This time is sufficient for an ordinary
transport stream. This is because under provision of MPEG-2, each
packet interval of transport streams is a maximum of 0.1 seconds.
However, the arrival time stamp may have 24 or more bits for
sufficient tolerance.
[0187] In the above cases in which the bit length of the arrival
time stamp is variously set, there are a plurality of possible
configurations for a block seed as an additional data to block
data.
[0188] FIG. 10 shows block seed configurations. In example 1 in
FIG. 10, thirty-two bits are used for the arrival time stamp. In
example 2 in FIG. 10, thirty bits are used for the arrival time
stamp, and two bits are used for copy control information. Copy
control information represents a state of copy control in data to
which the copy control information is added. Concerning copy
control information, the Serial Copy Management System (SCMS) and
the Copy Generation Management System (CGMS) are famous. By using
copy control information based on these systems, types of
information can be shown, such as "Copy Free" information
indicating that data to which Copy Free information is added may be
limitlessly copied, "One Generation Copy Allowed" information
indicating that the copying of data to which One Generation Copy
Allowed information is added can be performed only in one
generation, and "Copy Prohibited" information indicating that the
copying of data to which Copy Prohibited information is added is
prohibited.
[0189] In example 3 in FIG. 10, twenty-four bits are used for the
arrival time stamp, two bits are used for the copy control
information, and six bits are used for other information. Various
types of information, such as information representing the
switching on/off of a Macrovision as an analog-picture-copy-control
mechanism in a case in which other-information-included data is
analog-output, can be used as other information.
[0190] Tree Structure as Key Distribution Configuration
[0191] Next, a configuration is described below in which the
recording/playback device 100 or 200 in FIG. 1 or 2 distributes, to
each device, the master key required for recording data on a
recording medium or for playing back data from the recording medium
195.
[0192] FIG. 11 illustrates the distribution of a key for each
recording/playback device in a recording system using the
configuration. In FIG. 11, the numbers 0 to 15 shown at the bottom
indicate recording/playback devices, respectively. The leaves of
the tree structure shown in FIG. 11 correspond to the devices.
[0193] Each of the devices 0 to 15 stores node keys assigned to
nodes from its leaf as a node to the root, and a leaf key
corresponding to its leaf. The alphanumeric representations K0000
to K1111 shown in the bottom of FIG. 11 are leaf keys assigned to
the devices 0 to 15. In FIG. 11, the top node KR to the nodes K000
to K111 in the second row from the bottom are node keys.
[0194] In the tree structure shown in FIG. 11, for example, device
0 possesses leaf key K0000, and node keys K000, K00, K0, and KR.
Device 5 possesses leaf key K0101, and node keys K010, K01, K0, and
KR. Device 15 possesses leaf key K1111, and node keys K111, K11,
K1, and KR. Although the tree structure shown in FIG. 11 includes
only the sixteen devices 0 to 15 and has four levels and balanced
symmetry, it may include more devices and a different number of
levels in each portions of the tree.
[0195] The devices 0 to 15 as recording/playback devices include
various types of recording/playback devices that use various types
of recording media such as DVDs, CDs, MDs, and Memory Sticks
(trademark). Also, it is possible that various application services
coexist. The key distribution in FIG. 11 is applied to a
configuration in different devices and different applications
coexist.
[0196] In this system in which various devices and applications
coexist, for example, the portion surrounded by the dotted line in
FIG. 11, specifically, devices 0, 1, 2, and 3 are treated as a
group using a single recording medium. To devices 0, 1, 2, and 3
included in this group, a process of simultaneously sending by a
provider a common content in an encrypted form, a process of
sending a master key for use in common, and a process of outputting
content-charge-payment data in an encrypted form from each device
to a provider are performed. An authority that transmits/receives
data to/from each device, such as a content provider or a
settlement authority, treats the portion surrounded by the dotted
line in FIG. 11 as one group and performs simultaneous
data-transmission processing. Similar groups exist in the tree in
FIG. 11.
[0197] Node keys and leaf keys may be controlled by a single key,
or may be controlled for each group by an authority that
transmits/receives data to/from each group, such as a provider or a
settlement authority. These node keys and leaf keys are updated,
for example, when a leak of a key occurs, and the process of
updating is executed by a key-control center, a provider, a
settlement authority, etc.
[0198] As is clear from FIG. 11, in the tree structure, the three
devices 0, 1, 2, and 3 included in one group possess common keys
K00, K0, and KR as node keys. By using this node-key sharing
system, for example, a common master key can be provided to a
limited number of devices 0, 1, 2, and 3. For example, by using
node key K00 itself, which is possessed in common, as a master key,
only devices 0, 1, 2, and 3 can use the master key in common
without receiving a new key. In addition, by distributing, to
devices 0, 1, 2, and 3, code Enc(K00, K.sub.master) obtained by
encrypting new master key K.sub.master using node key K00 via a
network or by using a recording medium containing the value, only
devices 0, 1, 2, and 3 decrypt code Enc(K00, K.sub.master) with
shared master key K00, which is possessed by them, and can obtain
K.sub.master. Data obtained by using K.sub.a to encrypt K.sub.b is
represented by Enc(K.sub.a, K.sub.b).
[0199] When it is discovered at time "t" that the keys of device 3,
K0011, K001, K00, K0, and KR have been analyzed and exposed by a
hacker, device 3 must be cut off from the system in order to
protect data transmitted and received in the system (the group of
devices 0, 1, 2, and 3) after time "t". Accordingly, node keys
K001, K00, K0, and KR must be updated to generate new keys K(t)001,
K(t)00, K(t)0, K(t)R, respectively, and the new keys must be posted
to devices 0, 1, 2, and 3. Here, K(t)aaa represents an updated key
in generation "t" of key Kaaa.
[0200] A process for distributing the updated keys is described
below.
[0201] Key updating is performed by distributing, to devices 0, 1,
and 2, a table formed by block data called an "enabling key block
(EKB)" (shown in FIG. 12A), for example, via a network or by using
recording media containing the table.
[0202] In the enabling key block shown in FIG. 12A, only devices in
which node keys must be updated are shown as block data having an
updatable data arrangement. The example shown in FIG. 12A is block
data formed for the purpose of distributing updated node keys in
generation "t" in connection with devices 0, 1, and 2 in the tree
structure in FIG. 11. As is clear from FIG. 11, devices 0 and 1
need K(t)00, K(t)0, and K(t)R as updated keys, device 2 needs
K(t)001, K(t)00, K(t)0, and K(t)R as updated keys.
[0203] As the enabling key block in FIG. 12A shows, the enabling
key block includes a plurality of encryption keys. The bottom
encrypted key is Enc(K0010, K(t)001). This is updated node key
K(t)001 obtained by performing encryption using leaf key K0010 of
device 2. Device 2 can obtain K(t)001 by using its own leaf key to
decrypt encrypted key Enc(K0010, K(t)001). By using K(t)001
obtained by decryption, the second encrypted key Enc(K(t)001,
K(t)00) from the bottom in FIG. 12A can be decrypted. This makes it
possible to obtain updated node key K(t)00.
[0204] Similarly, by decrypting the second encrypted key
Enc(K(t)00, K(t)0) from the top in FIG. 12A, updated node key K(t)0
can be obtained. By decrypting the first encrypted key Enc(K(t)0,
K(t)R) from the top in FIG. 12A, K(t)R can be obtained.
[0205] In the case of devices 0 and 1, node key K000 is not
included in what to update. Necessary node keys are K(t)00, K(t)0,
and K(t)R. In devices 0 and 1, by decrypting the third encrypted
key Enc(K000, K(t)00), K(t)00 can be obtained.
[0206] Subsequently, by decrypting the second encrypted key
Enc(K(t)00, K(t)0) from the top in FIG. 12A, updated node key K(t)0
can be obtained. By decrypting the top encrypted key Enc(K(t)0,
K(t)R), K(t)R can be obtained.
[0207] By using the above operation, devices 0, 1, and 2 can obtain
updated key K(t)R. The "INDEX" in FIG. 12A indicates the absolute
address of a node key or a leaf key used as a decryption key.
[0208] In a case in which upper node keys K0 and K0 in the tree
structure in FIG. 11 do not need to be updated, and only node key
K00 must be updated, updated node key K(t)00 can be distributed to
devices 0, 1, and 2 by using the enabling key block in FIG.
12B.
[0209] The enabling key block in FIG. 12B can be used in the case
of distributing a new master key that is shared in a specified
group. It is assumed as a specific example that devices 0, 1, 2,
and 3 in the dotted-line group in FIG. 11 use certain recording
media and need new common master key K(t).sub.master. Then, data
Enc(K(t), K(t).sub.master) is distributed which is obtained by
encrypting updated master key K(t).sub.master with K(t)00 obtained
by updating node key K00 common to devices 0, 1, 2, and 3. Thus,
data Enc(K(t), K(t).sub.master) is distributed, as data that is not
decrypted, to the devices of other groups, such as device 4.
[0210] In other words, devices 0, 1, and 2 can obtain master key
K(t).sub.master at time "t" by decrypting the above data using
K(t)00 obtained by processing the enabling key block.
[0211] Distribution of Master Key Using Enabling Key Block
[0212] FIG. 13 shows, as a processing example of obtaining master
key K(t).sub.master at time "t", processing of device 0 that
receives, via a recording medium, data Enc(K(t)00, K(t).sub.master)
obtained by using K(t)00 to encrypt new common master key
K(t).sub.master, and the enabling key block shown in FIG. 12B. As
shown in FIG. 13, device 0 generates node key K(t)00 by performing
enabling-key-block processing similar to the above, using the
enabling key block at time as a generation recorded on the
recording medium. After decrypting updated master key
K(t).sub.master using decrypted updated node key K(t)00, device 0
encrypts the master key using its own leaf key K0000 and records
the encrypted master key so that the master key can be used
afterward. When device 0 can securely store updated master key
K(t).sub.master, the encryption using leaf key K0000 is not
required.
[0213] With reference to the flowchart shown in FIG. 14, a process
for acquiring the updated master key is described below. It is
assumed that the latest master key K(c).sub.master is given to each
recording/playback device when it is shipped and is stored in
an-internal memory securely (specifically, for example, in a form
in which the given master key is encrypted using the device's leaf
key).
[0214] When the recording medium that contains updated master key
K(n).sub.master and the enabling key block is loaded into the
recording/playback device, in step S1401, the recording/playback
device reads the time (generation) number "n" (represented by
pre-recording generation information #n") of the recorded master
key K(n).sub.master from the recording medium. On the recording
medium, the time (generation) number "n" of the recorded master key
K(n).sub.master is recorded beforehand. In step S1402, after
reading self-retained encryption master key C, the
recording/playback device compares the "generation c" of the
encryption master key and the "generation n" of the pre-recording
generation information, and determines the order of the
generations.
[0215] In step S1402, if the recording/playback device has
determined that "generation n" represented by pre-recording
generation information #n does not follow (is not newer than) the
"generation c" of encrypted master key C stored in the internal
memory, in other words, when the "generation c" of encrypted master
key C is identical to or follows "generation n" represented by
pre-recording generation information #n, steps S1403 to S1408 are
skipped and the master key updating process is terminated. In this
case, the master key K(c).sub.master stored in the internal memory
is not updated since it does not need to be updated.
[0216] In step S1402, if the recording/playback device has
determined that "generation n" represented by pre-recording
generation information #n follows (is newer than) the "generation
c" of encrypted master key C stored in the internal memory, in
other words, when the "generation c" of encrypted master key C is
older than "generation n" represented by pre-recording generation
information #n, the recording/playback device proceeds to step
S1403 and reads the enabling key block from the recording
medium.
[0217] In step S1404, the recording/playback device calculates key
K(t)00 of node K00 at pre-recording generation information #n by
using the enabling key block read in step S1403, and the leaf key
(K0000 in device 0 in FIG. 11) and the node keys (K000, K00, etc.,
in device 0 in FIG. 11) which are stored in the internal
memory.
[0218] In step S1405, the recording/playback device determines
whether it has obtained K(t)00 in step S1404. If the
recording/playback device has not obtained K(t)00, it is indicated
that the recording/playback device is revoked from the group in the
tree structure that time. Accordingly, steps S1406 to S1408 are
skipped and the master key updating process is terminated.
[0219] If the recording/playback device has obtained K(t)00, it
proceeds to step S14606 and reads, from the recording medium,
Enc(K(t)00, K(t).sub.master), which is a code obtained by using
K(t)00 to encrypt the master key at time "t". In step S1407, the
recording/playback device uses K(t)00 to decrypt the code and
calculates K(t).sub.master.
[0220] In step S1408, in the recording/playback device,
K(t).sub.master is encrypted using its leaf key (K0000 in device 0
in FIG. 11) and is stored in the internal memory. After that, the
master key updating process ends.
[0221] Although master keys are used in ascending order from the
key at time (generation) zero (0), it is preferable that the master
keys from the new generation to the older generation be structured
by computation, as required by the component units of the system.
In other words, the recording/playback device retains
unidirectional "function f", and creates a desired master key by
applying its own master key to the unidirectional "function f" a
number of times which corresponds to the difference between the
generation of the master key and the generation of the required
master key.
[0222] Specifically, by way of example, when the generation of the
master key MK stored in the recording/playback device is i+1, and
the generation of the master key MK required for reading data is
i-1, master key K(i-1).sub.master is generated such that in the
recording/playback device, unidirectional "function f" is used
twice to calculate f(f(K(i+l).sub.master )).
[0223] When the generation of the master key MK stored in the
recording/playback device is i+1, and the generation of the master
key MK required for reading data is i-2, master key
K(i-.sup.2).sub.master is generated such that in the
recording/playback device, unidirectional "function f" is used
three times to calculate f(f(f(K(i+1).sub.master ))).
[0224] In this operation, for example, the hash function can be
used as the unidirectional "function f". Specifically, MD5 (Message
Digest 5), SHA-1 (Secure Hash Algorithm -1), etc., can be employed.
A key issuing authority uses these unidirectional functions to
beforehand calculate master keys by which generations older than
their generations can be formed, namely, K(0).sub.master,
K(1).sub.master, K(.sup.2).sub.master, . . . , K(N).sub.master.
Specifically, initially, by setting N-generating master key
K(N).sub.master, and applying the unidirectional function to master
key K(N).sub.master for each time, older generation master keys,
K(N-1).sub.master, K(N-2).sub.master, K(l).sub.master,
K(0).sub.master are sequentially generated. After that, the
generated master keys are used in sequence from smaller generation
master key K(0).sub.master. It is assumed that unidirectional
function that is used to generate master keys having generations
older than the generation of a master key be set in all
recording/playback devices.
[0225] Also, for example, public key cryptosystem technology can be
used as a unidirectional function. In this case, a key issuing
authority possesses a secret key for a public key cryptosystem and
provides a public key corresponding to the secret key to all
reproducing devices. The key issuing authority sets zero-th
generation master key K(0).sub.master, and begins to use
K(0).sub.master. Specifically, when requiring master key
K(i).sub.master subsequent to the first generation, the key issuing
authority generates and uses master key K(i).sub.master by using
the secret key to convert master key K(i-1).sub.master which is
older one generation. In this case, the key issuing authority does
not need to generate an N-th generation master key beforehand by
using the unidirectional function. According to this method,
theoretically, master keys of a limitless number of generations can
be generated. If each recording/playback device retains a master
key of a generation, it can obtain a master key of a generation
older than the generation by using a public key to convert the
master key.
[0226] Next, with reference to the flowchart shown in FIG. 15, a
process by the recording/playback device is described below which
is performed when the recording/playback device records a content
on its own recording medium.
[0227] Content data is encrypted using a master key of a generation
and is distributed from a content provider to each
recording/playback device via a network or using recording
media.
[0228] In step S1501, the recording/playback device reads
prerecording generation information #n from the recording medium.
The recording/playback device also acquires the "generation c" of
encrypted master key C stored in its own memory.
[0229] In step S1502, the recording/playback device compares the
"generation c" of the encrypted master key C and "generation n"
represented by pre-recording generation information #n, and
determines the order of the generations.
[0230] In step S1502, if the recording/playback device has
determined that the "generation c" of encrypted master key C stored
in its own memory does not follow "generation n" represented by
pre-recording generation information #n, in other words, when the
"generation c" of encrypted master key C stored in its own memory
is older than "generation n" represented by pre-recording
generation information #n, the recording/playback device skips over
step S1503 and does not perform a content data recording
process.
[0231] In step S1502, if the recording/playback device has
determined that the "generation c" of encrypted master key C stored
in its own memory follows "generation n" represented by
pre-recording generation information #n, in other words, when the
"generation c" of encrypted master key C stored in its own memory
is identical to or newer than "generation n" represented by
pre-recording generation information #n, the recording/playback
device goes to step S1503 and performs the content data
recording.
[0232] Content Data Encryption and Recording Processing Using
Generation-Controlled Master Keys
[0233] A process in which a recording/playback device performs
encryption of content data using generation-controlled master keys
and records the encrypted data on its own recording medium is
described below. Here, a process is described in which a block key
is generated based on data using the generation-controlled master
key, and data composed of the above transport stream is encrypted
using the block key and is stored on a recording medium.
[0234] With reference to the block diagrams shown in FIGS. 16 and
17, and the flowchart shown in FIG. 18, the above process is
described below.
[0235] An optical disk is used as an example of a recording medium.
In the embodiment shown in FIGS. 16 to 18, in order to prevent the
copying of data on the recording medium bit by bit, disk ID that is
identification information unique to the recording medium is
controlled to operate on a key for encryption of data.
[0236] In accordance with FIGS. 16 and 17, an outline of
data-encryption processing performed by the cryptosystem unit 150
is described below.
[0237] A recording/playback device 1600 reads a master key 1601, an
analyzing data-recording key (hereinafter referred to as a
"cognizant key") 1631 or a non-analyzing data-recording key
(hereinafter referred to as a "noncognizant key") 1632, which are
stored in an internal memory like the memory 180 (FIG. 1 or 2). The
cognizant key 1631 and the non-cognizant key 1632 are described
later.
[0238] The master key 1601 is a secret key stored in the memory of
the recording/playback device 1600 as shown in the flow of FIG. 14.
The generation of the master key 1601 is controlled as described
above, and a generation number is correlated with each generation.
The master key 1601 is a key used in common in a plurality of
recording/playback devices, for example, a key common to devices 0
to 3 belonging to the dotted-line group shown in FIG. 11. A device
ID is the identifier of the recording/playback device 1600 and is
an identifier stored beforehand therein, such as a serial number in
production. The device ID may be open to the public. The cognizant
key 1631 and the non-cognizant key 1632 correspond to recording
modes, respectively, and are common to a plurality of
recording/playback devices. These keys are stored beforehand in the
memory of the recording/playback device 1600.
[0239] The recording/playback device 1600 checks the recording
medium 1620 as an optical disk about whether the disk ID 1603 as
identification information has already been recorded. If the disk
ID 1603 has been recorded, the recording/playback device 1600 reads
the disk ID 1603 (FIG. 16). If the disk ID 1603 has not been
recorded, a disk ID 1701 is generated randomly or by a
predetermined method such as random number generation by an
cryptosystem unit 150, and is recorded on the recording medium
(FIG. 17). The disk ID 1603 can be stored in a lead-in area or the
like since the disk needs to have one disk ID.
[0240] The recording/playback device 1600 generates a disk unique
key 1602 by using the master key 1601, a stamper ID 1680 that is
recorded as secret information readable from the disk only in a
special reading method, and the disk ID 1603.
[0241] The following two methods shown in FIG. 19 can be used as
specific methods for generating the disk unique key 1602 by using
the master key 1601, the stamper ID 1680 as secret information, and
the disk ID 1603. In one method (example 1), the master key 1601,
the stamper ID 1680, and the disk ID 1603 are input to a hash
function using a block encryption function, and the obtained result
is used. In another method (example 2), data which is obtained by
the bit concatenation of the master key 1601, the stamper ID 1680
as secret information, and the disk ID 1603 is input to hash
function SHA-1 defined in Federal Information Standard Publication
(FIPS PUB) 180-1, and from the resultant 160-bit output, a
necessary data length is used as the disk unique key 1602.
[0242] As described above, the stamper ID 1680 is highly secret
information recorded on the disk. Arithmetic processes, such as the
reading of the stamper ID 1680, and the generation of the disk
unique key 1602 by using the stamper ID 1680, are executed inside
the cryptosystem unit 150 so that secrecy is maintained. In other
words, the secret information read from the disk is securely
protected in the cryptosystem unit 150.
[0243] In the present invention, secret information that can be
read by only a special reading method is read by only an
appropriate device, that is, a device capable of reading the secret
information. Under secure protection, the secret information is
used for the process of generating keys for encrypting contents in,
for example, a cryptosystem unit which is mounted in an LSI and
which performs the generation of a highly protected cryptographic
key, so that the secret information is not stored in an externally
readable memory. Accordingly, there is no possibility that the
secret information leaks, and playback of abnormal contents can be
effectively prevented.
[0244] As described above, secret information such as a stamper ID
is written in a disk in a manner different from an ordinary data
writing technique, and can be read in a technique different from
ordinary data reading. The processes of writing and reading the
secret information are described later.
[0245] In the recording/playback device 1600, the cryptosystem unit
150 (see FIG. 1 or 2) generates a title key 1604 as a unique key
for each time of recording, randomly or by a predetermined method
such as random number generation, and records the title key 1604 on
the disk 1620.
[0246] After that, a flag 1633 that indicates which of a cognizant
mode or a non-cognizant mode is set as a recording mode 1635, and
the recording mode 1635 is recorded on the disk 1620.
[0247] Here, the cognizant mode and the non-cognizant mode are
described below.
[0248] In each content, whether or not the content can be copied
under what conditions is designated beforehand by a content
provider. Accordingly, in network connection, the designated
conditions must be correctly posted from a device to another
device. In the DTCP system, a method using copy control information
is used to solve this problem. Concerning copy control information,
there are two types of transmission techniques in accordance with
device performance.
[0249] "Encryption Mode Indicator (EMI)" is a mechanism in which
the two upper Sy bits in a packet header are used to send copy
control information. By using this mechanism, a receiver device can
easily perform accessing, and a content can be securely sent
because the value of the Encryption Mode Indicator acts on a key
for encrypting the content.
[0250] The Encryption Mode Indicator is used to indicate the
encryption mode of the packet, and the generation modes of content
encryption and decryption keys are designated. By disposing the
Encryption Mode Indicator in an IEEE 1394 packet header, a receiver
device is allowed to easily know the type of a mode for encryption
of the content, for example, without extracting an embedded copy
control information (described later) in an MPEG transport
stream.
[0251] FIG. 20 shows an IEEE 1394 packet format. In "Data Field",
various types of contents, such as music data and image data, are
stored. The Encryption Mode Indicator (EMI) as copy control
information is set as two upper Sy bits in a packet header.
[0252] The 2-bit EMI information defines a different type of
treatment in accordance with the set value. Specifically, value
"00" is "Copy Free" indicating that neither authentication nor
encryption is not required and that a content may be freely copied.
Value "01" is "Copy One Generation" indicating that 1-generation
copying may be performed. Value "10" is "No More Copies" indicating
that, after the above Copy One Generation is recorded once,
recopying is inhibited. Value "11" is "Never Copy" indicating that
the copying of a content is inhibited from the release thereof.
[0253] In the non-cognizant recording mode, in order that a bit
stream recorder, such as D-VHS or hard disk, which does not
recognize the format of data to be recorded may correctly treat
copyrighted material, it is only necessary to update the Encryption
Mode Indicator, without requiring the updating (e.g., Copy One
Generation to No More Copies) the embedded copy control information
when content recording is performed.
[0254] Conversely, in a format (e.g., DV-format) in which an area
for sending copy control information is reserved, the copy control
information can be sent as part of a content. Copy control
information that is embedded as part of the content, as described
above, is called "embedded copy control information". Normally,
when a content is encrypted and transferred, embedded copy control
information is similarly encrypted and transferred. It is
considered that an intentional change of the embedded copy control
information is difficult.
[0255] Here, in the case of a content having both the above 2-bit
EMI copy control information and the embedded copy control
information, a recording device that performs content recording
updates the two types of copy control information, namely, both the
Encryption Mode Indicator and the embedded copy control
information. However, in the case of a recording device that does
not have ability to analyze the embedded copy control information,
the Encryption Mode Indicator is updated but the embedded copy
control information is not updated.
[0256] A recording technique in which in a content recording mode,
after updating embedded copy control information transmitted as
part of a content, a recording device records the content with the
updated embedded copy control information, is called a "cognizant
mode". In comparison between the cognizant mode and the
non-cognizant mode, the non-cognizant mode causes a small load and
can be easier employed because the updating of the embedded copy
control information does not need to be performed. However, the
DTCP has a rule in which in order that a device may perform MPEG
decoding of a content and may output a video signal from an analog
terminal, the device must employ the cognizant mode. Accordingly, a
device having a decoding/display function must have a function of
executing the cognizant mode.
[0257] In addition, in order to execute the cognizant mode, it is
necessary to completely know the position and meaning of the
embedded copy control information which is embedded as part of the
content. For example, concerning a new or updated data format
established after a certain device goes on the market, an old
device may have a great difficulty in executing the cognizant mode
in the new or updated data format.
[0258] Accordingly, it is possible that, for a specified data
format or implementing a specified function, a content recording
device execute the cognizant mode, while for recording a content
having a different data format, the content recording device
execute the non-cognizant mode.
[0259] There is a type of device that only performs recording using
the non-cognizant mode for all contents. Conversely, there may be a
type of device that only executes processing for contents having
formats capable of understanding embedded copy control information,
in other words, a type of device that only executes the cognizant
mode.
[0260] As described above, in circumstances in which two type of
copy control information, namely, Encryption Mode Indicator and
embedded copy control information exist, and both a device that
executes the cognizant mode and a device that executes the
non-cognizant mode exit, it is preferable to distinguish between a
content recorded in the cognizant mode and a communication network
recorded in the noncognizant mode.
[0261] In other words, when the cognizant mode is used to perform
content recording, both types of copy control information, namely,
Encryption Mode Indicator and embedded copy control information are
updated, but when the non-cognizant mode is used to perform content
recording, only Encryption Mode Indicator is updated and embedded
copy control information is not updated. As a result, mismatching
occurs between the Encryption Mode Indicator and the embedded copy
control information recorded on a recording medium, and the
mismatched Encryption Mode Indicator and embedded copy control
information mix to cause confusion. That is why the distinction of
the contents is preferable. Therefore, in order to prevent the two
types of copy control information from being mismatched, for the
content recorded in the cognizant mode, cognizant-mode
recording/playback processing must be executed, and for the content
recorded in the non-cognizant mode, non-cognizant-mode
recording/playback processing must be executed.
[0262] Accordingly, one idea is that the cognizant mode and the
non-cognizant mode are treated as separate recording modes. In this
case, in order for a device to selectively execute both modes, the
device must have processing configurations for executing both
modes. This causes a problem in that the cost of the device is
increased.
[0263] According to the present invention, in accordance with
either the cognizant mode or the non-cognizant mode, by generating
a content-encryption key which is different from that used in the
other mode, the two recording modes can be distinguished in
accordance with the device and the recording mode used for
recording the content, and a situation can be eliminated in which
recording is performed with the two modes used in disorder. This
implements a content processing configuration using either
recording mode in accordance with the device and the recording mode
used for recording the content, without increasing the
configuration and processing load of the device.
[0264] Specifically, an encryption/decryption-key generating key
(cognizant key) as secret information (necessary for playback) for
cognizant-mode recording is provided and stored in only a device
having a function of recording or playback using the cognizant
mode, and an encryption/decryption-key generating key
(non-cognizant key) as secret information (necessary for playback)
for cognizant-mode recording is provided and stored in only a
device having a function of recording or playback using the
non-cognizant mode.
[0265] In this construction, concerning, for example, a content
recorded using the cognizant mode, a device that has only a
non-cognizant-mode recording/playback function can be prevented
from executing, by a bug, manipulation of data, or unauthorized
change of recording/playback program, mistaken or dishonest
recording/playback.
[0266] Referring back to FIGS. 16 and 17, the description of the
content recording processing is continued.
[0267] The recording/playback device 1600 further acquires the
generation number of the master key for use, namely, the generation
number (generation #n) 1650 of the master key to be stored by
itself, and stores the acquired generation number as a
recording-mode generation number 1651 on the recording medium
1620.
[0268] On the recording medium 1620 as a disk, there is a data
management file that stores information about which data forms
which title. In the data management file, a title key 1605, the
recording mode flag 1635, and the recording-mode generation number
1651 can be stored.
[0269] On the recording medium 1620, pre-recording-mode generation
numbers are recorded beforehand. Only each content stored after
being encrypted using a master key of a generation which is
identical to a pre-recording-mode generation number or is newer
than the pre-recording-mode generation number can be played back.
This construction is described in playback processing described
later.
[0270] Next, among combinations, namely, a combination of a disk
unique key and a title key, and combinations of a cognizant key or
a disk unique key, the title key, and the non-cognizant key, any
combination is used to generate a title unique key.
[0271] Specifically, when the recording mode is the cognizant mode,
the disk unique key, the title key, and the cognizant key are used
to generate the title unique key. When the recording mode is the
non-cognizant mode, the disk unique key, the title key, and the
non-cognizant key are used to the title unique key.
[0272] As described above, the encryption/decryption-key generating
key (cognizant key) as secret information for cognizant-mode
recording is stored in only the device having the function of
recording or playback using the cognizant mode, while the
encryption/decryption-key generating key (non-cognizant key) as
secret information for cognizant-mode recording is stored in only
the device having a function of recording or playback using the
non-cognizant mode. Accordingly, in a device adapted for either
recording mode, either recording mode is selected and content
recording is executed. In other words, the use of the recording
mode is limited to either the use of the cognizant key or the user
of the non-cognizant key.
[0273] In the case of a device in which both keys are stored and
both recording modes can be executed, a process is required which
determines whether either recording mode should be executed. This
mode determination process, that is, a process for determining
whether the cognizant mode or the non-cognizant mode is used to
perform content recording is described below with reference to FIG.
21.
[0274] Basically, it is preferable to perform content recording by
the cognizant mode if possible. This is, as described above,
because Encryption Mode Indicator and embedded copy control
information are prevented from being mismatched. However, there is
a possibility that a data analysis error, etc., occurs due to
emergence of a new data format, etc., as described above. In such a
case, recording using the non-cognizant mode is executed.
[0275] Each step in FIG. 21 is described below.
[0276] In step S5001, a recording device determines whether it can
analyze a data format. As described above, embedded copy control
information is embedded in a content, and impossibility of the data
format analysis indicates that the reading of the copy control
information is impossible. In this case, recording using the
non-cognizant mode is executed.
[0277] When the data format analysis is possible, the recording
device proceeds to step S5002, and determines whether it can
perform data (content) decoding, the reading of embedded copy
control information, and updating. The content and the embedded
copy control information are normally encoded, so that the reading
of the embedded copy control information requires the execution of
decoding. For example, in a case in which the device cannot perform
decoding processing for the reason that a decoding circuit has
already been used when multichannel simultaneous recording is
performed, the embedded copy control information cannot be read, so
that recording using the non-cognizant mode is executed.
[0278] In step S5002, if the recording device has determined that
it can perform data (content) decoding, the reading of embedded
copy control information, and updating, in step S5003, the
recording device determines whether or not an input to the
recording device by a user includes an input designating the
execution of recording using the non-cognizant mode. Step S5003 is
a step that is executed in only a device in which mode selection
designated by the user can be performed, and is not executed in an
ordinary device, that is, a device that does not allow the user to
designate a mode. When the user inputs designation of the
non-cognizant mode, recording using the non-cognizant mode is
executed.
[0279] In step S5004, the recording device determines whether or
not a content packet (e.g., received data) includes designation of
executing recording using the non-cognizant mode. If the
determination is affirmative, recording using the non-cognizant
mode is executed. If the determination is negative, recording using
the cognizant mode is executed.
[0280] In the device that can selectively execute recording using
the cognizant mode and recording using the non-cognizant mode, the
above-described mode determination process is used to determine the
execution of recording using either mode. However it is understood
from FIG. 21 that when recording using the cognizant mode is
possible, recording using the cognizant mode is basically
executed.
[0281] As described above, when the cognizant mode is used as the
recording mode, the disk unique key, the title key, and the
cognizant key are used to generate the title unique key, while when
the non-cognizant mode is used the recording mode, the disk unique
key, the title key, and the non-cognizant key are used to generate
the title unique key.
[0282] FIG. 22 shows specific methods for generating the title
unique key.
[0283] One method (example 1) uses a result obtained by inputting,
to a hash function using a block encryption function, the title
key, the disk unique key, and the cognizant key (in the case of the
cognizant mode) or the non-cognizant key (in the case of the
non-cognizant key).
[0284] In another method, after inputting, to hash function SHA-1
defined in FIPS PUB 180-1, data generated by the bit concatenation
of the master key, the disk ID, and the cognizant key (in the case
of the cognizant mode) or the non-cognizant key (in the case of the
non-cognizant key), only a necessary data length in the resultant
160-bit output is used as the title unique key.
[0285] In the above description, the master key, the stamper ID,
and the disk ID are used to generate the disk unique key, and the
disk unique key, and either the cognizant key or the non-cognizant
key are used to generate each title unique key. However, without
using the disk unique key, by using the master key, the disk ID,
the title key, and either the cognizant key or the non-cognizant
key, the title unique key may be directly generated. Also, without
using the title key, by using the master key, the disk ID, and
either the cognizant key or the non-cognizant key, a key
corresponding to the title unique key may be generated.
[0286] By way of example, when one of transmission formats defined
in the above DTCP is used, there is a case in which data is
transmitted by TS packets in MPEG-2. For example, when a set-top
box (STB) which receives a satellite broadcast uses the DTCP to
transmit the broadcast to a recording device, it is preferable that
the STB send MPEG-2 TS packets transmitted via the satellite
broadcast link, also on the IEEE 1394 because data conversion does
not need to be performed.
[0287] The recording/playback device 1600 receives content data to
be recorded in the form of TS packets, and uses the TS processing
unit 300 to add an arrival time stamp, which is information on the
reception time of each TS packet. As described above, the block
seed which is added to the block data may be formed by a
combination of the arrival time stamp, the copy control
information, and other information.
[0288] By arranging X (e.g., 32) ATS-added TS packets, one block of
block data is formed (see the upper image in FIG. 5). As shown in
FIG. 16 or 17, from a block seed having a 32-bit arrival time
stamp, which is output by separating (selector 1608) the first to
fourth bytes of the start of the block data input as data to be
encrypted, and the already generated title unique key, a block key
as a key for encrypting the data of the block data is generated
(1607).
[0289] FIG. 23 shows two methods for generating the block key. In
each method, from a 32-bit block seed and a 64-bit title unique
key, a 64-bit block key is generated.
[0290] In the upper example 1, an encryption function is used which
has a key length of 64 bits and an input/output length of 64 bits.
A title unique key is used as a key for the encryption function,
and a result that is obtained by inputting to the encryption
function a concatenation value of a block seed and a 32-bit
constant is used as a block key.
[0291] In the lower example 2, hash function SHA-1 defined in FIPS
PUB 180-1 is used. Reduced data having 64 bits is used as a block
key. For example, a concatenation value of a title unique key and a
block seed is input to hash function SHA-1, and from the resultant
160-bit output, only lower-64-bit part is used.
[0292] Using FIG. 23, examples in which the disk unique key, the
title unique key, and the block key are generated have been
described. However, without executing the generation of the disk
unique key and the title unique key, the block key may be generated
by using, for each block, a master key, a stamper ID, a disk ID, a
title key, a block seed, and a cognizant key (in the case of the
cognizant mode) or a non-cognizant key (in the case of the
non-cognizant mode).
[0293] After the block key is generated, the generated block key is
used to encrypt block data. As the bottom of FIGS. 16 and 17 shows,
the initial first to m-th (e.g., m=8) bytes of the block data
including the block seed are separated (by a selector 1608) and are
not encrypted. The (m+1)th byte to the final byte are encrypted
(1609). The m bytes that are not encrypted include the first to
fourth bytes as a block seed. The block data after the (m+1)th byte
which is separated by the selector 1608 are encrypted (1609) in
accordance with an encryption algorithm preset in the cryptosystem
unit 150. For example, the Data Encryption Standard (DES) defined
in FIPS 46-2 can be used as the encryption algorithm.
[0294] As described above, the block seed may include copy control
information. Accordingly, when recording using the cognizant mode
is executed, copy control information that corresponds to embedded
copy control information, which is embedded in content data, is
recorded. When recording using the non-cognizant mode is executed,
copy control information that reflects the Encryption Mode
Indicator (EMI) in the packet header in FIG. 20 is recorded.
[0295] In other words, in the case of information recording
processing using the cognizant mode, record-information generating
processing is executed in which a block seed including copy control
information based on embedded copy control information in data part
is added to a block data composed of at least one packet. In the
case of information recording processing using the non-cognizant
mode, record-information generating processing is executed in which
a block seed including copy control information based on the
Encryption Mode Indicator as copy control information included in a
packet is added to a block data composed of at least one
packet.
[0296] Here, when the block length (input/output data size) of an
encryption algorithm for use is eight bytes as in the DES, by
letting X be 32, and m be a multiple of 8, the entire block after
the (m+1)-th byte can be encrypted without generating a
fraction.
[0297] In other words, when assuming that the number of TS packets
to be stored in one block is x, the input/output data size of the
encryption algorithm is L bytes, and n is an arbitrary natural
number, by determining X, m, and L so that 192*X=m+n*L can hold,
the need for fraction processing is eliminated.
[0298] The encrypted block data after the (m+1)th byte is combined
with the data of the first to m-th bytes by the selector 1610, and
the combination is stored as encrypted content on the recording
medium 1620.
[0299] In the above-described processing, in units of blocks,
contents are encrypted using a block key generated based on a block
seed including a generation-controlled master key and an arrival
time stamp, and are stored on a recording medium.
[0300] As described above, according to the present invention,
content data is encrypted using a generation-controlled master key,
and is recorded on a recording medium. Thus, for enabling decoding
or playback, it is conditioned that playback processing on the
recording medium is performed by a recording/playback device having
the generation of a master key which is at least identical to or
newer than the generation of a master key used for recording
data.
[0301] As described above, in the case of recording using the
cognizant mode, the block key is generated based on the cognizant
key, while in the case of recording using the non-cognizant mode,
the block key is generated based on the non-cognizant key. The data
encrypted using the modes can be read only by a device having a key
(the cognizant key or the non-cognizant key) corresponding to a
mode identical to that used for recording.
[0302] In other words, the cognizant key is supplied only to a
device that can recognize and update embedded copy control
information which is embedded in a stream when performing recording
and to a device allowed to read the data. A device that does not
have the cognizant key cannot read a content recorded using the
cognizant mode.
[0303] Similarly, the non-cognizant key is supplied only to a
device having a non-cognizant recording mode that does not
recognize embedded copy control information in a stream when
recording is performed and to a device allowed to read data
recorded in the mode. A device that does not have the non-cognizant
key is designed so as not to a content recorded using the
non-cognizant mode. Details of the playback processing are
described later.
[0304] Next, with reference to the flowchart shown in FIG. 18, both
the arrival-time-stamp adding processing by the TS processing unit
300 and the encryption processing by the cryptosystem unit 150,
which are executed in accordance with data recording processing,
are described below.
[0305] In step S1801, the recording/playback device reads a master
key and the cognizant key or the non-cognizant key from the memory
180. The recording/playback device reads a stamper ID from a disk
as a recording medium.
[0306] In step S1802, the recording/playback device determines
whether a disk ID has already been recorded as identification
information on the disk. If the determination is affirmative, in
step S1803, the disk ID is read. If the determination is negative,
in step S1804, the disk ID is generated randomly or by a
predetermined method, and is recorded on the recording medium. In
step S1805, a master key and a stamper ID are used to generate a
disk unique key. The disk unique key is found by applying, for
example, a method using hash function SHA-1 defined in FIPS PUB
180-1, a method using a hash function based on block encryption,
etc.
[0307] In step S1806, a title key is generated as a unique key for
each time of recording, and is recorded on the disk, with the
recording mode and the generation number of the master key. The
recording mode represents a type of information recording mode,
namely, either the cognizant mode or the non-cognizant mode.
[0308] In step S1807, a title unique key is generated by using the
disk unique key, the title key, and the cognizant key (in the case
of the cognizant mode) or the non-cognizant key (in the case of the
non-cognizant mode).
[0309] FIG. 24 is a detailed flowchart showing the generation of
the title unique key. In step S2001, the cryptosystem unit 150
proceeds to different steps depending the recording mode. This
branching is determined based on the program of the
recording/playback device and designation data input by a user of
the recording/playback device.
[0310] In step S2001, if the cryptosystem unit 150 has determined
that the recording mode is the cognizant mode, it proceeds to step
S2002, and generates the title unique key by using the disk unique
key, the title key, and the cognizant key.
[0311] In step S2001, if the cryptosystem unit 150 has determined
that the recording mode is the non-cognizant mode, it proceeds to
step S2003, and generates the title unique key by using the disk
unique key, the title key, and the non-cognizant key. The title
unique key is generated by using a method using hash function SHA-1
defined in FIPS PUB 180-1, and a method using a hash function based
on block encryption.
[0312] In step S1808, the recording/playback device receives, in
the form of TS packets, data to be encrypted of content data to be
recorded. In step S1809, the TS processing unit 300 adds each
arrival time stamp (ATS) as information on a time at which each TS
packet is received. Alternatively, the TS processing unit 300 adds
each value obtained by combining copy control information, an
arrival time stamp, and other information.
[0313] In step S1810, the recording/playback device sequentially
receives the ATS-added TS packets, and determines whether the
received packets has reached, for example, X=32 which forms one
block, or whether it has received identification data indicating
the end of the packets. If either condition is satisfied, the
recording/playback device goes to step S1811, and forms one block
of block data by arranging X ATS-added TS packets or ATS-added TS
packets up to the end packet.
[0314] In step S1812, the cryptosystem unit 150 generates a block
key as an encryption key for encrypting the block data by using the
first 32 bits (the block seed including the arrival time stamp) and
the title unique key generated in step S1807.
[0315] In step S1813, the generated block key is used to the block
data formed in step S1811. As described above, the encryption range
is the (m+1)th byte to the end byte of the block data. The Data
Encryption Standard defined in the FIPS 46-2 is applied to the
encryption algorithm.
[0316] In step S1814, the encrypted block data is recorded on the
recording medium. In step S1815, the recording/playback device
determines whether all data have been recorded. If the
determination is affirmative, the recording is terminated. If the
determination is negative, the recording/playback device goes back
to step S1808, and the remaining data is processed.
[0317] In accordance with the above process, the content recording
processing is executed using the cognizant mode or the
non-cognizant mode. When the content recording processing is
executed by the cognizant mode, a key for use in content encryption
is generated based on the cognizant key. When the content recording
process is executed using the non-cognizant mode, a key for use in
content encryption is generated based on the non-cognizant key.
Accordingly, for the content recorded on the disk, it is required
that a decryption key be generated by using either of the cognizant
key and the non-cognizant key, or a single key. This can prevent
recording and playback processing in which both modes are used.
[0318] Writing and Playback of Secret Information
[0319] Next, secret-information writing and reading processes are
described below in which secret information, such as the stamper ID
1680 shown in FIG. 16 or 17, is written on the disk by using a
manner different from an ordinary data-writing technique and in
which the written secret information is allowed to be read only in
the case of applying a manner different from an ordinary
data-reading technique.
[0320] Generation of Secret Information by Signal Disturbance
[0321] First, a structure in which various types of information
signals, such as the stamper ID 1680, are recorded after being
disturbed using M-series signals is described below.
[0322] FIG. 25 shows the structure of a write-signal generating
modulation circuit. The circuit shown in FIG. 25 writes secret
information (such as the stamper ID 1680) modulated based on an FG
signal which rises whenever a disk on which data is written rotates
by a predetermined angle.
[0323] After generating, based on the FG signal, channel clocks CK
which is synchronized with the rotation of the disk, a PLL circuit
1041 supplies the channel clocks CK to the components of the
circuit.
[0324] A timing generator (TG) 1042 generates an initialization
pulse signal SY for initializing M-series generating circuits 1045A
to 1045D at predetermined intervals by counting the channel clocks
CK. The timing generator 1042 also generates and outputs a
synchronization pattern selection signal ST which is synchronized
with the initialization pulse signal SY.
[0325] Secret information, such as the stamper ID 1680, is input to
the modulation circuit in FIG. 25 at a bit rate which is extremely
smaller than that of the channel clocks CK. A synchronizing pattern
generating circuit 1043 generates and outputs a predetermined
synchronizing pattern DY based on the initialization pulse signal
SY.
[0326] The M-series generating circuits 1045A to 1045D are
initialized by the initialization pulse signal SY, and output
M-series M1 to M4, respectively. The M-series signals M1 to M4 are
strings of data which have randomly changing logical values and in
which a possibility that logic "1" occurs and a possibility that
logic "0" occurs are equal to each other. The M-series M1 to M4
signals do not have any mutual relationship.
[0327] Arithmetic circuits (indicated by "X" in FIG. 25) 1046A to
1046D are formed by exclusive OR circuits, and output the results
of exclusive OR operations on the M-series signals M1 to M4 and the
bits b0 to b3 of secret information such as a stamper ID and a disk
ID. This causes the secret information to be disturbed by the
M-series signals M1 to M4.
[0328] A random number generating circuit 1047 generates and
outputs a 2-bit random number R (any value of 0, 1, 2, and 3) to a
data selector 1048 in units of channel clocks CK. In response to
the value of the random number R, the data selector 1048
selectively outputs the results of operations from the arithmetic
circuits 1046A to 1046D. For example, when the random number R=0,
the output of the arithmetic circuit 1046A is selected. When the
random number R=1, the output of the arithmetic circuit 1046b is
selected. When the random number R=2, the output of the arithmetic
circuit 1046C is selected. When the random number R=3, the output
of the arithmetic circuit 1046D is selected.
[0329] In the above construction, by performing decryption based on
the M-series signals M1 to M4, the results of operations by the
arithmetic circuits 1046A to 1046D are treated as a series and are
further disturbed without being affected by other arithmetic
operation results.
[0330] A data selector 1049 selectively outputs the initialization
pulse signal SY which is output from the synchronizing pattern
generating circuit 1043 based on the synchronization pattern
selection signal ST, and the output of the data selector 1048.
Accordingly, after the initialization pulse signal SY rises, and a
synchronizing pattern (e.g., "11011") in a predetermined clock
period (e.g., a 5-clock period) occurs, the data selector 1048 is
controlled to perform outputting.
[0331] On the disk, in a predetermined secret information write
area, the output of the modulation circuit in FIG. 25 is written.
Even if the same secret information is input to the modulation
circuit, the form of write data differs depending on the random
number R. This makes it possible to perform writing of data that
cannot be analyzed in ordinary reading processing.
[0332] Next, with reference to FIG. 26, the playback process on the
secret information written in the above-described technique is
described below.
[0333] FIG. 26 shows the structure of a decryption processor that
plays back the secret information such as a stamper ID by
decrypting a digital playback signal DX read from the disk. Based
on the digital playback signal DX, a PLL circuit 1081 reproduces
and outputs the channel clocks CK to the components of the
decryption processor.
[0334] After detecting a synchronizing pattern by identifying the
digital playback signal DX based on the channel clocks CK, a
synchronization detection circuit 1082 reproduces the
initialization pulse signal SY from the result of detection. Based
on the initialization pulse signal SY and the channel clocks CK,
M-series generating circuits 1083A to 1083D output the M-series
signals M1 to M4 generated in the writing mode.
[0335] Multiplication circuits (indicated by "X" in FIG. 26) 1084A
to 1084D multiply the M-series signals M1 to M4 by the digital
playback signal DX, respectively, and output the products. In the
multiplication circuits 1084A to 1084D, the polarity of the digital
playback signal DX is inverted in accordance with the logical value
of each of the M-series signals M1 to M4, whereby the
multiplications are executed. The digital playback signal DX is
played back only by decryption based on the M-series signals M1 to
M4.
[0336] Integrating circuits (indicated by ".SIGMA." in FIG. 26)
1085A to 1085D integrate, based on the initialization pulse signal
SY, the products output by the multiplication circuits 1084A to
1084D, and output the integrated results in accordance with the
logical values of bits b1 to b3 of the secret information (e.g.,
stamper ID). Determination circuits 1086A to 1086D perform binary
identification based on the initialization pulse signal SY of the
integrated results output by the integrating circuits 1085A to
1085D, whereby the values of bits b0 to b3 are reproduced and
output.
[0337] As described above, the secret information is input, as a
string of four parallel bits b0 to b3, to the modulation circuit
(FIG. 25), and are recorded after being disturbed by the four
M-series signals M1 to M4 and the random number R. Thus, it is
difficult to read the recorded secret information in the ordinary
reading processing. When playback is performed, the M-series
signals M1 to M4 can be generated based on the synchronizing
pattern DY, and the generated M-series signals M1 to M4 and the
decryption of the read signal enable the secret information to be
output.
[0338] A recording/playback device which reads a stamper ID written
by the above-described recording technique and which generates a
content-encryption key based on the stamper ID or the like has a
secret information decrypting unit having the structure shown in
FIG. 26.
[0339] Recording Secret Information in Inner Circumferential Part
of Disk
[0340] Next, concerning other secret-information writing and
reading processes, a construction is described below in which
secret information (such as a stamper ID) is written in an area of
the disk different from a write area for music data, etc., and the
written information is stably read.
[0341] The top part (A) of FIG. 27 is a perspective view of a disk
containing secret information such as a stamper ID. The secret
information is recorded four times on one track of the disk, so
that the secret information can be played back, even if the disk is
partly damaged. The secret information includes areas for a header,
a stamper ID, etc., and an error correcting code. Each bit of bit
patterns indicating the information is formed by a minute area unit
having a dimension of 50 .mu.m, which is greatly longer than that
of each bit of a data area recorded as user data. In each of the
stamper ID area and the error correcting code area, a synchronizing
pattern is formed in which among three minute areas, only the
center area has a pattern formed by changing the optical property
of the recording surface. The synchronizing pattern enables timing
control in the playback mode.
[0342] The data of the information area and the error correcting
code area is divided into two-bit parts. When two-bit data (b1, b0)
is logic "00", the optical property of only the first minute area
is changed, and the logic is converted to logic "1000" for
recording, as shown in the part (D1) of FIG. 27. As shown in the
part (D2) of FIG. 27, when two-bit data (b1, b0) is logic "01",
logic "0100" is recorded. As shown in the part (D3) of FIG. 27,
when two-bit data (b1, b0) is logic "10", logic "0010" is recorded.
As shown in the part (D3) of FIG. 27, when two-bit data (b1, b0) is
logic "11", logic "0001" is recorded. Accordingly, on the disk, the
percentage of presence of optical-property-changed areas is 0.3 or
less, so that in the inner circumferential part of the disk, data
reading can be performed since focussing servo control based on
sufficient reflected light can be performed.
[0343] FIG. 28 shows the structure of an decryption unit used for
reading the secret information recorded in the inner
circumferential part of the disk. A PLL circuit 1160 uses the
digital playback signal DX to reproduce and output the channel
clocks CK.
[0344] By determining the signal level of the digital playback
signal DX based on the channel clocks CK, a synchronization
detection circuit 1161 detects a synchronizing pattern and outputs
an initialization pulse signal SY.
[0345] For the minute areas (parts (D1) to (D4) of FIG. 27)
following the synchronizing pattern (part (C) of FIG. 27), a timing
generator (TG) 1162 outputs, based on the initialization pulse
signal SY, sampling pulse signals T1 to T4 which rise in the
centers of the minute areas.
[0346] Flip-flops (FFs) 1163A to 1163D latch, based on the sampling
pulse signals T1 to T4, digital playback signals. Accordingly, the
signal levels of playback signals which are obtained from the four
minute areas assigned to the two-bit data (b1, b0) of the
information areas and the error correcting code area are latched
and retained in the flip-flops 1163A to 1163D.
[0347] By determining the magnitudes of the playback signal levels
from the flip-flops 1163A to 1163D, the two-bit data (b1, b0) of
the information areas and the error correcting code area are played
back and output by a maximum detecting circuit 1164. A
parallel/serial conversion circuit (PS) 1165 sequentially converts
the two-bit data (b1, b0) into serial data and outputs the serial
data.
[0348] A recording/playback device which reads the stamper ID
written by the above-described recording technique and which
generates a content-encryption key based on the stamper ID includes
the decryption unit structure shown in FIG. 28.
[0349] As described above, by employing special secret-information
writing and reading techniques different from those for contents,
secret information such as a stamper ID is recorded on a disk, and
the stamper ID is used as source data for keys for use in content
encryption and decryption. Thus, if another processing key leaks,
it is impossible to read the secret information, and a possibility
of leak can be greatly reduced. This enables security-enhanced
content protection.
[0350] This Specification describes a case in which the secret
information required for writing and playback of specified
information to be recorded on the disk is set as a stamper ID.
However, the secret information is not limited to the stamper ID.
It is possible that various types of identification data, such as
IDs set for disks, and different content IDs set for contents, or
encryption keys or the like, be set as secret information to be
recorded on the disk. By applying these types of secret
information, a content-encryption key is generated.
[0351] The above recording/playback device has a structure capable
of selectively using a key for generating an encryption/decryption
key for recording using the cognizant mode and a key for generating
an encryption/decryption key for recording using the non-cognizant
mode, as shown in FIG. 16 or 17. A recording/playback device that
executes only one of the modes stores either key, that is, a
cognizant key or a non-cognizant key, and generates, based on the
stored key, a block key for content encryption and decryption.
Block diagrams that show the process of generating a
content-encryption key in each recording/playback device storing a
single key are shown in FIGS. 29 and 30.
[0352] FIG. 29 shows a recording/playback device having only a
cognizant key. This recording/playback device generates, based on
the cognizant key and key generating data, an encryption key and a
decryption key which are used for data recording on a recording
medium and data playback from the recording medium in order to
execute content encryption and decryption.
[0353] FIG. 30 shows a recording/playback device having only a
non-cognizant key. This recording/playback device generates, based
on the non-cognizant key and key generating data, an encryption key
and a decryption key which are used for data recording on a
recording medium and data playback from the recording medium in
order to execute content encryption and decryption.
[0354] In each recording/playback device storing a single type of
key, data recording/playback can be executed only in either
mode.
[0355] Content-Data Decryption and Playback Processing Using
Generation-Controlled Master Key
[0356] Next, processing in which encrypted contents recorded as
described above on the recording medium are decrypted and played
back is described below using the block diagram shown in FIG. 31
and the flowcharts shown in FIGS. 32 to 34.
[0357] Concerning the decryption and playback process, the process
flow is described in accordance with the flowchart in FIG. 32, with
reference to the block diagram in FIG. 31.
[0358] In FIG. 32, in step S2401, a recording/playback device 2300
(FIG. 31) reads a disk ID 2302, a pre-recording-mode generation
number 2350, and a stamper ID 2380 from a disk 2320, and also reads
a master key 2301, a cognizant key 2331 and/or a non-cognizant key
2332 from its memory. As is clear from the above description of the
recording process, the disk ID 2303 is recorded on the disk 2320
beforehand, or if it is not recorded, the disk ID 2303 is a disk
unique identifier in which the identifier is generated in the
recording/playback device 2300 and is recorded on the disk
2320.
[0359] The pre-recording-mode generation number 2360 is generation
information which is beforehand stored on the disk 2320 as a
recording medium and which is unique to the disk 2320. By comparing
the pre-recording-mode generation number 2360 and the generation of
the master key 2301 which is obtained in data recording, that is, a
recording-mode generation number 2350, determination of whether or
not the playback process can be performed. The master key 2301 is a
generation-controlled secret key which is stored in the memory of
the recording/playback device 2300 in accordance with the flow in
FIG. 14. The cognizant key and the non-cognizant key are secret
keys common in system, which correspond to the cognizant mode and
the non-cognizant mode, respectively.
[0360] In step S2402, the recording/playback device 2300 reads,
from the disk 2320, a title key 2305 corresponding to data to be
read, a (data) recording mode 2335, and the generation number of a
master key used when recording data, that is, the recording-mode
generation number 2350. In step S2403, the recording/playback
device 2300 determines whether or not data to be read can be played
back. The detailed flowchart of the determination is shown in FIG.
33.
[0361] In FIG. 33, in step S2501, the recording/playback device
2300 determines whether or not the recording-mode generation number
2350 read in step S2402 is newer than the pre-generation number
2360 read in step S2401. If the recording/playback device 2300 has
determined that the generation represented by the recording-mode
generation number 2350 does not follow the generation represented
by the pre-generation number 2360, in other words, when the
generation represented by the recording-mode generation number 2350
is older than the generation represented by the pre-generation
number 2360, the recording/playback device 2300 determines that
playback is impossible. The recording/playback device 2300 skips
over steps 2404 to S2409 and terminates the process without
performing playback. Accordingly, when the contents recorded on the
disk 2320 are encrypted based on the master key 2301 having a
generation older than the generation represented by the
pre-recording generation number 2360, a playback of the contents is
not allowed and the playback is not performed.
[0362] Specifically, when an unauthorized conduct is detected, the
above processing determines that the unauthorized conduct
corresponds to a case in which data is encrypted based on an old
master key by using an authorized recorder which is not supplied
with a latest generation master key and the encrypted data is
recorded, whereby the above processing prevents a recording medium
containing the inappropriately recorded data from being played
back. This can exclude the use of the unauthorized recorder.
[0363] In step S2501, if the recording/playback device 2300 has
determined that the generation represented by the recording-mode
generation number 2350 follows the generation represented by the
pre-generation number 2360, in other words, when the generation
represented by the recording-mode generation number 2350 is
identical to or newer than the generation represented by the
pre-generation number 2360, and the recorded contents are encrypted
based on a master key whose generation follows the generation
represented by the pre-generation number 2360, the
recording/playback device 2300 goes to step S2502. In step S2502,
after the recording/playback device 2300 acquires generation
information on encryption master key C stored in its memory, it
determines whether or not the generation of the encryption master
key C is identical to/newer than the generation represented by the
recording-mode generation number 2350 and determines by comparing
both generations.
[0364] In step S2502, if the recording/playback device 2300 has
determined that the generation of the encryption master key C does
not follow the generation represented by the recording-mode
generation number 2350, in other words, when the generation of the
encryption master key C which is stored in the memory is older than
the generation represented by the recording-mode generation number
2350, the recording/playback device 2300 determines that a playback
is impossible, and terminates this processing without performing
the playback process by skipping over steps S2404 to S2409.
[0365] Conversely, in step S2502, if the recording/playback device
2300 has determined that the generation of the encryption master
key C follows the generation represented by the recording-mode
generation number 2350, in other words, when the generation of the
encryption master key C which is stored in the memory is identical
to or newer than the generation represented by the recording-mode
generation number 2350, the recording/playback device 2300 goes to
step S2503. In step S2503, the recording/playback device 2300
determines whether or not it possesses a key corresponding to the
recording mode, that is, a cognizant key or a non-cognizant
key.
[0366] In step S2503, if the recording/playback device 2300 has
determined that it possesses the cognizant key or the non-cognizant
key, it determines that a playback is possible. If it does not
possess the cognizant key or the non-cognizant key, it determines
that the playback is impossible.
[0367] When the playback is possible, the recording/playback device
2300 goes to step S2404. In step S2404, the disk ID 2303, the
master key 2301, and the stamper ID 2380 are used to generate (2302
in FIG. 31) a disk unique key. Methods of generating the disk
unique key include the following two methods: in one method, after
inputting, to hash function SHA-1 defined in the FIPS 180-1, data
generated by bit concatenation of the a master key and a disk ID,
only a necessary data length in the resultant 160-bit output is
used as the disk unique key; and in another method, by inputting,
to a hash function using a block encryption function, a master key
and a disk ID, the obtained result is used. The master key being
used here is one read in step S2402 in FIG. 32, which has the
generation (time) represented by the recording-mode generation
number. If the recording/playback device 2300 retains a master key
having a newer generation, the above method is used to create a
master key having the generation represented by the recording-mode
generation number, and a disk unique key may be generated using the
generated master key.
[0368] In step S2405, a title unique key is generated. A detailed
flowchart for generating the title unique key is shown in FIG. 34.
In step S2601, the cryptosystem unit 150 executes determination of
a recording mode. This determination is executed based on the
recording mode 2335 read from the disk 2320.
[0369] In step S2601, if the cryptosystem unit 150 has determined
that the recording mode is the cognizant mode, it goes to step
S2602, and generates the title unique key by using the disk unique
key, the title key, and the cognizant key.
[0370] In step S2601, if the cryptosystem unit 150 has determined
that the recording mode is the non-cognizant mode, it goes to step
S2603, and generates the title unique key by using the disk unique
key, the title key, and the non-cognizant key. For generating the
title unique key, a method using hash function SHA-1, and a hash
function based on block encryption are used.
[0371] In the above description, by using a master key, a stamper
ID, and a disk ID, the disk unique key is generated, and by using
the generated disk unique key, and a cognizant key or a
non-cognizant key, a title unique key is generated. However,
without using the disk unique key, by using the master key, the
stamper ID, the disk ID, the title key, and the cognizant key or
the non-cognizant key, the title unique key may be directly
generated. Also, without using the title key, by using the master
key, the stamper ID, the disk ID, and the cognizant key or the
non-cognizant key, a key corresponding to the title unique key may
be generated.
[0372] In step S2406, block data is sequentially read from
encrypted content 2312 recorded in encrypted form on the disk 2320.
In step S2407, a selector 2310 separates first four bytes as a
block seed from the block data. The block seed, and the title
unique key generated in step S2405 are used to generate a block
key.
[0373] For generating the block key, the above constructions in
FIGS. 23A and 23B can be applied. In other words, a technique can
be applied in which by using a 32-bit block seed and a 64-bit title
unique key, a 64-bit block key can be generated.
[0374] In the above description, each of the disk unique key, the
title unique key, and the block key is generated. However, for
example, without executing the generation of the disk unique key
and the title unique key, the block key may be generated for each
block by using the master key, the stamper ID, the disk ID, the
title key, the block seed, and the cognizant key or the
non-cognizant key.
[0375] After the block key is generated, in step S2408, the block
data encrypted using the block key is decrypted (2309), and is
output as decrypted data via a selector 2308. In the decrypted
data, arrival time stamps are added to transport packets
constituting a transport stream. In the above-described TS
processing unit 300, stream processing based the arrival time
stamps is executed. After that, data can be used in the form of,
for example, displaying an image, and playing music.
[0376] As described above, contents recorded on a recording medium
after being encrypted in units of blocks can be played back such
that the contents are decryption-processed using a block key
generated based on a block seed including a arrival time stamp.
[0377] After using the block key to decrypt the encrypted block
data, in step S2409, the recording/playback device 2300 determines
whether the reading of all data is completed. If all data have
already been read, this process ends. If the determination is
negative, the recording/playback device 2300 goes back to step
S2406 and reads the remaining data.
[0378] The above recording/playback device 2300 has a structure
capable of selectively using an encryption/decryption-key
generating key (cognizant key) for the cognizant mode and an
encryption/decryption-key generating key (non-cognizant key) for
the non-cognizant mode, as shown in FIG. 31. As shown in FIGS. 29
and 30, in a recording/playback device that stores only one of the
keys, that is, the cognizant key or the non-cognizant key, only the
recording mode corresponding to the stored key of either mode is
executed, and a content-decrypting block key is generated based on
the stored key.
[0379] Processing Configuration Using Media Key Effective Only in
Recording Medium
[0380] In the above embodiment, an enabling key block is used to
transmit a master key to each recording/playback device. The
recording/playback device uses the master key to record and play
back data.
[0381] A master key is a key that is effective in the entire record
of data at the point thereof. A recording/playback device that has
obtained a master key at a point is allowed to decrypt data
recorded at the point and data recorded in system prior to the
point. However, from the property of the master key in which it is
effective in the entirety of the system, a defect occurs in that
the exposure of the master key affects the entirety of the
system.
[0382] By setting a key transmitted using an enabling key block of
a recording medium so that it is used not as a master key effective
in the entire system but as a media key effective in only the
recording medium, the influence of exposure of the key can be
suppressed. A method that using a media key instead of a master key
is described below as a second embodiment of the present invention.
Differences from the above first embodiment are described.
[0383] Similarly to FIG. 13, FIG. 35 shows that after device 0
generates updating node key K(t)00 by using an enabling key block
at a point t which is recorded on the recording medium, and leaf
key K0000 and node keys K000 and K00 which are stored in device 0,
device 0 uses node key K(t)00 to obtain updating media key
K(t).sub.media. The obtained updating media key K(t).sub.media is
used when performing data recording on the recording medium and
playback of the data.
[0384] In FIG. 35, the pre-recording generation number is not
essential because concerning the media key, there is no concept of
old and new generations, differently from the master key.
[0385] When a recording medium is loaded into each
recording/playback device for data recording or playback, the
recording/playback device calculates media key K(t).sub.media for
the recording medium in accordance with the flowchart shown in FIG.
36, and uses the updating media key K(t).sub.media to access the
recording medium.
[0386] The reading of an enabling key block in step S2801 and the
processing of the enabling key block in step S2802 (FIG. 36) are
similar to steps S1403 and S1404 in FIG. 14.
[0387] In step S2803, the recording/playback device reads, from the
recording medium, code Enc(K(t)00, K(t).sub.media) obtained by
using node key K(t)00 to encode media key K(t).sub.media. In step
S2804, the recording/playback device obtains the media key by
decrypting the read code. If the recording/playback device is
revoked from a group in the tree structure shown in FIG. 11, the
media key cannot be obtained and recording on the recording medium
and playback cannot be performed.
[0388] Next, data recording on the recording medium is described.
Concerning the media key, there is no concept of old and new
generations, differently from the master key. Thus, determination
in the first embodiment (FIG. 15) of whether or not recording can
be performed by comparing the pre-recording generation information
and the generation of the master key is not performed, and it is
determined that recording is possible if the media key has been
obtained in the above process. Specifically, this is shown in the
flowchart shown in FIG. 37. In FIG. 37, in step S2901, the process
determines whether the media key has already been obtained. If the
media key has been obtained, a content recording process is
executed in step S2902.
[0389] Data Recording Process Using Media Key Effective in Only
Recording Medium
[0390] The content recording process is described below with the
block diagrams shown in FIGS. 38 and 39 and with the flowchart
shown in FIG. 40.
[0391] In the second embodiment, an optical disk is used as an
example of a recording medium, similarly to the first embodiment.
The first embodiment is also similar to the second embodiment in
that in order that data on the recording medium may be prevented
from being copied, a disk ID as identification information unique
to the recording medium influences a data encrypting key.
[0392] FIGS. 38 and 39 correspond to FIGS. 16 and 17 in the first
embodiment, and differ in that a media key is used instead of the
master key and in that a recording-mode generation number that
represents a master key generation is not used. FIG. 38 differs
from FIG. 39 in that the writing of the disk ID is executed,
similarly to the difference between FIG. 16 ad FIG. 17.
[0393] FIG. 40 shows the data recording process of the second
embodiment which uses the media key. The flowchart in FIG. 40
corresponds to that in FIG. 18 (the first embodiment). The
flowchart in FIG. 40 is described below, mainly concerning
differences from the first embodiment.
[0394] In FIG. 40, in step S3201, a recording/playback device 3000
reads a cognizant key and/or a non-cognizant key which are stored
in its memory, and the media key K(t).sub.media temporarily stored
after being calculated in step S2804 in FIG. 36. The
recording/playback device 300 also reads a stamper ID from the
disk.
[0395] In step S3203, the recording/playback device 3000 determines
whether or not a disk ID has already been recorded as
identification information on the recording medium (optical disk).
If the disk ID has already been recorded, in step S3203, the
recording/playback device 300 reads the disk ID (in the case of
FIG. 38). If the disk ID has not already been recorded, in step
S3204, a disk ID is generated by using a predetermined manner and
is recorded on the disk (in the case of FIG. 39). The disk ID can
be stored in a lead-in area or the like because the disk needs to
have one disk ID. In either case, the recording/playback device
3000 goes to step S3205.
[0396] In step S3205, the media key and the stamper ID which are
read in step S3201 are used to generate a disk unique key. A
specific method of generating the disk unique key is identical to
that used in the first embodiment, and the media key may be used
instead of the master key.
[0397] In step S3206, a key that is unique to each time of
recording, namely, a title key is generated randomly or by a
predetermined method, and is recorded on the disk. Simultaneously,
a recording mode activated when recording the title (data) is
recorded on the disk.
[0398] The disk contains a data management file storing information
that which data forms which title. The title key and the recording
mode can be stored in the data management file.
[0399] A description of steps S3207 to S3215 is omitted since they
are similar to steps S1807 to S1815 in FIG. 18.
[0400] In the above description, a disk unique key is generated by
using a media key, a stamper ID, and a disk ID, and a title unique
key is generated by using the disk unique key, a title key, a
cognizant key or a non-cognizant key. However, without using the
disk unique key, by using the media key, the stamper ID, the disk
ID, the title key, and the cognizant key or the non-cognizant key,
the title unique key may be directly generated. Also, without using
the title key, by using the stamper ID, the disk ID, and the
cognizant key or the non-cognizant key, a key corresponding to the
title unique key may be generated.
[0401] As described above, data can be recorded on the recording
medium by using the media key.
[0402] Data Playback Process Using Media Key Effective in Only
Recording Medium
[0403] A process for playing back the data recorded as described
above is described below with reference to the block diagram shown
in FIG. 41 and the flowchart shown in FIG. 42.
[0404] FIG. 41 corresponds to FIG. 31 in the first embodiment, and
differs in that since a media key is used instead of the master
key, a recording-mode generation number is omitted.
[0405] In FIG. 42, in step S3401, a recording/playback device 3400
reads a stamper ID and a disk ID from a disk 3420 as a recording
medium, and also reads a cognizant key and/or a non-cognizant key
and the media key temporarily stored after being calculated in step
S2804 in step S36.
[0406] When the media key cannot be obtained by performing the
process shown in FIG. 36 after loading the recording medium, the
playback process is not performed and terminated.
[0407] In step S3402, the title key of data to be read from the
disk 3320, and a recording mode stored when recording the data are
read.
[0408] In step S3403, the recording/playback device 3300 determines
whether or not the data can be played back. The details of step
S3403 are shown in FIG. 43.
[0409] In step S3501, the recording/playback device 3300 determines
whether or not the media key is obtained. If the media key is not
obtained, a playback is impossible. If the media key is obtained,
the recording/playback device 3300 goes to step S3502. Step S3502
is similar to step S2503 in FIG. 33. When the recording/playback
device 3300 possesses a key corresponding to a recording mode used
when recording the data (a cognizant key for the cognizant mode or
a non-cognizant key for the non-cognizant mode), the
recording/playback device 3300 determines that a playback is
possible, and goes to step S3404. When the recording/playback
device 3300 possesses the key, it determines that a playback is
impossible, and skips over steps S3404 to S3409 and terminates the
process without performing the playback.
[0410] A description of steps S3404 to S3409 is omitted since they
are similar to steps S2404 to S2409 in FIG. 32.
[0411] In the above description, by using a media key, a stamper
ID, and a disk ID, a disk unique key is generated, and by using the
disk unique key, a title key, a cognizant key or a non-cognizant
key, a title unique key is generated. However, without using the
disk unique key, by using the media key, the stamper ID, the disk
ID, the title key, and the cognizant key or the non-cognizant key,
the title unique key may be directly generated. Also, without using
the title key, by using the media key, the stamper ID, the disk ID,
and the cognizant key or the non-cognizant key, a key corresponding
to the title unique key may be generated.
[0412] As described above, data recording on the recording medium
and the playback from the recording medium are executed.
[0413] Copy Control in Recording Process
[0414] To protect advantages of a content copyrighter, content
copying must be controlled in a licensed device.
[0415] Specifically, when a content is recorded on a recording
medium, it is required that after determining whether the content
may be copied, only a content allowed to be copied be recorded.
When a content recorded on the recording medium is played back and
output, it is required that unauthorized copying of the output
content be prevented.
[0416] Accordingly, processing by the recording/playback device 100
or 200 in FIG. 1 or 2 in a case in which content recording and
playback is performed while performing the content copy control is
described below with reference to the flowcharts shown in FIGS. 44A
to 45B.
[0417] When a digital signal content from the exterior is recorded
on the recording medium, the recording process shown in FIG. 44A is
performed. This recording process is described using the
recording/playback device 100 shown in FIG. 1 as an example. When a
digital signal content (digital content) is supplied to the
input/output I/F 120 via, for example, an IEEE 1394 serial bus, in
step S4001, the input/output I/F 120 receives the digital content
and goes to step S4002.
[0418] In step S4002, the input/output I/F 120 determines whether
the received digital content may be copied. Specifically, when the
content received by the input/output I/F 120 is not encrypted, for
example, when a plaintext content is supplied to the input/output
I/F 120 without using the above-described DTCP, the input/output
I/F 120 determines that the received content may be copied.
[0419] It is assumed that the recording/playback device 100 is a
device based on the DTCP which executes the process in accordance
with the DTCP. The DTCP defines 2-bit Encryption Mode Indicator as
copy control information for controlling copying. When the
Encryption Mode Indicator is "00B" where B indicates that the
adjacent value is a binary number, the content is of "Copy-freely"
type. When the Encryption Mode Indicator is "01B", the content is
of a "No-more-copies" type in which the content may not be more
copied. When the Encryption Mode Indicator is "10B", the content is
"Copy-one-generation" type in which the copying of the content can
be performed once. When the Encryption Mode Indicator is "11B", the
content is "Copy-never" type in which copying of the content is
inhibited.
[0420] When the signal supplied to the input/output I/F 120 in the
recording/playback device 100 includes an Encryption Mode
Indicator, and the Encryption Mode Indicator is of a type among
Copy-freely and Copy-one-generation types, the input/output I/F 120
determines that the content may be copied. When the Encryption Mode
Indicator is of a type among No-more-copies and Copy-never types,
the input/output I/F 120 determines that the content is not allowed
to be copied.
[0421] In step S4002, if the input/output I/F 120 has determined
that the content may not be copied, steps S4003 to S4005 are
skipped over and the recording process is terminated. Accordingly,
in this case, the content is not recorded on the recording medium
195.
[0422] In step S4002, if the input/output I/F 120 has determined
that the content may be copied, the process goes to step S4003.
After that, steps S4003, S4004, and S4005 are performed which are
similar to steps S302, S303, and S304 shown in FIG. 3B. In other
words, the addition by the TS processing unit 300 of the arrival
time stamp to the transport packet, and encryption processing by
the cryptosystem unit 150 are executed. The resultant encrypted
content is recorded on the recording medium 195, and the recording
process is terminated.
[0423] The Encryption Mode Indicator is included in the digital
signal supplied to the input/output I/F 120, so that when the
digital content is recorded, an Encryption Mode Indicator or
information (e.g., embedded copy control information in the DTCP,
etc.) which represents a copy-control status similarly to the
Encryption Mode Indicator are also recorded, with the digital
content.
[0424] In the recording, in general, information which represents
Copy-One-Generation type is recorded after being converted into
information which represents No-more-copies type so that more
copies are not allowed.
[0425] In a recording/playback device of the present invention,
copy control information, such as Encryption Mode Indicator and
embedded copy control information, is recorded in a form in which
it is added to the TS packet. In other words, 32 bits which include
an arrival time stamp having 24 to 30 bits and copy control
information, as shown in examples 2 and 3 of FIG. 10, are added to
each transport stream (TS) packet, as shown in FIG. 5.
[0426] When an analog signal content from the exterior is recorded
on the recording medium 195, the recording process shown in FIG.
44B is performed, which is described below.
[0427] When the analog signal content is supplied to the
input/output I/F 140, the input/output I/F 140 receives the analog
signal content in step S4011 and goes to step S4012. In step S4012,
the analog signal content determines whether the received analog
signal content may be copied.
[0428] The determination in step S4012 is performed by, for
example, determining whether or not the signal received by the
input/output I/F 140 includes a Macrovision signal or a CGMS-A
(Copy Generation Management System-Analog) signal. The Macrovision
signal is a signal that becomes noise after being recorded on a VHS
videocassette tape. When this is included in the signal received by
the input/output I/F 140, the input/output I/F 140 determines that
the analog content is not allowed to be copied.
[0429] The CGMS-A signal is such that a CGMS signal for use in
digital signal copy control is applied to analog signal copy
control. The CGMS-A signal represents one of Copy-freely type in
which the content is allowed to be freely copied,
Copy-one-generation type in which the copying of the content can be
performed only once, and Copy-never type in which copying of the
content is inhibited.
[0430] Accordingly, when the CGMS-A signal is included in the
signal received by the input/output I/F 140 and represents one of
the Copy-freely type and the Copy-one-generation type, it is
determined that the analog content may be copied. The CGMS-A signal
represents the Copy-never type, it is determined that the analog
content is not allowed to be copied.
[0431] In addition, for example, when the Macrovision signal and
the CGMS-A signal are not included in the received by the
input/output I/F 140, it is determined that the analog content may
be copied.
[0432] In step S4012, if the input/output I/F 140 has determined
that the analog content is not allowed to be copied, it skips over
steps S4013 to S4017 and terminates the recording process.
Accordingly, in this case, the content is not recorded on the
recording medium 195.
[0433] In step S4012, if the input/output I/F 140 has determined
that the analog content may be copied, it goes to step S4013. After
that, steps S4013 to S4017 are performed which are similar to steps
S322 to S326 shown in FIG. 3B, whereby after performing MPEG
encoding, TS processing, and encryption processing, the content is
recorded on the recording medium 195 and the recording ends.
[0434] When the analog signal received by the input/output I/F 140
includes the CGMS-A signal, and the analog content is recorded on
the recording medium 195, the CGMS-A signal is also recorded. The
CGMS-A signal is recorded in the copy control information or the
other information shown in FIG. 10. In the recording, in general,
information which represents Copy-One-Generation type is recorded
after being converted into information which represents
No-more-copies type so that more copies are not allowed. Although
in the system, copy control information such as the
Copy-one-generation type is recorded without being converted into
the No-more-copies type, this does not apply to a case in which
there is a rule that the copy control information is treated as the
No-more-copies type.
[0435] Copy Control in Playback Process
[0436] Next, in a case in which the content recorded on the
recording medium 195 is played back and output as a digital content
to the exterior, the playback process shown in FIG. 45A is
performed, which is described below.
[0437] First, steps S4101, S4102, and S4103 are performed which are
similar to steps S401, S402, and S403, whereby the encrypted
content read from the recording medium 195 is decrypted in the
cryptosystem unit 150 and is processed by transport stream
processing. The processed digital content is supplied to the
input/output I/F 120 via the bus 110.
[0438] In step S4104, the input/output I/F 120 determines whether
or not the supplied digital content may not be copied later. In
other words, when the digital content supplied to the input/output
I/F 120 does not include an Encryption Mode Indicator or
information (copy control information) representing a copy control
status, it is determined that the content may not be copied
later.
[0439] When the digital content supplied to the input/output I/F
120 includes copy control information such as Encryption Mode
Indicator, accordingly, when copy control information such as
Encryption Mode Indicator is recorded in accordance with the DTCP
in content recording, the recorded copy control information
(recorded Encryption Mode Indicator) is of Copy-freely type, it is
determined that the content may not be copied later. When copy
control information such as Encryption Mode Indicator is of
No-more-copies type, it is determined that the content is not
allowed to be later copied.
[0440] In general, there is no case in which the recorded copy
control information (Encryption Mode Indicator) is of
Copy-one-generation type or Copy-never type. This is because the
Copy-one-generation type of Encryption Mode Indicator is converted
to No-more-copies type of Encryption Mode Indicator when performing
recording and because a digital content having Copy-never type of
Encryption Mode Indicator is not recorded on a recording
medium.
[0441] In step S4104, if the input/output I/F 120 has determined
that the digital content may not be copied later, it goes to step
S4105, and outputs the digital content to the exterior. After that,
the playback process ends.
[0442] In step S4104, if the input/output I/F 120 has determined
that the digital content may not be copied later, it goes to step
S4106. In step S4106, the input/output I/F 120 outputs the digital
content to the exterior in accordance with the DTCP so that the
digital content cannot be later copied. After that, the playback
process ends.
[0443] In other words, when the recorded copy control information
(Encryption Mode Indicator) is of No-more-memories type, or in a
case in which the system has a rule that Copy-one-generation type
of copy control information is recorded without being converted
into No-more-memories type of copy control information, and copy
control information (Encryption Mode Indicator) recorded under the
rule is of Copy-one-generation type, the content may not be more
copied.
[0444] Accordingly, the input/output I/F 120 performs mutual
authentication with another device in accordance with the DTCP
standard. When the device is right (or is based on the DTCP
standard), the digital content is encrypted and output to the
exterior.
[0445] Next, in a case in which the content recorded on the
recording medium is played back and output as an analog content to
the exterior, the playback process shown in FIG. 45B is performed,
which is described below.
[0446] Steps S4111 to S4115 are performed which are similar to
steps S421 to S425 shown in FIG. 4B. In other words, the reading of
the encrypted content, transport stream processing, MPEG decoding,
and D/A conversion are executed. The obtained analog content is
received by the input/output I/F 140.
[0447] In step S4116, the input/output I/F 140 determines whether
or not the supplied content may be copied. If copy control
information such as Encryption Mode Indicator is not recorded with
the content, the input/output I/F 140 determines that the content
may be copied.
[0448] In a case in which when recording the content, copy control
information such as Encryption Mode Indicator is recorded in
accordance with the DTCP, and the copy control information is of
Copy-freely type, the input/output I/F 140 determines that the
content may not be copied later.
[0449] When the copy control information is of No-more-copies type,
or when in the system there is, for example, a rule that
Copy-one-generation type of copy control information is recorded
without being converted and is treated as No-more-copies type of
copy control information, and copy control information recorded
under the condition is of Copy-one-generation type, the
input/output I/F 140 determines that the content may not be copied
later.
[0450] When the analog content supplied to the input/output I/F 140
includes, for example, a CGMS-A signal, in other words, in a case
in which when recording the content, the CGMS-A signal is recorded
with the content, and the CGMS-A signal represents Copy-freely
type, it is determined that the analog content may not be copied
later. If the CGMS-A signal represents Copy-never type, it is
determined that the analog content may not be copied later.
[0451] In step S4116, if the input/output I/F 140 has determined
that the analog content may not be copied later, it goes to step
S4117. In step S4117, the input/output I/F 140 outputs the supplied
analog signal to the exterior and terminates the playback
process.
[0452] In step S4116, if the input/output I/F 140 has determined
that the content may not be copied later, it goes to step S4118. In
step S4118, the input/output I/F 140 outputs the analog content to
the exterior in a form in which the analog content cannot be later
copied, and the playback process ends.
[0453] For example, when the recorded copy control information is
of No-more-copies type, as described above, or in a case in which
in the system there is a rule that Copy-one-generation type of copy
control information is recorded without being converted and is
treated as No-more-copies type, and copy control information
recorded under the condition is Copy-one-generation type, the
content may not be more copied.
[0454] Therefore, after adding, for example, a Macrovision signal
or a CGMS-A signal representing Copy-never type to the analog
content, the input/output I/F 140 outputs the obtained content to
the exterior. Also when the recorded CGMS-A signal represents
Copy-never type, the content may not be more copied. Accordingly,
after changing the CGMS-A signal to represent Copy-never type, the
input/output I/F 140 outputs the changed CGMS-A signal to the
exterior, with the analog content.
[0455] As described above, by recording or playing back a content
while performing content-copy control, copying (unauthorized
copying) beyond the allowable range of the content can be
prevented.
[0456] Structure of Data Processing Unit
[0457] The above successive processes can be performed not only by
hardware but also by software. For example, although the
cryptosystem unit 150 can be formed by an encryption/decryption
LSI, processing by the cryptosystem unit 150 can be executed such
that a general-purpose computer or a single-chip microcomputer
executes programs. Similarly, processing by the TS processing unit
300 can be also performed by software. When software is used to
perform successive processes, programs constituting the software
are installed in a device such as a general-purpose computer or a
single-chip microcomputer. FIG. 46 shows an example of a computer
in which programs for executing the successive processes are
installed.
[0458] The programs can be recorded beforehand on a hard disk 4205
or a read-only memory (ROM) 4203 as a recording medium which is
built into the computer. Alternatively, the programs can be
temporarily or eternally stored (recorded) in a removable recording
medium 4210 such as a floppy disk, a CD-ROM, a magneto-optical
disk, a digital versatile disk, a magnetic disk, or a semiconductor
memory. The removable recording medium 4210 can be provided in the
form of so-called "package software".
[0459] In addition to the installation of the programs from the
removal recording medium 4210 in the computer, after transmitting
the programs from a download site to the computer by radio via a
satellite for digital satellite broadcasting or by wire via a
network such as the Internet, the transmitted programs are received
in a communication unit 4208 and can be installed in the hard disk
4205 in the computer.
[0460] The computer includes a CPU 4202. An input/output interface
4211 is connected to the CPU 4202 via a bus 4201. When a command is
input by a user operating an input unit 4207 having a keyboard and
a mouse, the CPU 4202 executes a program stored in a ROM 4203 in
accordance with the input command.
[0461] Also, the program stored in the hard disk 4205, the program
installed in the hard disk 4205 after being transmitted via a
satellite or a network and received by the communication unit 4208,
or the program installed in the hard disk 4205 after being read
from the removal recording medium 4210 is loaded and executed in
the CPU 4202.
[0462] This allows the CPU 4202 to perform the above processes in
accordance with the above flowcharts or the processes performed by
the block diagrams. The CPU 4202 outputs the obtained results from
an output unit 4206 having a liquid crystal display, a speaker,
etc., transmits them from the communication unit 4208, and records
them on the hard disk 4205, as required.
[0463] Here, in this Specification, processing steps that describe
each program for controlling the computer to perform various types
of processing do not always need to be time-sequentially performed
along the order in flowchart form, and include processes (e.g.,
parallel processes or object-based processes) which are executed in
parallel or separately.
[0464] Each program may be executed either by a single computer or
by a plurality of computers. Each program may be executed after
being transferred to a remote computer.
[0465] In the second embodiment a case in which a content
encryption/decryption block is formed by a single-chip
encryption/decryption LSI has been mainly described. However, the
content encryption/decryption block can be implemented as a
software module executed by the CPU 170 in FIG. 1 or 2. Similarly,
also processing by the TS processing unit 300 can be implemented as
a software module executed by the CPU 170.
[0466] Apparatus and Method for Producing Recording Medium
[0467] Next, an apparatus and method according to the present
invention that produce the above information recording medium are
described below.
[0468] FIG. 47 shows a schematic structure of a disk production
apparatus 4300 which produces a recording medium 4350 and records a
disk ID, an enabling key block, and an encrypted master key or an
encrypted media key on a recording medium.
[0469] In the disk production apparatus 4300, a disk ID, an
enabling key block, and an encrypted master key or an encrypted
media key are recorded on a recording medium 4350 which has already
been assembled, with the above-described secret information. Also,
pre-recording generation information of the master key is recorded,
as required.
[0470] The disk production apparatus 4300 includes a memory 4302,
or another storage unit, which contains disk IDs, enabling key
blocks, and encrypted master keys or encrypted media keys, a
recording medium I/F 4303 that performs reading/writing from/to the
recording medium 4350, an input/output I/F 4304 as an interface
with another apparatus, a control unit 4301 for controlling the
above units, and a bus 4305 for establishing connection.
[0471] Although FIG. 47 shows the structure in which the memory
4302 and the recording medium I/F 4304 are included in the disk
production apparatus 4300, they may be externally provided.
[0472] The disk ID, the enabling key block, and the encrypted
master key or the encrypted media key, the secret information such
as stamper ID, and the pre-recording generation information of
master key are issued by an identifier management department, a key
issuing center, etc., which are not shown, and are stored
beforehand in the internal or external memory 4302.
[0473] The disk ID, the enabling key block, and the encrypted
master key or the encrypted media key, the secret information, the
pre-recording generation information of master key, which are
stored in the memory 4302, are recorded on the recording medium
4350 via the recording medium I/F 4303 under control of the control
unit 4301. The pre-recording generation information of master key
is also recorded, as required.
[0474] The secret information is data generated by a secret
information generator having the construction described in the
Writing and Playback of Secret Information section, which are shown
in, for example, FIGS. 25 and 27. In accordance with the
controller, data conversion of the secret information is performed,
and the resultant converted data is written on the recording medium
4350.
[0475] Concerning the disk ID, the enabling key block, and the
encrypted master key or the encrypted media key, the secret
information such as stamper ID, and the pre-recording generation
information of master key, not only those stored in the memory
4302, but also those sent from the key issuing center via the
input/output I/F 4304 can be used.
[0476] FIG. 48 shows a production flow in a recording medium
production method according to the present invention in which in
the production of a recording medium, the disk ID, the enabling key
block, and the encrypted master key or the encrypted media key, the
secret information, and the pre-recording generation information of
master key are recorded on a recording medium.
[0477] Referring to FIG. 48, in step S4401, a known assembly
process (not shown) is used to assemble a recording medium such as
a DVD or a Cited document.
[0478] In step S4402, the recording medium production apparatus
shown in FIG. 47 executes processing of recording, on the assembled
recording medium, a disk ID, a stamper ID as secret information, an
enabling key block, and an encrypted master key or an encrypted
media key. Pre-recording generation information is also recorded,
as required.
[0479] By using the above disk production process, the recording
medium is shipped from a production factory in the form of
containing the disk ID, the stamper ID as secret information, the
enabling key block, the encrypted master key or the encrypted media
key. Also, the recording medium is shipped from the production
factory after the pre-recording generation number is recorded on
the recording medium, as required.
[0480] The recorded secret information is not limited to the
stamper ID. A disk ID set for each disk, a content ID for each
content, a cryptographic key, various types of identification data,
and an encryption key may be recorded as the secret information. A
recording/playback device of the present invention uses the various
types of secret information to generate a content-encryption
key.
[0481] Format of Enabling Key Block
[0482] FIG. 49 shows an example of a format of the enabling key
block. In FIG. 49, a version 4501 is an identifier indicating the
version of an enabling key block. A depth 4502 indicates a
hierarchical-tree level number of a device to which the enabling
key block is distributed. A data pointer 4503 indicates the
position of a data part in the enabling key block. A tag pointer
4504 indicates the position of a tag part in the enabling key
block. A signature 4508 indicates the position of a signature in
the enabling key block. A data part 4506 stores, for example, data
generated by encrypting a node key to be updated.
[0483] The tag part 4507 indicates the positional relationship of
the encrypted node keys and leaf key which are stored in the data
part 4506. A rule of providing the tag is described with reference
to FIG. 50. FIG. 50 shows an example of sending, as data, the
enabling key block described using FIG. 12A. The data is as shown
in the table of the right portion (b) of FIG. 50. The address of a
top node included in an encryption key in this case is used as a
top node address. As shown in the table, the top node address is KR
because updating key K(t)R of root key is included.
[0484] Top encryption-key data Enc(K(t)0, K(t)R) corresponds to a
denoted position in the hierarchical tree of the left portion (a)
of FIG. 50. Next data is represented by Enc(K(t)0, K(t)0) and
corresponds to a lower left position from the previous data. The
presence of data is indicated by a tag value of "0", while the
absence of data is indicated by a tag value of "1". Each tag is set
as {left (L) tag, right (R) tag}. Since the left of top
encryption-key data Enc(K(t)0, K(t)R) has data, L tag=0. Since the
right of top encryption-key data Enc(K(t)0, K(t)R) has no data, R
tag=1. Tags are set for all of data, so that a data string and a
tag string are formed, as shown in the bottom portion (c) of FIG.
50.
[0485] Concerning the order of node processing in the tree, it is
preferable to use one of breadth first processing in which
widthwise processing at the same level is first performed, and
depth first processing in which depthwise processing is first
performed.
[0486] Referring back to FIG. 49, the format of the enabling key
block is further described below.
[0487] The signature is a digital signature performed by an
authority that issues the enabling key block, such as
key-management center, content provider, settlement authority. A
device that receives the enabling key block uses signature
verification to verify that the received enabling key block is
issued by a right enabling key block issuer.
[0488] With reference to specified embodiments, the present
invention has been described. However, it is obvious that a person
skilled in the art will make a modification or substitution of the
embodiments without departing the spirit of the present invention.
For example, as described above, the foregoing embodiments describe
a case in which a stamper ID is used as the secret information
required for writing of data to be stored on a disk and playback
processing. However, the secret information is not limited to the
stamper ID, but may be a disk ID differently set for each disk, a
content ID set for each content, a cryptosystem key, various
identification data, and an encryption key. In the foregoing
embodiments, the present invention has been exemplified and should
not be limitedly interpreted. To determine the spirit of the
present invention, the appended Claims should be considered.
* * * * *
References