Connect public, paid and private patent data with Google Patents Public Datasets

Data processing apparatus and data processing method

Download PDF

Info

Publication number
US20070088961A1
US20070088961A1 US11637505 US63750506A US2007088961A1 US 20070088961 A1 US20070088961 A1 US 20070088961A1 US 11637505 US11637505 US 11637505 US 63750506 A US63750506 A US 63750506A US 2007088961 A1 US2007088961 A1 US 2007088961A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
key
recording
device
data
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11637505
Inventor
Tomoyuki Asano
Yoshihito Ishibashi
Taizo Shirai
Toru Akishita
Masaharu Yoshimori
Makoto Tanaka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Sony Corp
Original Assignee
Sony Interactive Entertainment Inc
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00094Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers
    • G11B20/00123Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers the record carrier being identified by recognising some of its unique characteristics, e.g. a unique defect pattern serving as a physical signature of the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00166Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
    • G11B20/00173Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software wherein the origin of the content is checked, e.g. determining whether the content has originally been retrieved from a legal disc copy or another trusted source
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00224Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a remote server
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00246Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a local device, e.g. device key initially stored by the player or by the recorder
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00485Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
    • G11B20/00492Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00485Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
    • G11B20/00492Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted
    • G11B20/00507Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted wherein consecutive physical data units of the record carrier are encrypted with separate encryption keys, e.g. the key changes on a cluster or sector basis
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00485Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
    • G11B20/00492Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted
    • G11B20/00536Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted wherein encrypted content data is subjected to a further, iterated encryption, e.g. interwoven encryption
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00485Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
    • G11B20/00557Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein further management data is encrypted, e.g. sector headers, TOC or the lead-in or lead-out areas
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00739Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction is associated with a specific geographical region
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00746Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number
    • G11B20/00753Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number wherein the usage restriction limits the number of copies that can be made, e.g. CGMS, SCMS, or CCI flags
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00746Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number
    • G11B20/00753Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number wherein the usage restriction limits the number of copies that can be made, e.g. CGMS, SCMS, or CCI flags
    • G11B20/00768Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number wherein the usage restriction limits the number of copies that can be made, e.g. CGMS, SCMS, or CCI flags wherein copy control information is used, e.g. for indicating whether a content may be copied freely, no more, once, or never, by setting CGMS, SCMS, or CCI flags
    • G11B20/00775Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number wherein the usage restriction limits the number of copies that can be made, e.g. CGMS, SCMS, or CCI flags wherein copy control information is used, e.g. for indicating whether a content may be copied freely, no more, once, or never, by setting CGMS, SCMS, or CCI flags wherein said copy control information is encoded in an encryption mode indicator [EMI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communication the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communication the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communication the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communication using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • G11B2020/00014Time or data compression or expansion the compressed signal being an audio signal
    • G11B2020/00057MPEG-1 or MPEG-2 audio layer III [MP3]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Abstract

A data processing system, recording device, data processing method and program providing medium are provided to execute authentication processing and content storing processing between apparatuses. Program localization is employed to restrict access to program content. A plurality of key blocks store key data for authentication processing. Key block designation information is set in a recorder/reproducer, which is configured for executing authentication processing with the recording device by designating a key block. The recorder/reproducer can set a key block for each product, model or the like. In addition, data stored according to a selected key block cannot be utilized in a recorder/reproducer in which a different key block is set. Furthermore, an encryption processing controlling section of a recording device executes control in accordance with a pre-defined setting sequence. Furthermore, an illegal instrument that has not completed the authentication processing can be prevented from utilizing program content.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • [0001]
    This application is a divisional of U.S. application Ser. No. 10/412,771, filed on Apr. 11, 2006, which is a continuation of U.S. patent application Ser. No. 09/937,120, filed Dec. 17, 2001, the entire disclosures of which are hereby incorporated by reference herein.
  • BACKGROUND OF THE INVENTION
  • [0002]
    The present invention relates to a data processing apparatus, and a data processing method, and more particularly, to a method and apparatus for verifying that data constituting a data content is valid, that is, checking whether or not the data has been tampered with; as well as a method for imparting verification values; and also to an apparatus and a method capable of enhancing security by generating individual keys necessary for encryption processing using master keys corresponding to their respective individual keys. Moreover the present invention provides a configuration that eliminates illegal usage of content data. More specifically, the invention relates to an apparatus and a method capable of identifying illegal reproduction devices and eliminating illegal use of content. Furthermore, the present invention relates to an apparatus and a method capable of easily setting content only available to the data processing apparatus using content data and content data also available to other data processing apparatuses based on information specific to the data processing apparatus, etc. Still further, the present invention relates to a method, apparatus and verification value assignment method for verifying the validity of data configuring data contents, that is, verifying the presence or absence of tampering.
  • [0003]
    Furthermore, the present invention relates to a data processing apparatus, a content data generating method, and a data processing method that realizes a content data configuration to provide and utilize content data under high security management. The content data is in a configuration in which data (including at least any one of voice information, image information and program data) is applied to encryption processing. The content data is provided to a content user together with various kinds of header information, and the content user performs reproduction, execution, or storing processing in a recording device.
  • [0004]
    Still further, the present invention relates to a data processing apparatus, a data processing method and a content data generating method for providing a configuration for efficiently executing reproduction processing. For instance, the data contents may be compressed voice data, image data or the like. More specifically, it enables a configuration of content data in which compressed data and an expansion processing program are combined to retrieve and extract an applicable expansion processing program based on header information of compressed data contents in which an applied expansion processing program is stored as header information to execute reproduction processing.
  • [0005]
    The present invention further relates to a configuration and method for reproducing various content such as sounds, images, games, or programs which are available through various recording media. The recording media include DVDs, CDs, wire or radio communication means such as CATV, the Internet, and satellite communication. Reproduction occurs in a recording and reproducing device of a user. The contents are stored in an exclusive recording device such as, for example, a memory card, a hard disk, or a CD-ROM. Use limitations, such as limitations selected by a content distributor, are stored along with content to provide security such that the distributed content will not be illegally used.
  • [0006]
    Various data such as game programs, sound data, image data, or documenting programs (these are hereafter referred to as “contents”) are now distributed via a network such as the Internet or via distributable storage media such as DVDs or CDs. These distributed contents can be stored in a recording device such as a memory card or a hard disk that is attached to a recording and reproducing apparatus such as a personal computer (PC) or a game apparatus of a user so that once stored, the contents can be reproduced from the storage media.
  • [0007]
    The main components of a memory card used in a conventional information apparatus such as a video game apparatus or a PC include a control means for controlling operations, a connector for connection to a slot connected to the control means and formed in the information apparatus, and non-volatile memory connected to the control means for storing data. The non-volatile memory provided in the memory card comprises, for example, an EEPROM, flash memory, or the like.
  • [0008]
    Various contents such as data or programs that are stored in the memory card are invoked from the non-volatile memory in response to a user's command from an information apparatus main body such as a game apparatus or a PC. The game apparatus or PC can be used as a reproduction apparatus or to respond to a user's command provided via a connected input means. The contents are reproduced from the information apparatus main body or from a display, speakers, or the like which are connected thereto.
  • [0009]
    Software content such as game programs, music data or image data generally have their distribution rights held by their creators or sellers. Thus, in distributing this content, a configuration is generally used which places specified limitations on the usage. That means the use of software is permitted only for regular users so as to prevent unauthorized copying or the like. In other words, security is taken into consideration.
  • [0010]
    One method for realizing limitations on the use by a user is a process for encrypting distributed content. This process comprises distributing various content such as sound data, image data, or game programs which are encrypted, for example, via the Internet, and decrypting the distributed content that has been encrypted. Decryption takes place only for people confirmed to be regular users. Distributing the various content corresponds to a configuration with a means for imparting a decryption key.
  • [0011]
    Encrypted data can be decrypted into, for example, plain text by a decryption process based on a predetermined procedure. A data encrypting and decrypting method that uses an encryption key for an information encrypting process while using a decryption key for such a decryption process is conventionally known.
  • [0012]
    There are various types of aspects of data encrypting and decrypting methods using an encryption key and a decryption key. One example is called a common key cryptosystem. The common key cryptosystem uses a common encryption key for a data encrypting process and a common decryption key for a data decrypting process and imparts these common keys for the encryption and decryption processes to regular users while excluding data access by illegal users that have no key. A representative example of this cryptosystem is the Data Encryption Standard (DES).
  • [0013]
    The encryption and decryption keys used for the encryption and decryption processes are obtained, for example, by applying a one-way function such as a hash function based on a password or the like. The one-way function makes it difficult to determine the input of the function from the output of the function. For example, a password decided by a user is used as an input to a one-way function so as to generate an encryption key and a decryption key based on the output from the one-way function. Determining the password (which is the original data for the keys) from the encryption and decryption keys is substantially impossible.
  • [0014]
    In addition, a method called a “public key cryptosystem” uses different algorithms for a process based on an encryption key used for encryption and for a process based on a decryption key used for decryption. The public key cryptosystem uses a public key available to unspecified users so that an encrypted document for a particular individual is decrypted using a public key issued by this particular user. The document encrypted with the public key can only be decrypted with a secret key corresponding to the public key used for the decryption process. Since the secret key is owned by the individual that has issued the public key, the document encrypted with the public key can be decrypted only by individuals having the secret key. A representative public key cryptosystem is the RSA (Rivest-Shamir-Adleman) encryption.
  • [0015]
    The use of such a cryptosystem enables encrypted contents to be decrypted only for regular users. A conventional content distributing configuration employing such a cryptosystem will be described with reference to FIG. 1.
  • [0016]
    FIG. 1 shows an example of a configuration in which a reproduction means 10 such as a PC or a game apparatus reproduces a program, sound or video data, or the like (content) obtained from a data providing means such as a DVD or CD 30, or the Internet 40 and wherein data obtained from the DVD or CD 30, Internet 40, or the like are stored in a storage means 20 such as a floppy disk, a memory card, a hard disk, or the like.
  • [0017]
    The content, such as a program, sound or video data, is provided to a user having the reproduction means 10. A regular user obtains encryption data as well as key data that are their encryption and decryption keys.
  • [0018]
    The reproduction means 10 has a CPU 12 to reproduce input data by means of a reproduction process section 14. The reproduction process section 14 decrypts encrypted data to reproduce content such as a provided program, sound or image data.
  • [0019]
    The regular user saves the content to the storage means 20 in order to use the provided program again. The reproduction means 10 has a storage process section 13 for executing this content storage process. The storage process section 13 encrypts and saves the data in order to prevent the data stored in the storage means 20 from being illegally used.
  • [0020]
    A content encrypting key is used to encrypt the content. The storage process section 13 uses the content encrypting key to encrypt the content and then stores the encrypted content in a storage section 21 of the storage means 20 such as a floppy disk (FD), a memory card, or a hard disk.
  • [0021]
    To obtain and reproduce the stored content from the storage means 20, the user obtains encrypted data from the storage means 20 and causes the reproduction process section 14 of the reproduction means 10 to execute the decryption process using a content decrypting key. That is, the decryption key is used in order to obtain and reproduce decrypted data from the encrypted data.
  • [0022]
    According to the conventional example of the configuration shown in FIG. 1, the stored content is encrypted in the storage means 20 (such as a floppy disk or memory card) and thus cannot be read externally. When, however, this floppy disk is to be reproduced by a reproduction means of another information apparatus, such as PC or game apparatus, the reproduction is impossible unless the reproduction means has the same content key (i.e., the same decryption key for decrypting the encrypted content). Accordingly, to implement a form available to a plurality of information apparatuses, a common decryption key must be provided to users.
  • [0023]
    The use of a common content encrypting key, however, means that there will be a higher possibility of distributing the encryption process key to users not having a regular license. Consequently, it may not be possible to prevent the illegal use of the content by users not having the regular license. Thus, it will be difficult to exclude the illegal use in PCs, game apparatuses, or the like by users who do not have the regular license.
  • [0024]
    In case that key information leaks from one of the apparatuses, the use of common content encrypting key and decryption key can cause damage to the whole system which utilizes the keys.
  • [0025]
    Furthermore, in an environment using a common key as described above, it is possible to easily copy, for example, content created on a certain PC and initially saved to a storage means such as a memory card or floppy disk, to a second floppy disk. Consequently, using the second copied floppy disk instead of the original content data will be possible so that a large number of copied content data available to information apparatuses such as game apparatuses or PCs may be created or tampered.
  • [0026]
    A method which is conventionally used includes verifying an integrity check value in content data to check the validity of the data. That is, in order to determine whether or not the data have been tampered with, a recording and reproducing device collates an integrity check value (generated based on the data to be verified) with the integrity check value contained in the content data to verify the data.
  • [0027]
    The integrity check value for the data content, however, is generally generated for the entire set of data. Collating the integrity check value generated for the entire set of data requires a integrity check value to be generated for the entire set of data to be checked. If, for example, a integrity check value (ICV) is to be determined using a Message Authentication Code (MAC) generated in a DES-CBC (Cipher Block Chaining) mode, the DES CBC process must be executed on the entire set of data. The amount of such calculations increases linearly with the data length, thereby disadvantageously reducing processing efficiency.
  • SUMMARY OF THE INVENTION
  • [0028]
    The present invention solves the above problems with the conventional art. The present invention provides, as a first object of the invention, a data processing apparatus and method and a data verifying value imparting method, which efficiently confirms the validity of data and efficiently executes a download process for a recording device. The download process is executed after the verification. A reproduction process is also executed after the verification along with other processes. A program providing medium for use in this apparatus and these methods is also presented.
  • [0029]
    Furthermore, as techniques for limiting the use of content data to authorized users, various kinds of encryption processing are available, such as data encryption, data decryption, data verification and signature processing. However, executing these kinds of encryption processing requires common secret information. For example, common secret information is used in key information applied to encryption and decryption of content data, or to an authentication key used for authentication shared between two apparatuses (i.e., apparatuses between which content data is transferred or apparatuses between which authentication processing is executed).
  • [0030]
    Therefore, in the case where key data (which is shared secret information), is leaked from either of the two apparatuses, the content encryption data (using the shared key information) can also be decrypted by a third party who has no license, thus allowing illegal use of contents. The same is true for the case where an authentication key is leaked This can lead to establishing an authentication for an apparatus with no license. Leakage of keys, therefore, has consequences that threat the entire system.
  • [0031]
    The present invention is intended to solve these problems.
  • [0032]
    The second object of the invention is to provide a data processing apparatus, data processing system and data processing method with enhanced security in encryption processing. The data processing apparatus of the present invention does not store individual keys necessary to execute encryption processing such as data encryption, data decryption, data verification, authentication processing and signature processing in a storage section. Instead, the data processing apparatus stores master keys to generate these individual keys. The master keys are stored in the storage section and allows an encryption processing section to generate necessary individual keys based on the master keys and identification data of the apparatus or data.
  • [0033]
    Furthermore, it is possible to maintain a certain degree of security by supplying data encrypted content. However, in the case where various encryption keys stored in memory are read and leaked through illegal reading of memory, key data, etc. and copied on a recorder/reproducer without any authorized license, contents may be illegally used using the copied key information.
  • [0034]
    It is a third object of the present invention to provide a data processing apparatus, data processing method and content data generation method in a configuration capable of excluding such illegal reproducers. That is, a configuration that is capable of identifying illegal reproducers and not allowing the identified illegal reproducers to execute processing such as reproduction and downloading of content data.
  • [0035]
    Furthermore, techniques for limiting the use of content data to authorized users include encryption processing using predetermined encryption keys, for example, signature processing. However, conventional encryption using signature processing generally has a signature key common to all entities using the content in a system. Such a common signature key allows different apparatuses to use common content. This can lead to illegal copies of contents.
  • [0036]
    It is possible to store encrypted contents using a unique password, etc., but the password may be stolen. It is also possible to decrypt the same encrypted data content by entering the same password through different reproducers. However, it is difficult for a conventional security configuration to implement a system that can identify a reproducer that only allows the reproducer to use the contents.
  • [0037]
    The present invention has been implemented to solve the above problems of the prior art. It is a fourth object of the present invention to provide a data processing apparatus and data processing method capable of allowing only a specific data processing apparatus to reproduce contents according to contents utilization restrictions. This is done by making it possible to selectively use both an apparatus-specific key, which is specific to a data processing apparatus, and a system common key, which is common to other data processing apparatuses.
  • [0038]
    Furthermore, encryption processing of content data is used as a method of limiting utilization of content data to only authorized users. However, there are various kinds of content data, such as voice information, image information and program data. There are various kinds of content in cases such as (a) where all content data is required to be encrypted, and (b) where a part requiring encryption processing and a part not requiring encryption processing are mixed.
  • [0039]
    Applying encryption processing uniformly to various content may generate unnecessary decryption processing in reproduction processing of the contents. It may also generate unfavorable situations in terms of processing efficiency and processing speed. For example, for data such as music data in which real time reproduction is essential, it is desirable to have a content data structure that can apply decryption processing in high speed processing.
  • [0040]
    The present invention solves such problems. It is a fifth object of the present invention to provide a data processing apparatus, a content data generating method and a data processing method to apply various data structures corresponding to types of content data to specific content. In other words, various different data formats are provided corresponding to the content. This enables generation and processing of content data in a manner that has high security and easy to utilize in reproduction, execution and the like.
  • [0041]
    Furthermore, voice data, image data and the like that are decrypted are then output to an AV output section to be reproduced. Nowadays, often times, content is compressed and stored in a storage medium or distributed. It is therefore necessary to expand the compressed data before reproducing it. For example, if voice data is compressed in the MP-3 format, the voice data will be decrypted by a MP3 decoder. If content data is image data which is compressed in the MP-3 format, the voice data is expanded by a MPEG2 decoder to be output.
  • [0042]
    However, as there are various kinds of compression processing and expansion processing programs, even if compressed data is provided from a content provider via a medium or a network, it can be impossible to reproduce the data with a reproducing apparatus that does not have a compatible expansion program.
  • [0043]
    It is a sixth object of the present invention to provide a configuration for efficiently executing reproduction processing of compressed data. That is, a data processing apparatus, a data processing method and a content data generating method for efficiently executing reproduction processing are presented in the case in which the content is compressed voice data, image data or the like.
  • [0044]
    The foregoing objects and other objects of the invention have been achieved by providing a data processing apparatus and a data processing method.
  • [0045]
    In accordance with an embodiment of the present invention, a data record reproducing player is provided. The data record reproducing player is capable of reproducing program content. It comprises a recording device, an encryption processing unit, an input unit and a control unit. The recording device is operable to record save data of the program content. The encryption processing unit is operable to execute an encryption process and a decryption process on the save data. The encryption processing unit employs a cryptographic key for executing the encryption process and the decryption process. The input unit is operable to enter a program localization on the save data, wherein the program localization is maintained in a data management file. The control unit is capable of accessing the data management file and is operable to determine an encryption processing method and a decryption processing method for the save data. The encryption processing method is capable of using the cryptographic key and is determined according to the program localization. The encryption processing method is adapted for storing the save data in the recording device. The decryption processing method is determined according to the program localization and is adapted for reproducing the cryptographic key.
  • [0046]
    In an example, the program content includes an identifier and the program localization is a program restriction that enables use of the save data depending on the identifier. The data management file is structured as a table for storing the program restriction depending upon the identifier. In this example, if the program restriction provides for restriction of the program content, the encryption processing unit executes the encryption processing method or the decryption processing method on the save data using a save data encryption key of the program content. In this case, the save data encryption key is based on at least one of an individual encryption key or individual information of the program content. If the program restriction provides for no restriction of the program content, the encryption processing unit executes the encryption processing method or the decryption processing method on the save data using at least one of a system-shared encryption key and a system save data encryption key. The system save data encryption key is based on the system-shared encryption key. The system-shared encryption key is stored in the data record reproducing player. In this example, the individual encryption key is preferably a content key Kcon that is capable of being stored in a header portion of content data, and the system-shared encryption key is a system signature key Ksys that is capable of being stored in a plurality of different data record reproducing players.
  • [0047]
    In another example, the data record reproducing player further comprises identity information. In this example, the program localization is a record reproducing player restriction that enables use of the save data depending on the identity information. The data management file is structured as a table for storing the record reproducing player restriction in correspondence with an identifier of the program content. In this example, if the record reproducing player restriction provides for restriction of a record reproducing player, the encryption processing unit executes the encryption processing method or the decryption processing method on the save data using a save data encryption key of the record reproducing player. The save data encryption key is based on at least one of an individual encryption key of the data record reproducing player and individual information. If the record reproducing player restriction provides for no restriction of the record reproducing player, the encryption processing unit executes the encryption processing method or the decryption processing method on the save data using at least one of a system-shared encryption key and a shared save data encryption key. The shared save data encryption key is based on the system-shared encryption key. The system-shared encryption key is stored in the data record reproducing player. In this example, the individual encryption key is preferably an individual signature key Kdev that is capable of being stored in the data record reproducing player, and the system-shared encryption key is a system signature key Ksys that is capable of being stored in a plurality of specific data record reproducing players.
  • [0048]
    In a further example, the program content includes an identifier and the program localization is a user restriction that enables use of the save data depending on a user's identity. In this example, the data management file is structured as a table for storing the user restriction depending upon the identifier. If the user restriction provides for restriction of the user, the encryption processing unit executes the encryption processing method or the decryption processing method on the save data using a user save data encryption key. The user save data encryption key is based on a password received by the input unit. If the user restriction provides for no restriction of the user, the encryption processing unit executes the encryption processing method or the decryption processing method on the save data using at least one of a system-shared encryption key and a shared save data encryption key. The shared save data encryption key is based on the system-shared encryption key. The system-shared encryption key is stored in the data record reproducing player. In this example, the system-shared encryption key is preferably a system signature key Ksys that is capable of being stored in a plurality of record reproducing players.
  • [0049]
    In accordance with another embodiment of the present invention, a save data processing method for use in a data record reproducing player is provided. The method is capable of reproducing program content. The method comprises obtaining an input of program localization and determining an encryption processing mode for storing save data into a recording device according to the program localization. An encryption key is selected according to the encryption processing mode. Also, encryption processing is executed on the save data using the encryption key.
  • [0050]
    In an example, the program content includes an identifier and the program localization is a program restriction that enables use of the save data depending on the identifier. In this example, if the program restriction provides for restriction of the program content, the encryption key is selected from one of an individual encryption key and a save data encryption key. The save data encryption key is based on at least one of the individual encryption key and individual information. If the program restriction provides for no restriction of the program content, the encryption key is selected from one of a system-shared encryption key and a shared save data encryption key. The shared save data encryption key is based the system-shared encryption key. The system-shared encryption key is stored in the data record reproducing player.
  • [0051]
    In another example, the data record reproducing player includes identity information, and the program localization is a record reproducing player restriction that enables use of the save data depending on the identity information. In this example, if the record reproducing player restriction provides for restriction of a record reproducing player, the encryption key is selected from one of an individual encryption key of the data record reproducing player and an individual save data encryption key of the record reproducing player. The individual save data encryption key is based on at least one of the individual encryption key and individual information. If the record reproducing player restriction provides for no restriction of the record reproducing player, the encryption key is selected from one of a system-shared encryption key and a shared save data encryption key. The shared save data encryption key is based on the system-shared encryption key. The system-shared encryption key is stored in the data record reproducing player.
  • [0052]
    In a further example, the program localization is a user restriction that enables use of the save data depending on a user's identity. In this example, if the user restriction provides for restriction of the user, the encryption key is selected from one of a password and an individual save data encryption key. The individual save data encryption key is based on the password. If the user restriction provides for no restriction of the user, the encryption key is selected from one of a system-shared encryption key and a shared save data encryption key. The shared save data encryption key is based on the system-shared encryption key. The system-shared encryption key is stored in the data record reproducing player.
  • [0053]
    In accordance with yet another embodiment of the present invention, a save data processing method for use in a data record reproducing player is provided. The data record reproducing player is capable of reproducing program content. In the method, a decryption processing mode is determined for reproducing save data according to a program localization. The program localization is provided as a data management file. The save data is retrieved from a recording device. A decryption key is selected according to the decryption processing mode, and decryption processing is executed on the save data using the decryption key.
  • [0054]
    In an example of this embodiment, the program content includes an identifier, and the program localization is a program restriction that enables use of the save data depending on the identifier. Furthermore, if said program restriction provides for restriction of the program content, the decryption key is selected from an individual decryption key and a save data decryption key. The save data decryption key is based on at least one of the individual decryption key and individual information. If the program restriction provides for no restriction of the program content, the decryption key is selected from one of a system-shared decryption key and a shared save data decryption key. The shared save data decryption key is based on the system-shared decryption key. The system-shared decryption key is stored in the data record reproducing player.
  • [0055]
    In another example of this embodiment, the data record reproducing player includes identity information, and the program localization is a record reproducing player restriction that enables use of the save data depending on the identity information. In this example, if the record reproducing player restriction provides for restriction of a record reproducing player, the decryption key is selected from one of an individual decryption key of the data record reproducing player and an individual save data decryption key of the record reproducing player. The individual save data decryption key is based on at least one of the individual decryption key and individual information. If the record reproducing player restriction provides for no restriction of the record reproduction player, the decryption key is selected from one of a system-shared decryption key and a shared save data decryption key. The shared save data decryption key is based on the system-shared decryption key. The system-shared decryption key is stored in the data record reproducing player.
  • [0056]
    In a further example of this embodiment, the program localization is a user restriction that enables use of the save data depending on a user's identity. If the user restriction provides for restriction of the user, the decryption key is selected from one of a password and an individual save data decryption key. The individual save data decryption key is based on said password. If the user restriction provides for no restriction of the user, the decryption key is selected from one of a system-shared decryption key and a shared save data decryption key. The shared save data decryption key is based on the system-shared decryption key. The system-shared decryption key is stored in the data record reproducing player.
  • [0057]
    In accordance with a further embodiment of the present invention, a recording medium recorded with a computer program is provided. The computer program is capable of executing a save data process having certain actions to perform in a data record reproducing player. The data record reproducing player is capable of reproducing program content on a computer system. The actions include determining an encryption processing mode according to a program localization obtained from an input unit. The encryption processing mode is adapted for storing save data into a recording device. An encryption key is selected according to the encryption processing mode. Encryption processing is executed on the save data using the encryption key.
  • [0058]
    In accordance with yet another embodiment of the present invention, a recording medium recorded with a computer program is provided. The computer program is capable of executing a save data process having certain actions to perform in a data record reproducing player. The data record reproducing player is capable of reproducing program content on a computer system. The actions include determining a decryption processing mode according to a program localization stored in a data management file. The decryption processing mode is adapted to reproduce save data retrieved from a recording device. A decryption key is selected according to the decryption processing mode. Decryption processing is executed on the data using the decryption key.
  • [0059]
    In accordance with another embodiment of the present invention, a data processing system is provided. The system comprises a recording device and a recorder/reproducer. The recording device has a data storing section for storing content data and a plurality of key blocks for storing key data applicable to authentication processing. The key data in each one of the plurality of key blocks is distinct to that key block. The recorder/reproducer is operable to perform the authentication processing with the recording device, to designate a first key block out of the plurality of key blocks, and to execute the authentication processing with the recording device based on the key data stored in the first key block. Transfer of the content data between the recorder/reproducer and the recording device is enabled when the authentication processing is successful. Preferably, the key data in each of the plurality of key blocks includes an authentication key.
  • [0060]
    In an example of this embodiment, the recorder/reproducer includes setting information in which one key block of the plurality of key blocks is capable of being applied to the authentication processing as a designated key block. The setting information is stored in a memory in the recorder/reproducer. When the authentication processing is performed between the recorder/reproducer and the recording device, the recorder/reproducer determines the designated key block based on the setting information. Preferably, the setting information is different for each of a plurality of product units.
  • [0061]
    In another example of this embodiment, the recorder/reproducer includes a memory for storing the key data. In this example, authentication of the key data stored in the memory is only established using the key data in a selected key block in the recording device.
  • [0062]
    In yet another example of this embodiment, the data processing system further comprises a memory in the recorder/reproducer, a master key Mkake, and an authentication key Kake. The master key Mkake is stored in the recorder/reproducer memory. The authentication key Kake is generated based on the master key Mkake, wherein authentication of the authentication key Kake is only established in the authentication processing using the key data in a selected key block in the recorder/reproducer. In this example, the data processing system preferably further comprises a memory in said recording device and recording device identification information IDmem stored in the recording device. In such a case, the recorder/reproducer is operable to generate the authentication key Kake by encryption processing of the recording device identification information IDmem based on the master key Mkake, and to perform the authentication processing with the selected key block of the recording device using the authentication key Kake. The authentication key Kake is preferably a plurality of distinct authentication keys Kake each associated with one of the plurality of key blocks.
  • [0063]
    In a further example of this embodiment, the recorder/reproducer includes a data storage section for storing storage data. In this example, each key block of the recording device includes recording device identifier information, an authentication key, a random number generation key and a storing key. The recording device identifier information contains specific information about the recording device. The authentication key is adapted for use in the authentication processing. The random number generation key is adapted for use in the authentication processing. The storing key is adapted for use in encryption processing of the storage data.
  • [0064]
    In this example, the storing key preferably includes a plurality of distinct storing keys each stored in one of the plurality of key blocks. The plurality of distinct storing keys is capable of use in the encryption processing of the storage data. Also, the recording device is operable to execute key exchange processing of the plurality of distinct storing keys, and, if a data utilization request is received by the recording device, the recording device is operable to output encryption data using a key that is different from the plurality of distinct storing keys.
  • [0065]
    In another example of this embodiment, the recording device further includes an encryption processing section operable to select the first key block in accordance with key block designation information received from the recorder/reproducer, and to execute the authentication processing with the recorder/reproducer using the key data in the first key block. Preferably, the encryption processing section of the recording device is operable to execute encryption processing using the key data in the first key block.
  • [0066]
    In yet another example of this embodiment, the data processing system further comprises a plurality of designatable key blocks in the recording device. At least one of the designatable key blocks is configured as a commonly designatable key block that is designatable in recorder/reproducers other than the recorder/reproducer.
  • [0067]
    In accordance with a further embodiment of the present invention, a recording device is provided, which comprises a data storage section and a plurality of key blocks. The data storage section stores content data transferable to and from an external apparatus. The plurality of key blocks stores key data. The key data is applicable to authentication processing between the recording device and the external apparatus, wherein the key data is operable to store information for each of the plurality of key blocks. Preferably, each of the plurality of key blocks includes a unique authentication key for use with the authentication processing, and each unique authentication key is configured as the key data.
  • [0068]
    In an example of this embodiment, the recording device further comprises a memory and a distinct authentication key Kake. The memory is for storing recording device identification information IDmem. The distinct authentication key Kake is for each of the plurality of key blocks. Each of the distinct authentication keys Kake is stored in one of the plurality of key blocks.
  • [0069]
    In another example of this embodiment, each of said plurality of key blocks includes recording device identifier information, an authentication key, a random number generation key and a storing key. The recording device identifier information contains specific information about the recording device. The authentication key is adapted for use in the authentication processing. The random number generation key is adapted for use in the authentication processing. The storing key is adapted for use in encryption processing of storage data in the data storage section.
  • [0070]
    In this example, the storing key preferably includes distinct key data that is different for each of the plurality of key blocks. The storing key is usable in the encryption processing. Furthermore, the recording device is preferably operable to execute key exchange processing of the storing key, and, if a data utilization request is received by the recording device, the recording device is preferably operable to output encryption data using a key that is different from the storing key.
  • [0071]
    In a further example of this embodiment, the recording device further includes an encryption processing section. The encryption processing section is operable to select a specific key block from the plurality of key blocks in accordance with key block designation information received from the external apparatus. The encryption processing section is also able to execute the authentication processing using the key data in the specific key block. The encryption processing section is preferably operable to execute encryption processing using the key data in the specific key block.
  • [0072]
    In accordance with another embodiment of the present invention, a data processing method is provided for use in a data processing system. The data processing system includes a recorder/reproducer and a recording device operable to transmit encryption data to each other. The data processing method comprises designating in the recorder/reproducer a selected key block out of a plurality of key blocks held by the recording device and executing authentication processing between the recorder/reproducer and the recording device based on key data stored in the selected key block. Preferably, each of the plurality of key blocks includes an authentication key for use in the authentication processing, and the authentication key of each of the plurality of key blocks is configured as distinct key data. Alternatively, the authentication processing step includes designating the selected key block based on setting information held in a memory in the recorder/reproducer.
  • [0073]
    In an example, the embodiment further comprises storing a master key Mkake for a recording device authentication key in a memory in the recorder/reproducer. This example also includes generating an authentication key Kake based on the master key Mkake for use in the authentication processing. In this example, the recording device preferably includes a memory for storing recording device identification information IDmem, and each of the plurality of key blocks stores the authentication key Kake. The authentication key Kake is distinct for each key block. Furthermore, the data processing method preferably further includes executing encryption processing of the recording device identification information IDmem based on the master key Mkake to generate the authentication key Kake.
  • [0074]
    In another example, the selected key block is preferably designated in accordance with key block designation information received from the recorder/reproducer.
  • [0075]
    In yet another example, the method further comprises executing encryption processing in the recording device using the key data in the selected key block. In this example, the selected key block is selected in accordance with key block designation information received from the recorder/reproducer, and the encryption processing is executed during data storing processing and during data transfer processing of content data in a data storing section of the recording device.
  • [0076]
    In a further example, the recording device further includes a data storage section, and each of the plurality of key blocks of the recording device includes a storing key used in encryption processing of the stored in the data storage section. In this example, the method further comprises executing key exchange processing of the storing key in the recording device. If a data utilization request that is encrypted by the storing key is received from outside the recording device, the encryption data is output by a key different from the storing key to outside the recording device.
  • [0077]
    In accordance with yet another embodiment of the present invention, a recording medium recorded with a computer program is provided. The computer program is for executing data processing in a data processing system, which includes a recorder/reproducer and a recording device operable to transmit encryption data to each other. The data processing comprises designating in the recorder/reproducer a selected key block out of a plurality of key blocks held by the recording device and executing authentication processing between the recorder/reproducer and the recording device based on key data stored in the selected key block.
  • [0078]
    In accordance with a further embodiment of the present invention, a data processing system is provided. The system is operable to transmit encryption data, and comprises a first apparatus and a second apparatus. The first apparatus has a command identifier. The second apparatus has an encryption processing section that is capable of executing encryption processing on data transmitted to and from the first apparatus. The encryption processing section including a control section operable to receive the command identifier in accordance with a pre-defined setting sequence and to retrieve a command from a register. The command corresponds to the command identifier. The control section is also operable to have the command executed. In this embodiment, if the command identifier differs from the predefined setting sequence, the control section is operable to cancel execution of the command.
  • [0079]
    In an example of this embodiment, the pre-defined setting sequence is a command number setting sequence in which numbers are sequentially incremented. The control section is thus operable to store a value of the command identifier received from the first apparatus in a memory. It is also operable to determine coincidence of a new command identifier received from the first apparatus with the pre-defined setting sequence based on the received value stored in the memory. If the new command identifier is different from the pre-defined setting sequence, the control section is operable to reset the command identifier stored in the memory without performing command processing corresponding to the new command identifier.
  • [0080]
    In another example of this embodiment, the data processing system further comprises a command register, an authentication processing command sequence, an encryption processing command sequence, and a sequence. The command register is within the second apparatus, and is for storing the command in accordance with the pre-defined setting sequence. The authentication processing command sequence is for executing authentication processing between the first apparatus and the second apparatus. The encryption processing command sequence is for executing the encryption processing. The sequence is set such that an authentication command identifier corresponding to the authentication processing command sequence is executed prior to a command sequence corresponding to the encryption processing command sequence.
  • [0081]
    In this example, the encryption processing command sequence preferably includes at least one of encryption key exchange processing for encryption data transferred from the first apparatus to the second apparatus and stored in a storage unit in said second apparatus, and encryption key exchange processing for the encryption data stored in the storage unit in the second apparatus and transferred from the second apparatus to the first apparatus. More preferably the control section is operable to manage an order of command execution based on the pre-defined setting sequence and the command identifier in the encryption key exchange processing. In this case, when the command processing is different from the pre-defined setting sequence, the control section does not accept command processing from an external apparatus, including the first apparatus, during command execution relating to the encryption key exchange processing.
  • [0082]
    Alternatively in this example, if authentication is established between the first apparatus and the second apparatus, the control section is operable to perform certain operations. The operations include setting an authentication flag indicating that the authentication processing is finished. The operations also include executing command management control to enable execution of the encryption processing command sequence during setting of the authentication flag. The operations further include resetting the authentication flag when repeating the authentication processing command sequence.
  • [0083]
    In a further example of this embodiment, the second apparatus is a storage device having a data storage section for storing the encryption data. Also in this example, the first apparatus is a recorder/reproducer for storing data in the storage device and for retrieving the data stored in the storage device to reproduce and execute the data. The recorder/reproducer includes an encryption processing section for executing the encryption processing of the transmission data with the storage device.
  • [0084]
    In this example, the storage device preferably includes a key block for storing an authentication key and a storing key. The authentication key is usable in authentication processing between the recorder/reproducer and the storage device. The storing key is usable as an encryption key for the encryption data stored in the data storing section of the storage device. The control section is operable to receive a command identifier from the recorder/reproducer, to execute authentication processing using the authentication key in accordance with the pre-defined setting sequence, and, after completing the authentication processing, to execute the encryption processing of data accompanying key exchange processing using the storing key.
  • [0085]
    More preferably, the key block includes a plurality of key blocks each storing the authentication key and the storing key. In this case, the authentication key is different from the storing key. The recorder/reproducer is operable to notify the storage device of one key block as a designated key block out of the plurality of key blocks. The designated key block is used in the authentication processing and the encryption processing. The storage device is operable to execute the authentication processing using the authentication key stored in the designated key block and to execute the encryption processing of the data using the storing key in the designated key block.
  • [0086]
    In accordance with another embodiment of the present invention, a recording device is provided. The recording device comprises a data storage section and an encryption processing section. The data storage section is operable to store content data that is transferable to an external apparatus. The encryption processing section is operable to execute encryption processing of transmission data with the external apparatus. The encryption processing section includes a control section operable to receive a command identifier transferred from the external apparatus in accordance with a setting sequence and to retrieve a command from a register. The command corresponds to the command identifier. The control section is also operable to have the command executed. If the command identifier differs from the setting sequence, the control section is operable to cancel processing of the command.
  • [0087]
    Preferably, the control section further includes a command number setting sequence in which numbers are sequentially incremented as the setting sequence. Also, the control section is preferably further operable to perform certain functions. A function is to store a received value of the command identifier in a memory. Another function is to determine coincidence of a new command identifier received from the external apparatus with the setting sequence based on the received value. If it is determined that the new command identifier is different from the setting sequence, another function is to reset the received value stored in the memory without performing command processing corresponding to the new command identifier.
  • [0088]
    In an example, this embodiment further comprises a command register, an authentication processing command sequence, an encryption processing command sequence and a sequence. The command register is for storing the command in accordance with the setting sequence. The authentication processing command sequence is for executing authentication processing between the external apparatus and the recording device. The encryption processing command sequence is for executing the encryption processing relating to transferred data between the external apparatus and the recording device. The sequence is set such that the command identifier corresponding to the authentication processing command sequence is executed prior to a command sequence corresponding to the encryption processing command sequence.
  • [0089]
    In this example, the encryption processing command sequence preferably includes at least one of encryption key exchange processing for encryption data transferred from the external apparatus to the recording device and stored in a storage unit in the recording device, and encryption key exchange processing for the encryption data stored in the storage unit and transferred from the recording device to the external apparatus. More preferably, the control section is operable to manage an order of command execution based on the setting sequence and the command identifier in the encryption key exchange processing. Here, the control section does not accept command processing from the external apparatus during the command execution relating to the encryption key exchange processing when the command processing is different from the setting sequence.
  • [0090]
    Alternatively in this example, the control section is operable to perform certain operations. An operation is to set an authentication flag. Another operation is to execute command management control. Yet another operation is to reset the authentication flag when repeating the authentication processing command sequence. If authentication is established between the external apparatus and the recording device, the authentication flag is set to indicate that the authentication processing is finished. The command management control enables execution of the encryption processing command sequence during setting of the authentication flag.
  • [0091]
    In yet another example, the recording device further comprises a key block. The key block is for storing an authentication key and a storing key. The authentication key is usable in authentication processing between the external apparatus and the recording device. The storing key is usable as an encryption key for the data stored in the data storage section. In this example, the control section is operable to receive the command identifier from the external apparatus, to execute the authentication processing using the authentication key, and after completing the authentication processing, to execute the encryption processing of data accompanying key exchange processing using the storing key.
  • [0092]
    In this example, the key block preferably includes a plurality of key blocks, which each store the authentication key and the storing key. In this case, the external apparatus is operable to notify the recording device of one key block out of the plurality of key blocks. The one key block is a designated key block used in authentication processing and encryption processing of selected data. The recording device is operable to execute the authentication processing using the authentication key stored in the designated key block to execute the encryption processing using the storing key in the designated key block.
  • [0093]
    In accordance with a further embodiment of the present invention, a data processing method is provided for use in a data processing system. The system has a first apparatus and a second apparatus operable to transmit encryption data to each other. The method comprises executing command processing control in the second apparatus for receiving a command identifier in accordance with a setting sequence. The command identifier is transferred from the first apparatus. The method also comprises retrieving a command corresponding to the command identifier from a register. The method further comprises processing the command. If the command identifier is different from the setting sequence, the method also comprises canceling the processing of the command.
  • [0094]
    In an example of this embodiment, the setting sequence is a command number setting sequence in which numbers are sequentially incremented. Also, the command processing control includes storing a receiving value of the command identifier in a memory and determining coincidence of a new command identifier received from the first apparatus with the setting sequence based on the receiving value. If the new command identifier is different from the setting sequence, the receiving value stored in the memory is reset without performing command processing corresponding to the new command identifier.
  • [0095]
    In another example of this embodiment, the command processing control includes executing an authentication processing command sequence for executing authentication processing between the first apparatus and the second apparatus. This example also includes executing an encryption processing command sequence for executing encryption processing relating to transferred data between the first apparatus and the second apparatus. The setting sequence is a sequence for executing the authentication processing command sequence prior to the encryption processing command sequence.
  • [0096]
    In this example, the encryption processing command sequence preferably includes at least one of encryption key exchange processing for encryption data transferred from the first apparatus to the second apparatus and stored in a storage unit in the second apparatus, and encryption key exchange processing for the encryption data stored in the storage unit in the second apparatus and transferred from the second apparatus to the first apparatus. More preferably, the command processing control includes additional actions. During processing of a series of commands relating to the encryption key exchange processing, an action includes managing an order of command processing based on the setting sequence and the command identifier. Another action includes not accepting command processing from an external apparatus when the command processing is different from the setting sequence.
  • [0097]
    Alternatively, if authentication is established between the first apparatus and the second apparatus, this example further includes setting an authentication flag indicating that the authentication processing is finished. The example also further includes executing command management control during the command processing control to enable execution of the encryption processing command sequence when setting the authentication flag. In this case, the method preferably further includes resetting the authentication flag when executing a new authentication processing command sequence.
  • [0098]
    In accordance with yet another embodiment of the present invention, a recording medium recorded with a computer program is provided. The computer program is for executing data processing having certain actions in a data processing system. The system includes a first apparatus and a second apparatus operable to transmit encryption data to each other. An action is receiving a command identifier that is transferred from the first apparatus to the second apparatus in accordance with a setting sequence. Another action is retrieving a command corresponding to the command identifier from a register. A further action is processing the command. If the command identifier is different from the setting sequence, another action is canceling the processing of the command.
  • [0099]
    Other objects, features, and advantages of the present invention will be seen from the detailed explanation based on the embodiment and attached drawings of the present invention described later.
  • [0100]
    As described above, according to the data processing apparatus and method and data-verifying-value-imparting method of the present invention, partial integrity check values generated as integrity check values for a partial data set containing one or more partial data obtained by dividing content data into a plurality of pieces are used for a collation process to verify the partial data, and a partial-integrity-check-value-verifying integrity check values used to verify a partial integrity check value set comprising a combination of a plurality of partial integrity check values are used for a collation process to verify the entirety of a plurality of partial data sets corresponding to a plurality of partial integrity check values constituting a partial integrity check value set. Consequently, compared to a configuration for imparting a single integrity check value to the entire content data, partial verification is achieved and the entire verification process is efficient due to the use of the partial integrity check values.
  • [0101]
    Further, according to the data processing apparatus and method and data-verifying-value-imparting method of the present invention, the verification process can be executed depending on how content data are used, for example, whether the data are to be downloaded or reproduced; for example, a verification process for a data portion that is unlikely to be tampered can be omitted. Therefore, efficient verification is achieved depending on how data is used.
  • [0102]
    Furthermore, the data processing apparatus and data processing method of the present invention are configured in such a way that individual keys necessary to execute encryption processing such as data encryption, data decryption, data verification, authentication processing and signature processing are not stored in a storage section, master keys to generate these individual keys are stored in the storage section instead, the encryption processing section of the data processing apparatus extracts the master keys corresponding to these individual keys such as encryption keys and authentication keys from the storage section as required, executes encryption processing applying a DES algorithm, etc. based on the extracted master keys and identification data of the apparatus or data and generates individual keys such as an encryption key and authentication key, and therefore the present invention eliminates the possibility of the individual keys themselves leaking from the storage section and enhances the security of an encryption processing system because acquiring the individual keys will require a plurality of information pieces such as information of both individual key generation algorithm and master keys, identification data of the apparatus or data. Moreover, even if an individual key is leaked for some reasons, the range of damage is limited to the range of the individual key, which will not lead to collapse of the entire system.
  • [0103]
    Furthermore, the data processing apparatus, data processing system and data processing method of the present invention is configured in such a way that individual keys are sequentially generated based on the identification data of the apparatus or data, which eliminates the need to maintain the list of keys applied to individual apparatuses in a control apparatus, facilitating system control as well as enhancing the security.
  • [0104]
    Furthermore, according to the data processing apparatus, data processing method and contents data generation method of the present invention, illegal device identification data information is stored in contents data, collation between an illegal device list and the recorder/reproducer identifier of the recorder/reproducer attempting to use the contents is executed prior to the use of the contents by the recorder/reproducer, and in the case where the collation result shows that some entries of the illegal device list match the recorder/reproducer identifier, the subsequent processing, for example, contents data decryption, downloading or reproduction processing, etc. is stopped, thus making it possible to prevent a reproducer, etc. that has illegally acquired a key from illegally using contents.
  • [0105]
    Furthermore, the data processing apparatus, data processing method and contents data generation method of the present invention adopt a configuration allowing the contents data to include check values together for the illegal device list in the content data, making it possible to prevent tampering of the list itself and provide a contents data utilization configuration with enhanced security.
  • [0106]
    Furthermore, the data processing apparatus and data processing method of the present invention allows a data processing apparatus such as a recorder/reproducer and PC to store an apparatus-specific key, which is specific to the data processing apparatus and a system common key, which is common to other data processing apparatuses using contents data, making it possible to process contents according to contents utilization restrictions. The data processing apparatus selectively uses these two keys according to contents utilization restrictions. For example, in the case where the contents are only available to the data processing apparatus, the key specific to the data processing apparatus is used, while in the case where the contents are also available to other systems, a check value for the contents data is generated and collation processing is performed using the system common key. It is possible to decrypt and reproduce the encrypted data only when the collation is established, thus allowing processing according to contents utilization restrictions such as contents only available to the data processing apparatus or contents commonly available to the system, etc.
  • [0107]
    Furthermore, the data processing apparatus, data processing method and contents data verification value assignment method of the present invention is configured to generate a contents check value in units of contents block data, execute collation processing on the contents check value generated, generate a contents intermediate value based on the contents block data to be verified and generate a contents check value through encryption processing applying a contents check value generation key, thus allowing efficient verification compared to conventional processing on entire data.
  • [0108]
    Furthermore, the data processing apparatus, data processing method and contents data verification value assignment method of the present invention allows verification in contents block units and simplified verification processing according to download processing and reproduction processing, etc. providing efficient verification according to the mode of use.
  • [0109]
    Furthermore, since the data processing apparatus, the content data generating method, and the data processing method of the present invention is made to have the configuration that is provided with the plurality of content blocks in the content data and enables encryption processing for a unit of each content block, and also have the configuration in which the key used for content encryption is further encrypted and stored in the header section, even if, for example, a plurality of content blocks exist and blocks requiring encryption processing and blocks not requiring encryption processing are mixed, it becomes possible to have an arbitrary data structure that couples each block.
  • [0110]
    In addition, according to the data processing apparatus, the data processing system, and the data processing method of the present invention, by making the configuration of the content block to be a regular configuration, for example, a configuration having a uniform data length, or a configuration in which the encryption block and the non-encryption (plaintext) block are alternately disposed, decryption processing and the like of the content block can be promptly executed, and encryption content data suitable for processing corresponding to contents of the content data, for example, reproduction and the like of music data can be provided.
  • [0111]
    Furthermore, the data processing apparatus, the data processing method and the content data generating method can efficiently execute reproduction processing in the case in which contents are compressed voice data, image data or the like. That is, by making a configuration of content data to be one in which compressed data and an expansion processing program are combined, expansion processing, to which an expansion processing program incidental to compressed content data is applied, is made possible in the reproduction processing apparatus, and a situation in which the expansion processing program does not exist in the reproduction processing apparatus and reproduction cannot be performed can be avoided.
  • [0112]
    Moreover, according to the data processing apparatus, the data processing method and the content data generating means, since a configuration of content data has a configuration in which the reproduction processing apparatus determines the expansion processing program applicable to the compressed content data based on the header information, and the reproduction processing apparatus further retrieves a program applicable from accessible recording media or the like and executes expansion processing by making content data to be a combination of compressed data and the header section storing the type of the compression processing program, or, if the contents has the expansion processing program, a combination of the expansion processing program and the header storing the type of the program, program retrieving processing does not need to be executed by a user, and efficient reproduction processing becomes possible.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0113]
    FIG. 1 is a view showing the configuration of a conventional data processing system.
  • [0114]
    FIG. 2 is a view showing the configuration of a data processing apparatus to which the present invention is applied.
  • [0115]
    FIG. 3 is a view showing the configuration of a data processing apparatus to which the present invention is applied.
  • [0116]
    FIG. 4 is a view showing a data format of content data on a medium or a communication path.
  • [0117]
    FIG. 5 is a view showing a usage policy contained in a header of content data.
  • [0118]
    FIG. 6 is a view showing block information contained in a header of content data.
  • [0119]
    FIG. 7 is a view showing an electronic signature generating method using DES.
  • [0120]
    FIG. 8 is a view showing an electronic signature generating method using Triple DES.
  • [0121]
    FIG. 9 is a view depicting Triple DES.
  • [0122]
    FIG. 10 is a view showing an electronic signature generating method partly using Triple DES.
  • [0123]
    FIG. 11 is a view showing a process flow of electronic signature generation.
  • [0124]
    FIG. 12 is a view showing a process flow of electronic signature generation.
  • [0125]
    FIG. 13 is a view depicting a mutual authentication process sequence using a symmetrical cryptography technique.
  • [0126]
    FIG. 14 is a view depicting a public key certificate.
  • [0127]
    FIG. 15 is a view depicting a mutual authentication process sequence using an asymmetrical cryptography technique.
  • [0128]
    FIG. 16 is a view showing a process flow of an encryption process using elliptic curve cryptography.
  • [0129]
    FIG. 17 is a view showing a process flow of a decryption process using elliptic curve cryptography.
  • [0130]
    FIG. 18 is a view showing how data are held on a recording and reproducing device.
  • [0131]
    FIG. 19 is a view showing how data are held on a recording device.
  • [0132]
    FIG. 20 is a view showing a process flow of mutual authentication between the recording and reproducing device and the recording device.
  • [0133]
    FIG. 21 is a view showing the relationship between a master key of the recording and reproducing device and a corresponding master key of the recording device.
  • [0134]
    FIG. 22 is a view showing a process flow of a content download process.
  • [0135]
    FIG. 23 is a view depicting a method for generating an integrity check value A: ICVa.
  • [0136]
    FIG. 24 is a view depicting a method for generating an integrity check value B: ICVb.
  • [0137]
    FIG. 25 is a view depicting a method for generating a total integrity check value and an integrity check value unique to the recording and reproducing device.
  • [0138]
    FIG. 26 is a view showing a format of content data stored in the recording device (localization field=0).
  • [0139]
    FIG. 27 is a view showing a format of content data stored in the recording device (localization field=1).
  • [0140]
    FIG. 28 is a view showing a process flow of a content reproduction process.
  • [0141]
    FIG. 29 is a view depicting a method by which the recording device executes commands.
  • [0142]
    FIG. 30 is a view depicting a method by which the recording device executes commands in a content storage process.
  • [0143]
    FIG. 31 is a view depicting a method by which the recording device executes commands in a content reproduction process.
  • [0144]
    FIG. 32 is a view depicting the configuration of a content data format type 0.
  • [0145]
    FIG. 33 is a view depicting the configuration of a content data format type 1.
  • [0146]
    FIG. 34 is a view depicting the configuration of a content data format type 2.
  • [0147]
    FIG. 35 is a view depicting the configuration of a content data format type 3.
  • [0148]
    FIG. 36 is a view depicting a method for generating a content integrity check value ICVi for the format type 0.
  • [0149]
    FIG. 37 is a view depicting a method for generating a content integrity check value ICVi for the format type 1.
  • [0150]
    FIG. 38 is a view depicting a total integrity check value and an integrity check value unique to the recording and reproducing device for the format types 2 and 3.
  • [0151]
    FIG. 39 is a view showing a process for downloading content of the format type 0 or 1.
  • [0152]
    FIG. 40 is a view showing a process for downloading content of the format type 2.
  • [0153]
    FIG. 41 is a view showing a process for downloading content of the format type 3.
  • [0154]
    FIG. 42 is a view showing a process for reproducing content of the format type 0.
  • [0155]
    FIG. 43 is a view showing a process for reproducing content of the format type 1.
  • [0156]
    FIG. 44 is a view showing a process for reproducing content of the format type 2.
  • [0157]
    FIG. 45 is a view showing a process for reproducing content of the format type 3.
  • [0158]
    FIG. 46 is a view (1) depicting a method by which a content generator and a content verifier generate integrity check values and execute verification using them.
  • [0159]
    FIG. 47 is a view (2) depicting a method by which the content generator and the content verifier generate integrity check values and execute verification using them.
  • [0160]
    FIG. 48 is a view (3) depicting a method by which the content generator and the content verifier generate integrity check values and execute verification using them.
  • [0161]
    FIG. 49 is a view depicting a method for individually generating various keys using master keys.
  • [0162]
    FIG. 50 is a view (example 1) showing an example of a process executed by a content provider and a user in conjunction with the method for individually generating various keys using master keys.
  • [0163]
    FIG. 51 is a view (example 2) showing an example of a process executed by the content provider and the user in conjunction with the method for individually generating various keys using master keys.
  • [0164]
    FIG. 52 is a view illustrating a configuration for executing localization using different master keys.
  • [0165]
    FIG. 53 is a view (example 3) showing an example of a process executed by the content provider and the user in conjunction with the method for individually generating various keys using master keys.
  • [0166]
    FIG. 54 is a view (example 4) showing an example of a process executed by the content provider and the user in conjunction with the method for individually generating various keys using master keys.
  • [0167]
    FIG. 55 is a view (example 5) showing an example of a process executed by the content provider and the user in conjunction with the method for individually generating various keys using master keys.
  • [0168]
    FIG. 56 is a view showing a flow of a process for storing a cryptography key with Triple DES applied thereto, using the Single DES algorithm.
  • [0169]
    FIG. 57 is a view showing a content reproduction process flow (example 1) based on priority.
  • [0170]
    FIG. 58 is a view showing a content reproduction process flow (example 2) based on priority.
  • [0171]
    FIG. 59 is a view showing a content reproduction process flow (example 3) based on priority.
  • [0172]
    FIG. 60 is a view illustrating a configuration for executing a process for decrypting (decompressing) compressed data during the content reproduction process.
  • [0173]
    FIG. 61 is a view showing an example of the configuration of content (example 1).
  • [0174]
    FIG. 62 is a view showing a reproduction process flow in the example 1 of the configuration of the content.
  • [0175]
    FIG. 63 is a view showing an example of the configuration of content (example 2).
  • [0176]
    FIG. 64 is a view showing a reproduction process flow in the example 2 of the configuration of the content.
  • [0177]
    FIG. 65 is a view showing an example of the configuration of content (example 3).
  • [0178]
    FIG. 66 is a view showing a reproduction process flow in the example 3 of the configuration of the content.
  • [0179]
    FIG. 67 is a view showing an example of the configuration of content (example 4).
  • [0180]
    FIG. 68 is a view showing a reproduction process flow in the example 4 of the configuration of the content.
  • [0181]
    FIG. 69 is a view illustrating a process for generating and storing save data.
  • [0182]
    FIG. 70 is a view showing a process flow for an example (example 1) of the process for storing saved data.
  • [0183]
    FIG. 71 is a view showing the configuration of a data managing file (example 1) used during a process for storing and reproducing save data.
  • [0184]
    FIG. 72 is a view showing a process flow for an example (example 1) of the process for reproducing save data.
  • [0185]
    FIG. 73 is a view showing a process flow for an example (example 2) of the process for storing save data.
  • [0186]
    FIG. 74 is a view showing a process flow for an example (example 2) of the process for reproducing save data.
  • [0187]
    FIG. 75 is a view showing a process flow for an example (example 3) of the process for storing save data.
  • [0188]
    FIG. 76 is a view showing the configuration of a data managing file (example 2) used during the process for storing and reproducing save data.
  • [0189]
    FIG. 77 is a view showing a process flow for an example (example 3) of the process for reproducing save data.
  • [0190]
    FIG. 78 is a view showing a process flow for an example (example 4) of the process for storing save data.
  • [0191]
    FIG. 79 is a view showing a process flow for an example (example 4) of the process for reproducing save data.
  • [0192]
    FIG. 80 is a view showing a process flow for an example (example 5) of the process for storing save data.
  • [0193]
    FIG. 81 is a view showing the configuration of a data managing file (example 3) used during the process for storing and reproducing save data.
  • [0194]
    FIG. 82 is a view showing a process flow for an example (example 5) of the process for reproducing save data.
  • [0195]
    FIG. 83 is a view showing a process flow for an example (example 6) of the process for storing save data.
  • [0196]
    FIG. 84 is a view showing the configuration of a data managing file (example 4) used during the process for storing and reproducing save data.
  • [0197]
    FIG. 85 is a view showing a process flow for an example (example 6) of the process for reproducing save data.
  • [0198]
    FIG. 86 is a view illustrating a configuration for excluding invalid content users (revocation).
  • [0199]
    FIG. 87 is a view showing a flow of a process (example 1) for excluding invalid content users (revocation).
  • [0200]
    FIG. 88 is a view showing a flow of a process (example 2) for excluding invalid content users (revocation).
  • [0201]
    FIG. 89 is a view illustrating a configuration of the security chip (example 1).
  • [0202]
    FIG. 90 is a view showing a process flow for a method for manufacturing a security chip.
  • [0203]
    FIG. 91 is a view illustrating the configuration of the security chip (example 2).
  • [0204]
    FIG. 92 is a view showing a flow of a process for writing data in the security chip (example 2).
  • [0205]
    FIG. 93 is a view showing a flow of a process for checking written data in the security chip (example 2).
  • DETAILED DESCRIPTION
  • [0206]
    The embodiments of the present invention will be described below. The description will proceed in the order of the following items:
  • [0000]
    (1) Configuration of Data Processing Apparatus
  • [0000]
    (2) Content Data Format
  • [0000]
    (3) Outline of Cryptography Processes Applicable to Present Data Processing Apparatus
  • [0000]
    (4) Configuration of Data Stored in Recording and Reproducing Apparatus
  • [0000]
    (5) Configuration of Data Stored in Recording Device
  • [0000]
    (6) Mutual Authentication Process Between Recording and Reproducing Device and Recording Device
  • [0000]
    (6-1) Outline of Mutual Authentication Process
  • [0000]
    (6-2) Switching to Key Block During Mutual Authentication
  • [0000]
    (7) Process for Downloading from Recording and Reproducing Device to Recording Device
  • [0000]
    (8) Process Executed by Recording and Reproducing Device to Reproduce Information from Recording Device
  • [0000]
    (9) Key Exchanging Process after Mutual Authentication
  • [0000]
    (10) Plural Content Data Formats and Download and Reproduction Processes Corresponding to Each Format
  • [0000]
    (11) Aspect of Process Executed by Content Provider to Generate Check Values (ICV)
  • [0000]
    (12) Cryptography Process Key Generating Configuration Based on Master Key
  • [0000]
    (13) Controlling Cryptography Intensity in Cryptography Process
  • [0000]
    (14) Program Activating Process Based on Activation Priority in Handling Policy in Content Data
  • [0000]
    (15) Content Configuration and Reproduction (Decompression) Process
  • [0000]
    (16) Process for Generating and Storing Saved Data in Recording Device and Reproducing the Same therefrom
  • [0000]
    (17) Configuration for Excluding (Revoking) Illegal Apparatuses
  • [0000]
    (18) Secure Chip Configuration and Manufacturing Method therefore
  • [0000]
    (1) Configuration of Data Processing Apparatus
  • [0207]
    FIG. 2 illustrates a block diagram showing the general configuration of one embodiment of a data processing apparatus according to the present invention. Main components of the data processing apparatus are a recording and reproducing device 300 and a recording device 400.
  • [0208]
    The recording and reproducing device 300 comprises, for example, a personal computer (PC), a game apparatus or the like. The recording and reproducing device 300 has a control section 301 for carrying out unifying control including the control of communication between the recording and reproducing device 300 and the recording device 400 during a cryptography process in the recording and reproducing device 300. The recording and reproducing device 300 also includes a cryptography process section 302, which is responsible for the whole cryptography process. It also includes a recording device controller 303 for executing an authentication process with the recording device 400 connected to the recording and reproducing device 300 to read and write data. Recording and reproducing device 300 further includes a read section 304 for reading data from a medium 500, such as a DVD, CD, floppy disk (FD) or hard disk (HDD), and a communication section 305 for transmitting and receiving data to and from the exterior network via communication means 600.
  • [0209]
    The recording and reproducing device 300 downloads and reproduces content data to and from the recording device 400 controlled by the control section 301. The recording device 400 is a storage medium that can preferably be installed in and removed from the recording and reproducing device 300, for example, as a memory card. The recording device 400 has an external memory 402 comprising a non-volatile memory such as an EEPROM, a flash memory, a hard disk, or a RAM with batteries.
  • [0210]
    The recording and reproducing device 300 has the read section 304 as an interface to which content data stored in the storage medium 500. The communication section 305 acts as an interface to which content data distributed from an exterior network such as the Internet can be input.
  • [0211]
    The recording and reproducing device 300 has the cryptography process section 302 to execute an authentication process, an encryption and a decryption processes, a data verification process, or other processes. The cryptography process section 302 operates in downloading content data externally input via the read section 304 or the communication section 305 to the recording device 400 or reproducing and executing content data from the recording device 400. The cryptography process section 302 comprises a control section 306, an internal memory 307 and an encryption/decryption section 308. Control Section 306 controls the entire cryptography process section 302. The internal memory 307 holds information such as keys for the cryptography process and which has been processed so as to prevent data from being externally read out therefrom easily. Encryption/decryption section 308 is used for executing the encryption and decryption processes, generating and verifying authentication data, generating random numbers, etc.
  • [0212]
    The control section 301 transmits an initialization command to the recording device 400 via the recording device controller 303 when, for example, the recording device 400 is installed in the recording and reproducing device 300. Control section 301 can also execute a mediation process for various processes such as a mutual authentication between the encryption/decryption section 308 and the encryption/decryption section 406. Control section 301 can also perform an integrity check value collating process and encryption and decryption processes. Each of these processes will be described in detail later.
  • [0213]
    The cryptography process section 302 can execute the authentication process, the encryption and decryption processes, the data verifying process, and other processes, as previously described.
  • [0214]
    The cryptography process control section 306 executes control of the whole cryptography process. This includes the authentication process and the encryption/decryption processes executed by the recording and reproducing device 300. These are, for example, processes of setting an authentication completion flag when the authentication process executed between the recording and reproducing device 300 and the recording device 400 has completed and commanding the execution of various processes executed in the encryption/decryption section 308. Some of the various processes are, for example, a download process, a process for generating integrity check values for reproduced content data, and commanding the execution of a process for generating various key data.
  • [0215]
    The internal memory 307 stores key data, identification data, and other data required for various processes. Some of the various processes include the mutual authentication process, the integrity check value collating process, and the encryption and decryption processes which are executed in the recording and reproducing device 300. These processes will be described later in detail.
  • [0216]
    The encryption/decryption section 308 uses key data and similar information stored in the internal memory 307 to execute the authentication process, the encryption and decryption processes, the generation and verification of predetermined integrity check values or electronic signatures, the verification of data, the generation of random numbers, etc. in downloading externally input content data to the recording device 400 or reproducing and executing content data stored in the recording device 400.
  • [0217]
    In this case, the internal memory 307 of the recording and reproducing device cryptography process section 302 holds important information such as cryptography keys and is configured so as not to have its data externally read out easily. Thus, the cryptography process section 306 is configured as a tamper-resistant memory characterized to restrain external invalid reads. It comprises, for example, a semiconductor chip that essentially rejects external accesses and has a multilayer structure, an internal memory sandwiched between dummy layers of aluminum or the like or arranged in the lowest layer, and a narrow range of operating voltages and/or frequencies. This configuration will be described later in detail.
  • [0218]
    In addition to these cryptography process functions, the recording and reproducing device 300 comprises a main Central Processing Unit (CPU) 106, a RAM (Random Access Memory) 107, a ROM (Read Only Memory) 108, an AV process section 109, an input interface (I/F) 110, a PIO (Parallel I/O) interface 111, and a SIO (Serial I/O) interface 112.
  • [0219]
    The main CPU 106, the RAM 107, and the ROM 108 are components functioning as a control system for the main body of the recording and reproducing device 300. CPU 106, RAM 107 and ROM 103 principally function as a reproduction process section for reproducing data decrypted by the cryptography process section 302. For example, the main CPU 106 executes control for the reproduction and execution of content, such as output of content data read out from the recording device and then decrypted, to the AV process section 109 under the control of the control section 301.
  • [0220]
    The RAM 107 is used as a main storage memory for various processes executed by the CPU 106 and as a working area for these processes. The ROM 108 stores a basic program for starting up an Operating System (OS) or the like activated by the CPU 106, as well as other data.
  • [0221]
    The AV process section 109 has a data compression and decompression process mechanism. Specifically, the AV process section 109 includes an MPEG2 decoder, an ATRAC decoder, an MP3 decoder etc. . . . to execute processes for data outputs to a data output apparatus such as a display or speakers (not shown) attached or connected to the recording and reproducing device 300 main body.
  • [0222]
    The input I/F 110 outputs data input from various connected input means such as a controller, a keyboard, and a mouse, to the main CPU 106. The main CPU 106 executes a process in accordance with a command issued by a user via the controller, based on, for example, a game program being executed.
  • [0223]
    The PIO interface 111 and the SIO interface 112 are used as storage devices for a memory card or a game cartridge and as a connection interface to a portable electronic device or the like.
  • [0224]
    The main CPU 106 also executes control in storing saved data, setting data or the like for, as an example, a game being executed. During this process, stored data is transferred to the control section 301. This causes the cryptography process section 302 to execute a cryptography process for the saved data as required and then stores the encrypted data in the recording device 400. These cryptography processes will be described later in detail.
  • [0225]
    The recording device 400 is a storage medium that can preferably be installed in and removed from the recording and reproducing device 300, and comprises, for example, a memory card. The recording device 400 has the cryptography process section 401 and the external memory 402.
  • [0226]
    The recording device cryptography process section 401 executes the mutual authentication process, encryption and decryption processes, data verification process, and other processes. These processes occur between the recording and reproducing device 300 and the recording device 400 in downloading content data from the recording and reproducing device 300 or reproducing content data from the recording device 400 to the recording and reproducing device 300. The cryptography process section 401 has a control section, an internal memory, an encryption/decryption section, and other components similar to the cryptography process section of the recording and reproducing device 300. The details will be described in relation to FIG. 3. The external memory 402 stores encrypted content data or the like. It comprises a non-volatile memory comprising a flash memory such as an EEPROM, a hard disk, a RAM with batteries or the like.
  • [0227]
    FIG. 3 is a view schematically showing the configuration of data input from the medium 500 and the communication means 600 that are content providing means from which the data processing apparatus according to the present invention receives data. The recording and reproducing device 300 receives an input of content from the content providing means 500 or 600. Recording and reproducing device 300 operates on arrangements for the cryptography process in the recording device 400.
  • [0228]
    The medium 500 is, for example, an optical disk medium, a magnetic disk medium, a magnetic tape medium, a semiconductor medium, or the like. The communication means 600 is capable of data communication via the Internet, cable, or satellite communication.
  • [0229]
    In FIG. 3, the recording and reproducing device 300 verifies data input by the medium 500 or the communication means 600. That is, a recording and reproducing device 300 verifies content meeting a predetermined format, and stores the verified content in the recording device 400.
  • [0230]
    As shown in the sections of the medium 500 and communication means 600 the content data has the following components:
  • [0231]
    Content ID: content ID as an identifier for content data.
  • [0232]
    Usage policy: a usage policy containing constituent information of content data. For example, the usage policy contains the sizes of a header section and a content section constituting the content data, a format version, a content type indicating whether the content is a program or data, and a localization field indicating whether the content can be used only in an apparatus that has downloaded the content or also in other apparatuses.
  • [0233]
    Block information table: the block information table comprises the number of content blocks, a block size, an encryption flag indicating the presence of encryption, and other information.
  • [0234]
    Key data: key data comprises an encryption key for encrypting the above described block information table, a content key for encrypting a content block, or the like.
  • [0235]
    Content block: the content block comprises program data, music or image data, or other data to be actually reproduced.
  • [0236]
    The content data will be explained later in further detail with reference to FIG. 4 and subsequent figures.
  • [0237]
    The content data are encrypted by the content key (hereafter referred to as the “Knon”) and then provided to the recording and reproducing device 300 from the medium 500 or the communication means 600. The content can be stored in the external memory of the recording device 400 via the recording and reproducing device 300.
  • [0238]
    For example, the recording device 400 uses a key (hereafter referred to as a “storage key”, or Kstr unique thereto. The storage key is stored in the internal memory 405 thereof to encrypt the content contained in the content data, the block information table contained in the content data as header information, and information on various keys, such as the content key Kcon. This is done before storing these data in the external memory 402. To download the content data from the recording and reproducing device 300 to the recording device 400 or allow the recording and reproducing device 300 to reproduce the content data stored in the recording device 400, predetermined procedures such as a mutual authentication process between the apparatuses and content data encrypting and decrypting processes are required. These processes will be explained later in detail.
  • [0239]
    The recording device 400 has the cryptography process section 401 and the external memory 402. The cryptography process section 401 has a control section 403, a communication section 404, the internal memory 405, an encryption/decryption section 406, and an external memory control section 407.
  • [0240]
    The recording device 400 is responsible for the whole cryptography process, controls the external memory 402, and comprises the recording device cryptography process section 401 cryptography process section 401 is for interpreting a command from the recording and reproducing device 300 and executing a process. The recording device 400 also includes the external memory 402, which holds contents or the like.
  • [0241]
    The recording device cryptography process section 401 has the control section 403 for controlling the entire recording device cryptography process section 401, the communication section 404 for transmitting and receiving data to and from the recording and reproducing device 300 and the internal memory 405. Internal memory 405 holds information such as keys for the cryptography process. The information has been processed so as to prevent data from being easily externally read out therefrom. The encryption/decryption section 406 is used for executing the encryption and decryption processes, generating and verifying authentication data, generating random numbers, etc. The external memory control section 407 is used for reading and writing data from and to the external memory 402.
  • [0242]
    The control section 403 executes control of the whole cryptography process. This includes the authentication process and the encryption/decryption processes executed by the recording device 400. The encryption/decryption processes include, for example, processes of setting an authentication completion flag when the authentication process executed between the recording and reproducing device 300 and the recording device 400 has completed. The control section 403 also commands the execution of various processes executed in the encryption/decryption section 406 of the cryptography process section 401. For example, the various processes can include a download process and a process for generating integrity check values for reproduced content data. The control section 403 also commands the execution of a process for generating various key data.
  • [0243]
    The internal memory 405 comprises a memory having a plurality of blocks to store a plurality of sets of key data, identification data, or other data which are required for various processes. Such various processes include the mutual authentication process, integrity check value collating process, and an encryption and decryption process, which are executed by the recording device 400, as described later in detail.
  • [0244]
    The internal memory 405 of the recording device cryptography process section 401, like the internal memory 307 of the cryptography process section 302 previously described, holds important information such as cryptography keys. Internal memory 307 must thus be configured so as not to have its data externally read out easily. Thus, the cryptography process section 401 of the recording device 400 is characterized to restrain external invalid reads. It comprises a semiconductor chip that essentially rejects external accesses and has a multilayer structure, an internal memory sandwiched between dummy layers of aluminum or the like or arranged in the lowest layer, and a narrow range of operating voltages and/or frequencies. In this regard, the cryptography process section 302 may be software configured so as to prevent secret information for keys from leaking easily to the exterior network or the like.
  • [0245]
    The encryption/decryption section 406 uses key data or the like stored in the internal memory 405 to execute the data verifying process, the encryption and decryption processes, the generation and verification of predetermined integrity check values or electronic signatures, the generation of random numbers, etc. It does this in downloading content data from the recording and reproducing device 300, reproducing content data stored in the external memory 402 of the recording device 400, or executing mutual authentication between the recording and reproducing device 300 and the recording device 400.
  • [0246]
    The communication section 404 is connected to the recording device controller 303 of the recording and reproducing device 300. The communication section 404 downloads or reproduces content data or communicates transfer data between the recording and reproducing device 300 and the recording device 400 during the mutual authentication process. This is done according to the control of the control section 301 of the recording and reproducing device 300, or the control of the control section 403 of the recording device 400.
  • [0000]
    (2) Content Data Format
  • [0247]
    Next, by using FIG. 4 to FIG. 6, the data format of data stored in the medium 500 or communicated on the data communication means 600 will be explained.
  • [0248]
    The configuration shown in FIG. 4 shows the format of the entire content data. The configuration shown in FIG. 5 shows details of the “usage policy” that partly constitutes the header section of the content data. The configuration shown in FIG. 6 shows details of the “block information table” that partly constitutes the header section of the content.
  • [0249]
    A representative example of the data format applied to the system according to the present invention will be explained. However, different types of data formats, such as formats corresponding to game programs and formats suitable for real-time processing of music data or the like, can be used for the present system. The aspects of these formats will be described later in further detail in “(10) Plural Content Data Formats and Download and Reproduction Processes Corresponding to Each Format.”
  • [0250]
    In the data format shown in FIG. 4, items shown in gray indicate encrypted data. Items enclosed by double frames indicate tamper check data. The other items shown in white indicate plain text data that are not encrypted. Encryption keys of the encryption section are shown on the left of the frames. In the example shown in FIG. 4, some of the blocks (content block data) of the content section contain encrypted data, while the others contain non-encrypted data. This form varies depending on the content data. All the content block data contained in the data may be encrypted.
  • [0251]
    As shown in FIG. 4, the data format is divided into the header section and the content section. The header section comprises a content ID, a usage policy, an integrity check value A (hereafter referred to as “ICVa”), a block information table key (hereafter referred to as “Kbit”), a content key Kcon, a block information table (hereafter referred to as “BIT”), an integrity check value B (“ICVb”), and a total integrity check value (“ICVt”). The content section comprises a plurality of content blocks, for example, encrypted and non-encrypted content.
  • [0252]
    In this case, the individual information indicates a content ID for identifying a specific piece of content. The usage policy, as shown in FIG. 5, comprises a header length indicating the size of the header section; a content length indicating the size of the content section; a format version indicating version information for the format; a format type indicating the type of the format; a content type indicating the type of the content, that is, whether it is a program or data; an operation priority indicating a priority for activation if the content type is a program; a localization field indicating whether the content downloaded in accordance with this format can be used only in an apparatus that has downloaded the content or also in other similar apparatuses; a copy permission indicating whether the content downloaded in accordance with this format can be copied from the apparatus that has downloaded the content to another similar apparatus; a move permission indicating whether the content downloaded in accordance with this format can be moved from the apparatus that has downloaded the content to another similar apparatus; an encryption algorithm indicating an algorithm used to encrypt content blocks in the content section; an encryption mode indicating a method for operating the algorithm used to encrypt the content in the content section; and an integrity check method indicating a method for generating integrity check values, as shown in detail in FIG. 5.
  • [0253]
    The above described data items recorded in the usage policy are only exemplary and various usage policy information can be recorded depending on the aspect of corresponding content data. The identifier is described later in detail in, for example, “(17) Configuration for Excluding (Revoking) Illegal Apparatuses.” It is also possible to make a configuration so as to exclude the use of content caused by the illegal apparatus by recording the content of an illegal recording and reproducing apparatus as data and by checking the start time of the use.
  • [0254]
    The integrity check value A TCVa is used to verify that the content ID or the usage policy has not been tampered with. It functions as a check value for partial data instead of the entire content data. That is, it functions as a partial integrity check value. The data block information table key Kbit is used to encrypt a block information table. The content key Kcon is used to encrypt content blocks. The block information table key Kbit and the content key Kcon are encrypted with a distribution key (hereafter referred to as “Kdis”) on the medium 500 and the communication means 600.
  • [0255]
    FIG. 6 shows the block information table in detail. The block information table in FIG. 6 comprises data encrypted with the block information table key Kbit as illustrated in FIG. 4. The block information table comprises a block number, indicating the number of content blocks and information on N content blocks. The content block information table comprises a block length; an encryption flag indicating whether or not the block ash been encrypted; an ICV flag indicating whether or not integrity check values must be calculated, and a content integrity check value (ICVi).
  • [0256]
    The content integrity check value is used to verify that each content block has not been tampered with. A specific example of a method for generating a content integrity check value will be explained later in “(10) Plural Content Data Formats and Download and Reproduction Processes Corresponding to Each Format.” The block information table key Kbit, used to encrypt the block information table, is further encrypted with the distribution key Kdis.
  • [0257]
    The data format in FIG. 4 will be described further. The integrity check value B, ICVb, is used to verify that the block information table key Kbit, the content key Kcon, and the block information table have not been tampered with. It functions as a check value for partial data instead of the entire content data. That is, it functions as a partial integrity check value. The total integrity check value ICVt is used to verify the integrity check values ICVa and ICVb, integrity check values ICVi for each content block (if this has been set), partial integrity check values thereof, or all the data to be checked have not been tampered with.
  • [0258]
    In FIG. 6, the block length, the encryption flag, and the ICV flag can be arbitrarily set. However, certain rules may be established. For example, encrypted and plain-text areas may be repeated over a fixed length, all the content data may be encrypted, or the block information table BIT may be compressed. Additionally, the content key Kcon may be contained in the content block instead of the header section to allow different content keys Kcon to be used for different content blocks. Examples of the content data format will be described in further detail in (10) Plural Content Data Formats and Download and Reproduction Processes Corresponding to Each Format.”
  • [0000]
    (3) Outline of Cryptography Processes Applicable to Present Data Processing Apparatus
  • [0259]
    Next, the aspects of various cryptography processes applicable to the data processing apparatus according to the present invention will be explained. The description of the cryptography processes shown in “(3) Outline of Cryptography Processes Applicable to Present Data Processing Apparatus” correspond to an outline of the aspect of a cryptography process on which are based various processes executed by the present data processing apparatus, which will be specifically described later. For example, “a. authentication process between recording and reproducing device and recording device”, “b. download process for device for loading contents”, and “c. process for reproducing content stored in recording device” will be explained herein. Specific processes executed by the recording and reproducing device 300 and the recording device 400 will be each described in detail in item (4) and subsequent items.
  • [0260]
    An outline of the cryptography process applicable to the data processing apparatus will be described in the following order:
  • [0000]
    (3-1) Message Authentication Based on Common Key Cryptosystem
  • [0000]
    (3-2) Electronic Signature Based on Public Key Cryptosystem
  • [0000]
    (3-3) Verification of Electronic Signature Based on Public Key Cryptosystem
  • [0000]
    (3-4) Mutual Authentication Based on Common Key Cryptosystem
  • [0000]
    (3-5) Public Key Certificate
  • [0000]
    (3-6) Mutual Authentication Based on Public Key Cryptosystem
  • [0000]
    (3-7) Encryption Process Using Elliptic Curve Cryptography
  • [0000]
    (3-8) Decryption Process Using Elliptic Curve Cryptography
  • [0000]
    (3-9) Random Number Generating Process
  • [0000]
    (3-1) Message Authentication Based on Common Key Cryptosystem
  • [0261]
    First, a process for generating tamper detecting data using a common key cryptography method will be explained. The tamper detecting data are added to the data in order to check for tampering and to authenticate a creator.
  • [0262]
    For example, the tamper detecting data may be the ICVa, the ICVb, and the total integrity check value in the data structure described in FIG. 4, and the content check value stored in each block in the block information table shown in FIG. 6.
  • [0263]
    Here, the use of the DES, which is a common key cryptosystem, will be explained as an example of a method for generating and processing electronic signature data. In addition to the DES, the present invention may use, for example, the FEAL (Fast Encipherment Algorithm or the AES (Advance Encryption Standard) (U.S. next-term standard cryptography) as a similar process based on a common key cryptosystem.
  • [0264]
    A method for generating an electronic signature using a general DES will be explained with reference to FIG. 7. First, before generating an electronic signature, a message to which the electronic signature is to be added is divided into sets of 8 bytes (the pieces of the divided message are hereafter referred to as “M1, M2, . . . , MN”). An initial value (hereafter referred to as “IV”) and the M1 are exclusive-ORed. The result is referred to as “I1”. Next, the I1 is input to a DES encrypting section, which encrypts it using a key (hereafter referred to as “K1”). The output is referred to as “E1”. Subsequently, the E1 and the M2 are exclusive-ORed, and the output 12 is input to the DES encrypting section, which encrypts it using the key K1 the output is referred to as “E2”. This process is repeated to encrypt all the messages (M1, M2, . . . MN) obtained by means of the division. The final output is an electronic signature (“EN”). This value is generally called a “MAC (Message Authentication Code)” used to check a message for tampering. In addition, such a system for chaining encrypted texts is called a “CBC (Cipher Block Chaining) mode.”
  • [0265]
    The MAC value output in the example of generation shown in FIG. 7 can be used as the integrity check value A or B or total integrity check value in the data structure shown in FIG. 4 which is enclosed by double frames and the content check value ICV1 to ICVN stored in each block in the block information table shown in FIG. 6. In verifying the MAC value, a verifier generates it using a method similar to that used to originally generate it. The verification is determined to be successful if the same value is obtained.
  • [0266]
    Moreover, in the example shown in FIG. 7, the initial value IV is exclusive-ORed with the first 8-byte message M1, but the initial value IV may be zero and not exclusive-ORed.
  • [0267]
    FIG. 8 shows the configuration of a method for generating the MAC value which has improved security compared to the MAC value generating method shown in FIG. 7. FIG. 8 shows an example where instead of the Single DES in FIG. 7, the Triple DES is used to generate the MAC value.
  • [0268]
    FIGS. 9A and 9B show an example of a detailed configuration of each of the Triple DES components shown in FIG. 8. There are two different aspects of the configuration of the Triple DES as shown in FIG. 9. FIG. 9(a) shows an example using two cryptography keys. Processing is carried out in the order of an encryption process with a key 1 (K1), a decryption process with a key 2 (K2), and an encryption process with the key 1. The two types of keys are used in the order of K1, K2, and K1. FIG. 9(b) shows an example using three cryptography keys. Processing is carried out in the order of an encryption process with the key 1, an encryption process with the key 2, and an encryption process with a key 3 (K3). The three types of keys are used in the order of K1, K2, and K3. The plurality of processes are thus continuously executed to improve security intensity compared to the Single DES. The Tripled DES configuration, however, has the disadvantage of requiring an amount of processing time three times as large as that for the Single DES.
  • [0269]
    FIG. 10 shows an example of a MAC value generating configuration obtained by improving the Triple DES configuration described in FIGS. 8 and 9. In FIG. 10, the encryption process for each of the messages (M1, M2, . . . , MN) from beginning to end of a message string to which a signature is to be added is based on the Single DES. Only the encryption process for the last message is based on the Triple DES configuration shown in FIG. 9(a).
  • [0270]
    The configuration shown in FIG. 10 reduces the time required to generate the MAC value for the message down to a value almost equal to the time required for the MAC value generating process based on the Single DES. This is done with improved security compared to the MAC value based on the Single DES. Moreover, the Triple DES configuration for the last message may be as shown in FIG. 9(b).
  • [0000]
    (3-2) Electronic Signature Based on Public Key Cryptosystem
  • [0271]
    The method for generating electronic signature data (if the common key encryption system) is used as the encryption system has been described. A method for generating electronic signature data will be described with reference to FIG. 11 for a common key cryptosystem being used as the encryption system. The process shown in FIG. 11 corresponds to a process flow generation of electronic signature data using the Elliptic Curve Digital Signature Algorithm (EC-DSA), as per IEEE P1363/D3. An example using Elliptic Curve Cryptography (hereafter referred as “ECC”) as public key cryptography will be explained. In addition to ECC, the data processing apparatus according to the present invention may use, for example, RSA (Rivest, Shamir, Adleman; ANSI X9.31) cryptography, which is a similar public cryptosystem.
  • [0272]
    Each step in FIG. 11 will be described. At step S1, the following definitions are set reference symbol p denotes a characteristic. Reference symbols a and b denote coefficients of an elliptic curve (elliptic curve: y2=x3+ax+b). M denotes a message. G denotes a base point on the elliptic curve. Symbol r denotes the digit of G. Ks denotes a secret key (0<Ks<r). At step S2, a hash value for the message M is calculated to obtain f=Hash(M).
  • [0273]
    Then, a method for determining a hash value using a hash function will be explained. The hash function receives a message as an input, compresses it into data of a predetermined bit length, and outputs the compressed data as a hash value. The hash value is characterized in that it is difficult to predict an input from a hash value (output). For instance, when one bit of data input to the hash function changes, many bits of the hash value change. Thus, it is difficult to find different input data with the same hash value. The hash function employed may be, for example, MD4, MD5, SHA-1, or DES-CBC similar to that described in FIG. 7 or other figures. In this case, the MAC (corresponding to the integrity check value ICV), which is the final output value, is the hash value.
  • [0274]
    Subsequently, at step S3, a random number u (0<u<r) is generated. At step S4 the base point G is multiplied by u to obtain coordinates V (Xv, Yv). An addition and a multiplication by two on the elliptic curve are defined as follows:
  • [0275]
    If P=(Xa, Ya), Q=(Xb, Yb), R=(Xc, YC)=P+Q.
  • [0276]
    When P≠Q (addition),
    Xc=λ 2 −Xa−Xb
    Yc=λx(Xa−Xc)−Ya
    λ=(Yb−Ya)/(Xb−Xa)
  • [0277]
    When P=Q (multiplication by two),
    Xc=λ 2−2Xa
    Yc=λx(Xa−Xc)−Ya
    λ=(3(Xa)2 +a)/(2Ya)  (1)
  • [0278]
    These are used to multiply the point G by u. Although the calculation speed is low, the most easy-to-understand calculation method is shown below. G, 2×G, 4×G, . . . is calculated, the u is binary-expanded, and corresponding 2I×G (value obtained by multiplying G by 2 i times) is added to bits of 1 (i denotes a bit position as counted from an LSB).
  • [0279]
    At step S5, c=Xvmod r is calculated, and at step S6, is determined whether the result is zero. If the result is not zero, then at step S7, d=[(f+cKs)/u]mod r is calculated. At step S8, it is determined whether d is zero. If d is not zero, then at step S9, c and d are output as electronic signature data. When r is assumed to denote a length of 160 bits, the electronic signature data have a length of 320 bits.
  • [0280]
    If c is 0 at step S6, the process returns to step S3 to regenerate a new random number. Similarly, if d is 0 at step S8, the process also returns to step S3 to regenerate a new random number.
  • [0000]
    (3-3) Verification of Electronic Signature Based on Public Key Cryptosystem
  • [0281]
    Next, a method for verifying an electronic signature using the public key cryptosystem will be described with reference to FIG. 12. At step S11, the following definitions are set. Reference symbol M denotes a message. Reference symbol p denotes a characteristic. Reference symbols a and b denote elliptic curve coefficients (elliptic curve: y2=x3+ax+b). Reference symbol G denotes a base point on the elliptic curve. Reference symbol r denotes the digit of G. Reference symbols G and Ks×G denote public keys (0<Ks<r). At step S12, it is verified that the electronic signature data c and d meet 0<c<r and 0<d<r. If the data meet these conditions, then at step S13, a hash value for the message M is calculated to obtain f=Hash (M). Next, at step S14, h=1/d mod r is calculated, and at step S15, h1=fh mod r and h2=ch mod r are calculated.
  • [0282]
    At step S16, the already calculated values h1 and h2 are used to calculate P=(Xp, Yp)=h1×G+h2·Ks×G. An electronic-signature verifier knows the public keys G and Ks×G and can thus calculate a scalar multiplication of a point on the elliptic curve similar to step S4 in FIG. 11. Then, at step S17, it is determined whether the P is a point at infinity. If not, the process proceeds to step S18 (the determination of whether the P is a point at infinity can actually be made at step S16). That is, when P=(X, Y) and Q=(X, −Y) are added together, if the λ cannot be calculated, it indicates that P+Q is a point at infinity. At step S18, Xp mod r is calculated and compared with the electronic signature data c. Finally, if these values are equal, the process proceeds to step S19 to determine that the electronic signature is correct.
  • [0283]
    If it is determined that the electronic signature is correct, the data has not been tampered with and a person holding the secret key corresponding to the public keys has generated the electronic signature.
  • [0284]
    If the signature data c or d do not meet 0<c<r or 0<d<r at step S12, the process proceeds to step S20. Additionally, if the P is a point at infinity at step S17, the process also proceeds to step S20. Further, if the value of Xp mod r does not equal the signature data c at step S18, the process proceeds to step S20.
  • [0285]
    If it is determined at step S20 that the signature is incorrect, this indicates that the received data has been tampered with or has not been generated by the person holding the secret key corresponding to the public keys.
  • [0000]
    (3-4) Mutual Authentication Based on Common Key Cryptosystem
  • [0286]
    Next, a mutual authentication method using a common key cryptosystem will be explained with reference to FIG. 13. In this figure, the common key cryptosystem is the DES, but any common key cryptosystem similar to that previously described may be used. In FIG. 13, B first generates a 64-bit random number Rb and transmits the Rb and its own ID, ID(b), to A. On receiving data, the A generates a new 64-bit random number Ra, encrypts the data in the DES CBC mode in the order of the Ra, Rb, and ID(b) using a key Kab, and returns them to B. According to the DES CBC mode process configuration shown in FIG. 7, the Ra, Rb, and ID(b) correspond to M1, M2, and M3, and outputs E1, E2, and E3 are encrypted texts when an initial value: IV=0.
  • [0287]
    On receiving the data, B decrypts the received data with the key Kab. To decrypt the received data, the encrypted text E1 is first decrypted with the key Kab to obtain the random number Ra. Then, the encrypted text E2 is decrypted with the key Kab, and the result and E1 are exclusive-ORed to obtain the Rb. Finally, the encrypted text E3 is decrypted with the key Kab, and the result and E2 are exclusive-ORed to obtain the ID (b). Of the Ra, Rb, and ID (b) thus obtained, the Rb and ID(b) are checked for equality to those transmitted by B. If they are successfully verified, B authenticates A.
  • [0288]
    Then, B generates a session key (hereafter referred to as “Kses”) used after the authentication. Kses is generated using a random number. The Rb, Ra, and Kses are encrypted in the DES CBC mode in this order using the key Kab and then returned to A.
  • [0289]
    On receiving the data, A decrypts the received data with the key Kab. The method for decrypting the received data is similar to that executed by B, so detailed description thereof is omitted. Of the Rb, Ra, and Kses thus obtained, the Rb and Ra are checked for equality to those transmitted by A.
  • [0290]
    If they are successfully verified, A authenticates B. After A and B have authenticated each other, the session key Kses is used as a common key for secret communication after the authentication.
  • [0291]
    If illegality or inequality is found during the verification of the received data, the mutual authentication is considered to have failed and the process is aborted.
  • [0000]
    (3-5) Public Key Certificate
  • [0292]
    Next, the public key certificate will be explained with reference to FIG. 14. The public key certificate is issued, for example, by a Certificate Authority (“CA”) for the public key cryptosystem. When a user submits his or her own ID, a public key, and others to the CA, the CA adds information such as its own ID and valid term to the data submitted by the user and further adds its signature thereto to generate a public key certificate.
  • [0293]
    The public key certificate shown in FIG. 14 contains the version number of the certificate, the sequential number of the certificate allotted to the certificate user by the CA, an algorithm and parameters used for the electronic signature, the name of the CA, the valid term of the certificate, the name (user ID) of the certificate user, and the public key and electronic signature of the certificate user.
  • [0294]
    The electronic signature is data generated by applying the hash function to the entirety of: the version number of the certificate, the sequential number of the certificate allotted to the certificate user by the certificate authority; the algorithm and parameter used for the electronic signature; the name of the CA; the valid term of the certificate; the name of the certificate user; and the public key of the certificate user. This generates a hash value. The secret key of the CA is used for this value. For example, the process flow described in FIG. 11 is applied to the generation of the electronic signature.
  • [0295]
    The CA issues the public key certificate shown in FIG. 14, updates a public key certificate for which the valid term has expired, and creates, manages, and distributes an illegal user list to exclude users who has committed an injustice (this is called “revocation”). It also generates public and secret keys as required.
  • [0296]
    On the other hand, to use this public key certificate, the user uses the public key of the CA held by itself to verify the electronic signature on the public key certificate. After the electronic signature has been successfully verified, the user takes the public key out from the public key certificate and uses it. Thus, all users who use the public key certificate must hold a common public key of the CA. The method for verifying the electronic authority has been described in FIG. 12, so detailed description thereof is omitted.
  • [0000]
    (3-6) Mutual Authentication Based on Public Key Cryptosystem
  • [0297]
    Next, a method for mutual authentication using a 160-bit elliptic curve cryptography, which is a public key cryptography, will be described with reference to FIG. 15. In this figure, the public key cryptosystem is the ECC, but any similar public key cryptosystem may be used as previously described. In addition, the key size is not limited to 160 bits. In FIG. 15, B first generates and transmits the 64-bit random number Rb to A. On receiving the data, A generates a new 64-bit random number Ra and a random number Ak smaller than the characteristic p. It then multiplies a base point G by Ak to determine a point Av=Ak×G, generates an electronic signature A. Sig for the Ra, Rb, and Av (X and Y coordinates), and returns these data to B together with A's public key certificate. In this case, since the Ra and Rb each contain 64 bits and the X and Y coordinates of the Av each contain 160 bits, the electronic signature is for the total of 448 bits. The method for generating the electronic signature has been described in FIG. 11, so detailed description thereof is omitted. The public key certificate has also been explained in FIG. 14, so detailed description thereof is omitted.
  • [0298]
    On receiving A's public key certificate, Ra, Rb, Av, and electronic signature A. Sig, B verifies that the Rb transmitted by A matches that generated by the B. If they are determined to match, B verifies the electronic signature in A's public key certificate using the public key of the CA, and takes out A's public key. The verification of the public key certificate has been explained with reference to FIG. 14, so detailed description thereof is omitted. B then uses A's public key obtained to verify the electronic signature A. Sig. The method for verifying the electronic signature has been explained in FIG. 12, so detailed description thereof is omitted. Once the electronic signature has been successfully verified, B authenticates A.
  • [0299]
    Next, B generates a new random number Bk smaller than the characteristic p. It then multiplies the base point G by Bk to determine a point Bv=Bk×G, generates an electronic signature B. Sig for the Rb, Ra, and By (X and Y coordinates), and returns these data to A together with B's public key certificate.
  • [0300]
    On receiving B's public key certificate, Rb, Ra, Av, and electronic signature B. Sig, A verifies that the Ra transmitted by B matches that generated by A. If they match, A verifies the electronic signature in B's public key certificate using the public key of the CA, and takes out B's public key. A then uses B's public key obtained to verify the electronic signature B. Sig. Once the electronic signature has been successfully verified, A authenticates B.
  • [0301]
    If both A and B have successfully authenticated each other, B calculates Bk×Av (since the Bk is a random number but the Av is a point on the elliptic curve, the point on the elliptic curve must be subjected to scalar multiplication), and A calculates Ak×By so that lower 64 bits of each of the X coordinates of these points are used as the session key for subsequent communication (if the common key cryptography uses a 64-bit key length). Of course, the session key may be generated from the Y coordinates, or the lower 64 bits may not be used. In secret communication after the mutual authentication, not only transmitted data are encrypted with the session key, but an electronic signature may be added thereto.
  • [0302]
    If illegality or inequality is found during the verification of the electronic signature or received data, the mutual authentication is considered to have failed and the process is aborted.
  • [0000]
    (3-7) Encryption Process Using Elliptic Curve Cryptography
  • [0303]
    Next, encryption using elliptic curve cryptography will be explained with reference to FIG. 16. At step S21, the following definitions are set. Reference symbols Mx and My denote messages. Reference symbol p denotes a characteristic, reference symbols a and b denote elliptic curve coefficients (elliptic curve: y2=x3+ax+b). Reference symbol G denotes a base point on the elliptic curve. Reference symbol r denotes the digit of G. Reference symbols G and Ks×G denote public keys (0<Ks<r). At step S22, the random number u is generated so that 0<u<r. At step S23, coordinates V are calculated by multiplying the public key Ks×G by the u. The scalar multiplication on the elliptic curve has been explained at step S4 in FIG. 11, and description thereof is thus omitted. At step S24, the X coordinate of the V is multiplied by the Mx and then divided by the p to determine a remainder X0. At step S25, the Y coordinate of the V is multiplied by the My and then divided by the p to determine a remainder Y0. If the length of the message is smaller than the number of the bits, the My comprises a random number, and the decryption section discards it. At step S26, u×G is calculated and at step S27, an encrypted text u×G, (X0, Y0) is obtained.
  • [0000]
    (3-8) Decryption Process Using Elliptic Curve Cryptography
  • [0304]
    Next, decryption using the elliptic curve cryptography will be described with reference to FIG. 17. At step S31, the following definitions are set. Reference symbols u×G and (X0, Y0) denote encrypted text data. Reference symbol p denotes a characteristic. Reference symbols a and b denote elliptic curve coefficients (elliptic curve: y2=x3+ax+b). Reference symbol G denotes a base point on the elliptic curve. Reference symbol r denotes the digit of G. Reference symbol Ks denotes a secret key (0<Ks<r). At step S32, the encrypted data u×G are multiplied by a value corresponding to the secret key Ks to determine coordinates V (Xv, Yv). At step S33, the X coordinate of (X0, Y0) is taken out from the encrypted data and X1=X0/Xv mod p is calculated. At step S34, the Y coordinate is taken out and Y1=Y0/Yv mod p is calculated. At step S35, X1 is determined to be Mx and Y1 is determined to be My to obtain a message. At this point, if the My is not used for the message, Y1 is discarded.
  • [0305]
    In this manner, when the secret key is Ks, the public key is G, and Ks×G is calculated, the key used for encryption and the key used for decryption may be different.
  • [0306]
    Another known example of the public key cryptography is the RSA, but detailed description thereof is omitted (details thereof are described in PKCS #1 Version 2).
  • [0000]
    (3-9) Random Number Generating Process
  • [0307]
    Next, a method for generating a random number will be explained. Known random-number generating methods include an intrinsic random-number generating method that amplifies thermal noise to generate a random number from the resulting A/D output and a pseudo random-number generating method that combines together a plurality of linear circuits such as M sequences. A method is also known which uses common key cryptography such as the DES. In this example, the pseudo random-number generating method using the DES will be described (ANSI X9.17 base).
  • [0308]
    First, the value of 64 bits (for a smaller number of bits, higher bits are set to 0) obtained from data such as time is defined as D, key information used for the Triple-DES is defined as Kr, and a seed for generating a random number is defined as S. Then, the random number R is calculated as follows:
    I=Triple-DES(Kr,D)  (2-1)
    I=Triple-DES(Kr,SφI)  (2-2)
    I=Triple-DES(Kr,RφI)  (2-3)
  • [0309]
    In this case, Triple-DES( ) is a function that uses a first argument as cryptography key information and encrypts the value of a second argument based on the Triple-DES. The operation φ is an exclusive OR executed every 64 bits. The last value S is updated as a new seed.
  • [0310]
    If random numbers are continuously generated, Equations (2-2) and (2-3) are repeated.
  • [0311]
    The aspects of various cryptography processes applicable to the data processing apparatus according to the present invention have been described. Next, specific processes executed in the present data processing apparatus will be described in detail.
  • [0000]
    (4) Configuration of Data Stored in Recording and Reproducing Device
  • [0312]
    FIG. 18 is a view illustrating the contents of data held in the internal memory 307 configured in the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 shown in FIG. 3.
  • [0313]
    As shown in FIG. 18, the internal memory 307 stores the following keys and data:
  • [0314]
    MKake: recording device authenticating master key for generating an authentication and key exchange key (hereafter referred to as “Kake”) required for a mutual authentication process executed between the recording and reproducing device 300 and recording device 400 (see FIG. 3).
  • [0315]
    IVake: initial value for the recording device authenticating key.
  • [0316]
    MKdis: master key for a distribution key for generating a distribution key Kdis.
  • [0317]
    IVdis: distribution-key-generating initial value.
  • [0318]
    Kicva: integrity-check-value-A-generating key for generating the integrity check value ICVa.
  • [0319]
    Kicvb: integrity-check-value-B-generating key for generating the integrity check value ICVb.
  • [0320]
    Kicvc: content-integrity-check-value-generating key for generating the integrity check value ICVi (i=1 to N) for each content block.
  • [0321]
    Kicvt: total-integrity check value-generating key for generating the total integrity check value ICVt.
  • [0322]
    Ksys: system signature key used to add a common signature or ICV to a distribution system.
  • [0323]
    Kdev: recording and reproducing device signature key that varies depending on recording and reproducing device and that is used by the recording and reproducing device to add a signature or ICV.
  • [0324]
    IVmem: initial value that is used for a cryptography process for mutual authentication, or the like. This is shared by the recording device.
  • [0325]
    These keys and data are stored in the internal memory 307 configured in the recording and reproducing device cryptography process section 302.
  • [0000]
    (5) Configuration of Data Stored in Recording Device
  • [0326]
    FIG. 19 is a view showing how data are held on the recording device 400. In this figure, the internal memory 405 is divided into a plurality of (in this example, N) blocks each storing the following keys and data:
  • [0327]
    IDmem: recording device identification information that is unique to the recording device 400.
  • [0328]
    Kake: authentication key that is used for mutual authentication with the recording and reproducing device 300.
  • [0329]
    IVmem: initial value that is used for a cryptography process for mutual authentication, or the like.
  • [0330]
    Kstr: storage key that is a cryptography key for the block information table and other content data.
  • [0331]
    Kr: random number generating key.
  • [0332]
    S: seed.
  • [0333]
    These data are each held in the corresponding block. An external memory 402 holds a plurality of (in this example, M) content data. It holds the data described in FIG. 4 as shown, for example, in FIG. 26 or 27. The difference in configuration between FIGS. 26 and 27 will be described later.
  • [0000]
    (6) Mutual Authentication Process Between Recording and Reproducing Device and Recording Device
  • [0000]
    (6-1) Outline of Mutual Authentication Process
  • [0334]
    FIG. 20 is a flow chart illustrating a procedure for an authentication between the recording and reproducing device 300 and the recording device 400. At step S41, the user inserted the recording device 400 into the recording and reproducing device 300. If, however, the recording device 400 is capable of communication in a non-contact manner, it need not be inserted thereinto.
  • [0335]
    When the recording device 400 is set in the recording and reproducing device 300, a recording device detecting means (not shown) in the recording and reproducing device 300 shown in FIG. 3 notifies the control section 301 that the recording device 400 has been installed. Then at step S42, the control section 301 of the recording and reproducing device 300 transmits an initialization command to the recording device 400 via the recording device controller 303. On receiving the command, the recording device 400 causes the control section 403 of the recording device cryptography process section 401 to receive the command via the communication section 404 and clear an authentication completion flag if it has been set. That is, an unauthenticated state is set.
  • [0336]
    Then at step S43, the control section 301 of the recording and reproducing device 300 transmits an initialization command to the recording and reproducing device cryptography process section 302. At this point, it also transmits a recording device insertion port number. When the recording device insertion port number is transmitted, even if a plurality of recording devices 400 are connected to the recording and reproducing device 300, the recording and reproducing device 300 can simultaneously execute authentication with these recording devices 400 and transmit and receive data thereto and therefrom.
  • [0337]
    On receiving the initialization command, the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 causes the control section 306 thereof to clear the authentication complete flag corresponding to the recording device insertion port number if it has been set. That is, the unauthenticated state is set.
  • [0338]
    Then at step S44, the control section 301 of the recording and reproducing device 300 specifies a key block number used by the recording device cryptography process section 401 of the recording device 400. Details of the key block number will be described later. At step S45, the control section 301 of the recording and reproducing device 300 reads out the recording device identification information IDmem stored in the specified key block in the internal memory 405 of the recording device 400. At step S46, the control section 301 of the recording and reproducing device 300 transmits the recording device identification information IDmem to the recording and reproducing device cryptography process section 302 to generate the authentication key Kake based on the recording device identification information IDmem. The authentication key Kake is generated, for example, as follows:
    Kake=DES(MKake,IdmemφIVake)  (3)
  • [0339]
    In this case, the MKake denotes the master key for the recording device authentication key used to generate the authentication key Kake required for the mutual authentication process executed between the recording and reproducing device 300 and the recording device 400 (see FIG. 3). The master key can be stored in the internal memory 307 of the recording and reproducing device 300 as described above. Additionally, the IDmem denotes the recording device identification information unique to the recording device 400. Furthermore, the IVake denotes the initial key for the recording device authentication key. In addition, in the above equation, the DES( ) denotes a function that uses a first argument as cryptography key and encrypts the value of a second argument based on the DES. The operation ° denotes an exclusive OR executed every 64 bits.
  • [0340]
    If, for example, the DES configuration shown in FIG. 7 or 8 is applied, the message M shown in FIGS. 7 and 8 corresponds to the recording device identification information: IDmem, the key K1 corresponds to the master key for the device authentication key: MKake, the initial value IV corresponds to the value: IVake, and the output obtained is the authentication key Kake.
  • [0341]
    Then at step S47, the mutual authentication process and the process for generating the session key Kses are carried out. The mutual authentication is executed between the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 and the encryption/decryption section 406 of the recording device cryptography process section 401; the control section 301 of the recording and reproducing device 300 mediates therebetween.
  • [0342]
    The mutual authentication process can be executed as previously described in FIG. 13. In the configuration shown in FIG. 13, A and B correspond to the recording and reproducing device 300 and the recording device 400, respectively. First, the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 generates the random number Rb and transmits the Rb and the recording and reproducing device identification information IDdev, which is its own ID, to the recording device cryptography process section 401 of the recording device 400. The recording and reproducing device identification information IDdev is an identifier unique to a reproducing device stored in a memory section configured in the recording and reproducing device 300. The recording and reproducing device identification information IDdev may be recorded in the internal memory of the recording and reproducing device cryptography process section 302.
  • [0343]
    On receiving the random number Rb and the recording and reproducing device identification information IDdev, the recording device cryptography process section 401 of the recording device 400 generates a new 64-bit random number Ra, encrypts the data in the DES CBC mode in the order of the Ra, Rb, and recording and reproducing device identification information IDdev using the authentication key Kake, and returns them to the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. For example, according to the DES CBC mode process configuration shown in FIG. 7, the Ra, Rb, and IDdev correspond to the M1, M2, and M3, respectively, and when the initial value IV=IVmem, the outputs E1, E2, and E3 are encrypted texts.
  • [0344]
    On receiving the encrypted texts E1, E2, and E3, the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 decrypts the received data with the authentication key Kake. To decrypt the received data, the encrypted text E1 is first decrypted with the key Kake and the result and the IVmem are exclusive-ORed to obtain the random number Ra. Then, the encrypted text E2 is decrypted with the key Kake, and the result and the E1 are exclusive-ORed to obtain the Rb. Finally, the encrypted text E3 is decrypted with the key Kake, and the result and the E2 are exclusive-ORed to obtain the recording and reproducing device identification information IDdev. Of the Ra, Rb, and recording and reproducing device identification information IDdev thus obtained, the Rb and recording and reproducing device identification information IDdev are checked for equality to those transmitted by the recording and reproducing device 300. If they are successfully verified, the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 authenticates the recording device 400.
  • [0345]
    Then, the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 generates a session key (hereafter referred to as “Kses”) used after the authentication. Kses is generated using a random number. The Rb, Ra, and Kses are encrypted in the DES CBC mode in this order using the key Kake and the initial value IVmem and then returned to the recording device cryptography process section 401 of the recording device 400.
  • [0346]
    On receiving the data, the recording device cryptography process section 401 of the recording device 400 decrypts the received data with the key Kake. The method for decrypting the received data is similar to that executed by the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300, so detailed description thereof is omitted. Of the Ra, Rb, and Kses thus obtained, the Rb and Ra are checked for equality to those transmitted by the recording device 400. If they are successfully verified, the recording device cryptography process section 401 of the recording device 400 authenticates the recording and reproducing device 300. After these devices have authenticated each other, the session key Kses is used as a common key for secret communication after the authentication.
  • [0347]
    If illegality or inequality is found during the verification of the received data, the mutual authentication is considered to have failed and the process is aborted.
  • [0348]
    If the mutual authentication has been successful, the process proceeds from step S48 to step S49 where the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 holds the session key Kses and where the authentication complete flag is set, indicating that the mutual authentication has been completed. Additionally, if the mutual authentication has failed, the process proceeds to step S50, the session key Kses is discarded and the authentication complete flag is cleared. If the flag has already been cleared, the clearing process is not necessarily required.
  • [0349]
    If the recording device 400 is removed from the recording device insertion port, the recording device detecting means in the recording and reproducing device 300 notifies the control section 301 of the recording and reproducing device 300 that the recording device 400 has been removed. In response to this, the control section 301 of the recording and reproducing device 300 commands the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 to clear the authentication complete flag corresponding to the recording device insertion port number. In response to this, the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 clears the authentication complete flag corresponding to the recording device insertion port number.
  • [0350]
    The example has been described where the mutual authentication process is executed in accordance with the procedure shown in FIG. 13, but the present invention is not limited to the above described example of authentication process. The process may be executed, for example, in accordance with the above described mutual authentication procedure in FIG. 15. Alternatively, in the procedure shown in FIG. 13, A in FIG. 13 may be set as the recording and reproducing device 300, B may be set as the recording device 400, and the ID that B: recording device 400 first delivers to A: recording and reproducing device 300 may be set as the recording device identification information in the key block in the recording device 400. Various processes are applicable to the authentication process procedure executed in the present invention, and the present invention is not limited to the above described authentication process.
  • [0000]
    (6-2) Switching Key Block During Mutual Authentication
  • [0351]
    The mutual authentication process in the data processing apparatus according to the present invention is partly characterized in that the authentication process is executed by configuring a plurality of (for example, N) key blocks on the recording device 400 side and allowing the recording and reproducing device 300 to specify one of them (step S44 in the process flow in FIG. 20). As previously described in FIG. 19, the internal memory 405 configured in the cryptography process section 401 of the recording device 400 has a plurality of key blocks formed therein which store various different data such as key data and ID information. The mutual authentication process executed between the recording and reproducing device 300 and the recording device 400 as described in FIG. 20 is carried out on one of the plurality of key blocks of the recording device 400 in FIG. 19.
  • [0352]
    Conventional configurations for executing a mutual authentication process between a recording medium and a reproducing device therefor generally use a common authentication key for the mutual authentication. Thus, when the authentication key is to be changed for each product destination (e.g., country) or each product, key data required for authentication processes for the recording and reproducing device side and the recording device side must be changed on both devices. Accordingly, key data required for an authentication process stored in a newly sold recording and reproducing device 300 does not correspond to key data required for an authentication process stored in a previously sold recording and reproducing device 300, so the new recording and reproducing device 300 cannot access an old version of recording device 400. A similar situation occurs in the relationship between a new version of recording device 400 and the old version of recording and reproducing device 300.
  • [0353]
    In the data processing apparatus according to the present invention, key blocks are stored in the recording device 400 as a plurality of different key sets as shown in FIG. 19. The recording and reproducing device 300 has a key block to be applied to the authentication process. That is, a specified key block set, for example, for each product destination (e.g., country), product, device type, version, or application. This set information is stored in the memory section of the recording and reproducing device 300, for example, the internal memory 307 in FIG. 3 or other storage elements of the recording and reproducing device 300. It is accessed by the control section 301 during the authentication process to specify a key block in accordance therewith.
  • [0354]
    The master key Mkake for the recording device authentication key in the internal memory 307 of the recording and reproducing device 300 is set in accordance with settings for a specified key block and can correspond only to that specified key block. It does not establish mutual authentication with any key blocks other than the specified one.
  • [0355]
    As is seen in FIG. 19, the internal memory 405 of the recording device 400 has N key blocks (1 to N) set. Each store recording device identification information, an authentication key, an initial value, a storage key, a random-number generating key, and a seed. Each key block stores at least authenticating key data as data varying depending on the block.
  • [0356]
    In this manner, the key data configuration of the key block in the recording device 400 varies depending on the block. Thus, for example, a key block with which a certain recording and reproducing device A can execute the authentication process using the master key MKake for the recording device authentication key stored in the internal memory can be set as a key block No. 1, and a key block with which a recording and reproducing device B with a different specification can execute the authentication process can be set as another key block, for example, a key block No. 2.
  • [0357]
    Although described later in detail, when content is stored in the external memory 402 of the recording device 400, the storage key Kstr stored in each key block is used to encrypt and store the content. More specifically, the storage key is used to encrypt a content key for encrypting a content block.
  • [0358]
    As shown in FIG. 19, the storage key is configured as a key that varies depending on the block. Thus, a content stored in a memory of a recording device is prevented from being shared by two different recording and reproducing devices 300 set to specify different key blocks. That is, differently set recording and reproducing devices 300 can each use only the contents stored in a recording device 400 that is compatible with its settings.
  • [0359]
    Data that can be made common to each key block can be made so while, for example, only the authenticating key data and the storage key data may vary depending on the key block.
  • [0360]
    In a specific example where key blocks comprising a plurality of different key data are configured in the recording device 400, for example, different key block numbers to be specified are set for different types of recording and reproducing devices 300 (e.g., an installed type, a portable type, and the like), or different specified key blocks are set for different applications. Furthermore, different key blocks may be set for different territories. For example, the key block No. 1 is specified for recording and reproducing devices 300 sold in Japan, and the key block No. 2 is specified for recording and reproducing devices 300 sold in the U.S. With such a configuration, content that is used in different territories and that is stored in each recording device 400 with a different storage key cannot be used in a recording and reproducing device 300 with different key settings even if a recording device 400 such as a memory card is transferred from the U.S. to Japan or vice versa, thereby preventing the illegal or disorderly distribution of the content stored in the memory. Specifically, this serves to exclude a state where a content key Kcon encrypted with different storage keys Kstr can be mutually used in two different countries.
  • [0361]
    Moreover, at least one of the key blocks 1 to N in the internal memory 405 of the recording device 400 shown in FIG. 19, (for example, the No. N key block) may be shared by any recording and reproducing device 300.
  • [0362]
    For example, when the key block No. N and the master key MKake for the recording device authentication key, (which is capable of authentication), are stored in all apparatuses, content can be distributed irrespective of the type of the recording and reproducing device 300, the type of the application, or the destination country. For example, encrypted content stored in a memory card with the storage key stored in the key block No. N can be used in any apparatus. Music data or the like can be decrypted and reproduced from a memory card by encrypting the data with the storage key in a shared key block, storing them in the memory card, and setting the memory card in, for example, a portable sound reproducing device storing the master key MKake for the recording device authentication key, which is also shared.
  • [0363]
    FIG. 21 shows an example of the usage of the recording device of the present data processing apparatus, which has a plurality of key blocks. For instance, a recording and reproducing device 2101 is a product sold in Japan and has a master key that establishes an authentication process with the key blocks No. 1 and No. 4 in the recording device. A recording and reproducing device 2102 is a product sold in the U.S. and has a master key that establishes an authentication process with the key blocks No. 2 and No. 4 in the recording device. A recording and reproducing device 2103 is a product sold in the EU and has a master key that establishes an authentication process with the key blocks No. 3 and No. 4 in the recording device.
  • [0364]
    For example, the recording and reproducing device 2101 establishes authentication with the key block 1 or 4 in the recording device A 2104 to store, in the external memory, content encrypted via the storage key stored in that key block. The recording and reproducing device 2102 establishes authentication with the key block 2 or 4 in the recording device B 2105 to store, in the external memory, content encrypted via the storage key stored in that key block. The recording and reproducing device 2103 establishes authentication with the key block 3 or 4 in the recording device C 2106 to store, in the external memory, content encrypted via the storage key stored in that key block. Then, if the recording device A 2104 is installed in the recording and reproducing device 2102 or 2103, content encrypted with the storage key in the key block 1 is unavailable because authentication is not established between the recording and reproducing device 2102 or 2103 and the key block 1. On the other hand, content encrypted with the storage key in the key block 4 is available because authentication is established between the recording and reproducing device 2102 or 2103 and the key block 4.
  • [0365]
    As described above, in the data processing apparatus according to the present invention, the key blocks comprising the plurality of different key sets are configured in the recording device 400, while the recording and reproducing device 300 stores the master key enabling authentication for a particular key block, thereby enabling the setting of restrictions on content use.
  • [0366]
    Moreover, a plurality of key blocks, for example, 1 to k may be specified in one recording and reproducing device 300, while a plurality of key blocks p and q may be specified in the other recording and reproducing devices 300. Additionally, a plurality of sharable key blocks may be provided.
  • [0000]
    (7) Process for Downloading from Recording and Reproducing Device to Recording Device
  • [0367]
    Next, a process for downloading content from the recording and reproducing device 300 to the external memory of the recording device 400 in the present data processing apparatus will be explained.
  • [0368]
    FIG. 22 is a flow chart illustrating a procedure for downloading a content from the recording and reproducing device 300 to the recording device 400. In this figure, the above described mutual authentication process is assumed to have been completed between the recording and reproducing device 300 and the recording device 400.
  • [0369]
    At step S51, the control section 301 of the recording and reproducing device 300 uses the read section 304 to read data of a predetermined format out from the medium 500 storing contents or uses the communication section 305 to receive data from the communication means 600 in accordance with a predetermined format. Then, the control section 301 of the recording and reproducing device 300 transmits the header section (see FIG. 4) of the data to the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300.
  • [0370]
    Next, at step S52, the control section 306 of the recording and reproducing device cryptography process section 302, which has received the header at step S51, causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the ICVa. The ICVa is calculated in accordance with the ICV calculation method described in FIG. 7, using as a key the integrity-check-value-A-generating key Kicva stored in the internal memory 307 of the recording and reproducing device cryptography process section 302 and using the content ID and the usage policy as a message, as shown in FIG. 23. The initial value may be IV=0 or may be the integrity-check-value-A-generating initial value IVa may be used which is stored in the internal memory 307 of the recording and reproducing device cryptography process section 302. Finally, the integrity check value A and the check value: ICVa stored in the header are compared together, and if they are equal, the process proceeds to step S53.
  • [0371]
    As previously described in FIG. 4, the check value A, ICVa, is used to verify that the content ID and the usage policy have not been tampered with. If the integrity check value A calculated in accordance with the ICV calculation method described in FIG. 7 equals the check value ICVa stored in the header, it is determined that the content ID and the usage policy have not been tampered with. The integrity check value A from one method in FIG. 7 uses, as a key, the integrity-check-value-A-generating key Kicva stored in the internal memory 307. It uses the content ID and the usage policy as a message.
  • [0372]
    Next, at step S53, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to generate the distribution key Kdis. The distribution key Kdis is generated, for example, as follows:
    Kdis=DES(MKdis,ContentIDφIVdis)  (4)
  • [0373]
    In this case, the MKdis denotes the master key for the distribution key for generating the distribution key Kdis The master key can be stored in the internal memory 307 of the recording and reproducing device 300 as described above. In addition, the content ID is identification information for the header section of content data. The IVdis denotes the initial value for the distribution key. Additionally, in the above equation (4), the DES( ) denotes a function that uses a first argument as cryptography key and that encrypts the value of a second argument. The operation φ denotes an exclusive OR executed every 64 bits.
  • [0374]
    At step S54, the control section 306 of the recording and reproducing device cryptography process section 302 uses the encryption/decryption section 308 of the cryptography process section 302, as well as the distribution key Kdis generated at step S53, to decrypt the block information table key Kbit and content key Knon (see FIG. 4). Kbit and Kdis are stored in the header section of the data obtained from the medium 500 via the read section 304 or received from the communication means 600 via the communication section 305. As shown in FIG. 4, the block information table key Kbit and the content key Knon are encrypted beforehand with the distribution key Kdis on the medium 500, such as a DVD or CD, or on a communication means 600 such as the Internet.
  • [0375]
    Further, at step S55, the control section 306 of the recording and reproducing device cryptography process section 302 uses the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to decrypt the block information table (BIT) with the block information table key Kbit decrypted at step S54. The block information table (BIT), as shown in FIG. 4, is encrypted beforehand with the block information table key Kbit on the medium 500 such as the DVD or CD, or the communication means 600 such as the Internet.
  • [0376]
    Further, at step S56, the control section 306 of the recording and reproducing device cryptography process section 302 divides the block information table key Kbit, the content key Kcon, and the block information table (BIT) into 8-byte pieces, which are all exclusive-ORed (any operation such as an addition or subtraction may be used). Next, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the integrity check value B (ICVb). The ICVb is generated by using as a key the integrity-check-value-B-generating key Kicvb stored in the internal memory 307 of the recording and reproducing device cryptography process section 302. This is done to decrypt the previously calculated exclusive-ORed value based on the DES, as shown in FIG. 24. Finally, the integrity check value B and the ICVb in the header are compared together, and if they are equal, the process proceeds to step S57.
  • [0377]
    As previously described in FIG. 4, the check value B, ICVb is used to verify that the block information table key Kbit, the content key Kcon, and the block information table (BIT) have not been tampered with. If the integrity check value B equals the check value ICVb stored in the header, it is determined that the block information table key Kbit, the content key Kcon, and the block information table have not been tampered with. The integrity check value B is generated by using, as a key, the integrity-check-value-B-generating key Kicvb stored in the internal memory 307, dividing the block information table key Kbit, the content key Kcon, and the block information table (BIT) into 8-byte pieces; exclusive-ORing these data; and encrypting the exclusive-ORed data based on the DES.
  • [0378]
    At step S57, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate an intermediate integrity check value. The intermediate value is calculated in accordance with the ICV calculation method described in FIG. 7. This is done using the total-integrity-check-value generating key Kicvt as a key. The key is stored in the internal memory 307 of the recording and reproducing device cryptography process section 302, and uses the integrity check values A and B and all the held content integrity check values as a message. The initial value may be IV=0 or the total-integrity-check-value-generating initial value IVt may be used. IVt is stored in the internal memory 307 of the recording and reproducing device cryptography process section 302. Additionally, the intermediate integrity check value generated is stored in the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300, as required.
  • [0379]
    This intermediate integrity check value is generated using the integrity check values A and B and all the content integrity check values as a message. Data verified by each of these integrity check values may be verified by collating them with the intermediate integrity check value. In this embodiment, however, a plurality of different integrity check values can be separately generated based on the intermediate integrity check value. This is done so that the process for verifying the absence of tamper which process is executed for shared data for the entire system and the verification process for identifying occupied data occupied only by each recording and reproducing device 300 after the download process can be distinguishably executed. The plurality of different integrity check values are, for instance, total integrity check values ICVt and the check value ICVdev unique to the recording and reproducing device 300. These integrity check values will be described later.
  • [0380]
    The control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the total integrity check value ICVt. The total integrity check value ICVt is generated by using as a key a system signature key Ksys to decrypt the intermediate integrity check value based on the DES. Ksys can be stored in the internal memory 307 of the recording and reproducing device cryptography process section 302. Finally, the total integrity check value ICVt generated and the ICVt in the header stored at step S51 are compared together, and if they are equal, the process proceeds to step S58. The system signature key Ksys is common to a plurality of recording and reproducing devices 300, that is, the entire system executing the process of recording and reproducing certain data.
  • [0381]
    As previously described in FIG. 4, the total integrity check value ICVt is used to verify that all of the integrity check values ICVa and ICVb and the integrity check value for each content block have not been tampered with. Thus, if the total integrity check value generated by means of the above-described process equals the integrity check value ICVt, stored in the header, it is determined that all of the integrity check values ICVa and ICVb and the integrity check value for each content block have not been tampered with.
  • [0382]
    Then at step S58, the control section 301 of the recording and reproducing device 300 takes content block information out from the block information table (BIT) and checks whether any content block is to be verified. If any content block is to be verified, the content integrity check value has been stored in the block information in the header.
  • [0383]
    If any content block is to be verified, the control section 301 reads this content block out from the medium 500 by using the read section 304 of the recording and reproducing device 300 or received from communicating means 600 by using the communication section 305 of the recording and reproducing device 300. Control section 301 transmits the content block to the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. On receiving the content block, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the content intermediate value.
  • [0384]
    The content intermediate value is generated by using the content key Kcon decrypted at step S54 to decrypt an input content block in the DES CBC mode, separating the resulting data into 8-byte pieces, and exclusive-ORing all these pieces (any operation such as an addition or subtraction may be used).
  • [0385]
    Then, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the content integrity check value. The content integrity check value is generated by using as a key the content-integrity-check-value-generating key Kicvc to decrypt the content intermediate value based on the DES. Kicvc is stored in the internal memory 307 of the recording and reproducing device cryptography process section 302. Then, the control section 306 of the recording and reproducing device cryptography process section 302 compares this content integrity check value with the ICV in the content block received from the control section 301 of the recording and reproducing device 300 at step S51. It then passes the result to the control section 301 of the recording and reproducing device 300. On receiving the result, and if the verification has been successful, the control section 301 of the recording and reproducing device 300 takes out the next content block to be verified and causes the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 to verify this content block. Similar verification processes are repeated until all the content blocks are verified. The initial value may be IV=0 or the content-integrity-check-value-generating initial value IVc used may be that which is stored in the internal memory 307 of the recording and reproducing device cryptography process section 302 (if the header generating side uses the same settings). Additionally, all the checked content integrity check values are held in the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. Furthermore, the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 monitors the order in which the content blocks are verified. This is done to consider whether the authentication has failed (if the order is incorrect) or if it verifies the same content block twice or more. If all the content blocks have been successfully verified, the process proceeds to step S59.
  • [0386]
    Then at step S59, the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to encrypt the block information table key Kbit and content key Kcon decrypted at step S54. This is done using the session key Kses made sharable during the mutual authentication. The control section 301 of the recording and reproducing device 300 reads the block information table key Kbit and content key Kcon from the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. The block information table key Kbit and content key Kcon being decrypted using the session key Kses. The control section 301 then transmits these data to the recording device 400 via the recording device controller 303 of the recording and reproducing device 300.
  • [0387]
    Then at step S60, on receiving the block information table key Kbit and content key Kcon transmitted from the recording and reproducing device 300, the recording device 400 causes the encryption/decryption section 406 of the recording device cryptography process section 401 to decrypt the received data using the session key Kses. Kses is made sharable during the mutual authentication. Encryption/decryption section 406 reencrypts the decrypted data with the storage key Kstr, which is unique to the recording device and is stored in the internal memory 405 of the recording device cryptography process 401. Finally, the control section 301 of the recording and reproducing device 300 reads the block information key Kbit and the content key Kcon out from the recording device 400 via the recording device controller 303 of the recording and reproducing device 300. The block information key Kbit and the content key Kcon can be reencrypted with the storage key Kstr. These are then substituted with the block information key Kbit and content key Kcon encrypted with the distribution key Kdis.
  • [0388]
    At step S61, the control section 301 of the recording and reproducing device 300 takes the localization field out from the usage policy in the header section of the data to determine whether the downloaded content can be used only in this recording and reproducing device 300 (in this case, the localization field is set to 1) or also by other similar recording and reproducing devices 300 (in this case, the localization field is set to 0). If the result of the determination shows that the localization field is set to 1, the process proceeds to step S62.
  • [0389]
    At step S62, the control section 301 of the recording and reproducing device 300 causes the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 to calculate the integrity check value unique to the recording and reproducing device 300. The integrity check value unique to the recording and reproducing device 300 is generated by using as a key a recording and reproducing device signature key Kdev to decrypt the intermediate integrity check value based on the DES, the intermediate integrity check value being held at step S58. Kdev is stored in the internal memory 307. The calculated integrity check value ICVdev unique to the recording and reproducing device 300 substitutes for the total integrity check value ICVt.
  • [0390]
    As previously described, the system signature key Ksys is used to add a common signature, or ICV, to the distribution system. The recording and reproducing device 300 signature key Kdev varies depending on the recording and reproducing device 300 and is used by the recording and reproducing device to add a signature or ICV. That is, data signed with the system signature key Ksys are successfully checked by a system (recording and reproducing device 300) having the same system signature key. Specifically, such data have the same total integrity check value ICVt so as to be sharable. If, however, data is signed with the recording and reproducing device signature key Kdev the data stored in a recording device after the signing cannot be reproduced if an attempt is made to reproduce it after this recording device has been inserted in another recording and reproducing device 300. That is, an error occurs due to the unequal integrity check values ICVdev unique to the recording and reproducing device 300.
  • [0391]
    Thus, in the data processing apparatus according to the present invention, the setting of the localization field enables contents to be arbitrarily set so as to be shared throughout the entire system or used only by particular recording and reproducing devices 300.
  • [0392]
    At step S63, the control section 301 of the recording and reproducing device 300 stores the content in the external memory 402 of the recording device 400.
  • [0393]
    FIG. 26 is a view showing how the content is stored in the recording device 400 if the localization field is set to 0. FIG. 27 is a view showing how the content is stored in the recording device 400 if the localization field is set to 1. The only difference between FIGS. 26 and 4 is whether the content block information key Kbit and the content key Kcon are encrypted with the distribution key Kdis or the storage key Kstr. The difference between FIGS. 27 and 26 is that the integrity check value calculated from the intermediate integrity check value is encrypted with the system signature key Ksys in FIG. 26, whereas it is encrypted with the recording and reproducing device signature key Kdev unique to the recording and reproducing device 300 in FIG. 27.
  • [0394]
    In the process flow of FIG. 22, if the verification of the integrity check value A has failed at step S52, if the verification of the integrity check value B has failed at step S56, if the verification of the total integrity check value ICVt has failed at step S57, or if the verification of the content block content integrity check value has failed at step S58, then the process proceeds to step S64 to provide a predetermined error display because the verification is no good.
  • [0395]
    In addition, if the localization field is 0 at step S61, the process skips step S62 to advance to step S63.
  • [0000]
    (8) Process Executed by Recording and Reproducing Device to Reproduce Information Stored in Recording Device
  • [0396]
    Next, a process executed by the recording and reproducing device 300 to reproduce content information stored in the external memory 402 of the recording device 400 is analyzed.
  • [0397]
    FIG. 28 illustrates a procedure executed by the recording and reproducing device 300 to read content out from the recording device 400 and use it. In FIG. 28, the mutual authentication is assumed to have been completed between the recording and reproducing device 300 and the recording device 400.
  • [0398]
    At step S71, the control section 301 of the recording and reproducing device 300 uses the recording device controller 303 to read the content out from the external memory 402 of the recording device 400. The control section 301 of the recording and reproducing device 300 then transmits the header section of the data to the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. Step S72 is similar to step S52 described in “(7) Process for Downloading from Recording and Reproducing Device to Recording Device.” At this step, the control section 306 of the recording and reproducing device cryptography process section 302, which has received the header, causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the integrity check value A. The integrity check value A is calculated in accordance with an ICV calculation method similar to that described in FIG. 7, using, as a key, the integrity-check-value-A-generating key Kicva and using the content ID and the usage policy as a message, as shown in FIG. 23. Kicva can be stored in the internal memory 307 of the recording and reproducing device cryptography process section 302.
  • [0399]
    As previously described, the check value A, ICVa, is used to verify that the content ID and the usage policy have not been tampered with. If the integrity check value A calculated in accordance with the ICV calculation method described in FIG. 7 equals the check value ICVa stored in the header, it is determined that the content ID and usage policy stored in the recording device 400 have not been tampered with. Integrity check value A is calculated using, as a key, the integrity-check-value-A-generating key Kicva stored in the internal memory 307 and using the content ID and the usage policy as a message.
  • [0400]
    Then at step S73, the control section 301 of the recording and reproducing device 300 takes the block information table key Kbit and the content key Kcon out from the read-out header section. It then transmits them to the recording device 400 via the recording device controller 303 of the recording and reproducing device 300. On receiving the block information table key Kbit and the content key Kcon transmitted from the recording and reproducing device 300, the recording device 400 causes the encryption/decryption section 406 of the recording device cryptography process section 401 to decrypt the received data with the storage key Kstr, and to then reencrypt the decrypted data using the session key Kses made sharable during the mutual authentication. Kstr is unique to the recording device which is stored in the internal memory 405. Then, the control section 301 of the recording and reproducing device 300 reads the block information key Kbit and the content key Kcon out from the recording device 400 via the recording device controller 303 of the recording and reproducing device 300. The block information key Kbit and the content key Kcon can be reencrypted with the session key Kses from the recording device 400.
  • [0401]
    Then at step S74, the control section 301 of the recording and reproducing device 300 transmits the received block information key Kbit and content key Kcon to the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. The block information key Kbit and content key Kcon can be reencrypted with the session key Kses.
  • [0402]
    On receiving the block information key Kbit and content key Kcon reencrypted with the session key Kses, the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to decrypt the block information key Kbit and content key Kcon encrypted with the session key Kses. This is done using the session key Kses made sharable during the mutual authentication. The recording and reproducing device cryptography process section 302 then causes the encryption/decryption section 308 to decrypt the block information table received at step S71. This is done using the decrypted block information table key Kbit.
  • [0403]
    The recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 substitutes the decrypted block information table key Kbit, content key Kcon, and block information table BIT with those received at step S71 for retention. In addition, the control section 301 of the recording and reproducing device 300 reads the decrypted block information table BIT out from the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300.
  • [0404]
    Step S75 is similar to step S56 described in “(7) Process for Downloading from Recording and Reproducing Device to Recording Device.” The control section 306 of the recording and reproducing device cryptography process section 302 divides the block information table key Kbit, content key Kcon, and block information table (BIT) read out from the recording device 400, into 8-byte pieces and then exclusive-ORs all of them. The control section 306 of the recording and reproducing device cryptography process section 302 then causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate BICVb. ICVb is generated by using as a key the integrity-check-value-B-generating key Kicvb stored in the internal memory 307 of the recording and reproducing device cryptography process section 302, as shown in the previously described FIG. 24. This is done to encrypt the previously calculated exclusive-ORed value based on the DES. Finally, the check value B and the ICVb in the header are compared together, and if they are equal, the process proceeds to step S76.
  • [0405]
    As previously described, the check value B, ICVb, is used to verify that the block information table key Kbit, the content key Kcon, and the block information table have not been tampered with. If the integrity check value B generated by using as a key the integrity-check-value-B-generating key Kicvb equals the check value ICVb stored in the header of the data read out from the recording device 400, it is determined that the block information table key Kbit, the content key Kcon, and the block information table have not been tampered with. Kicvb is stored in the internal memory 307. The block information table key Kbit, the content key Kcon, and the block information table (BIT) read from the recording device 400 are divided into 8-byte pieces. This data is exclusive-ORed. The exclusive-ORed data is encrypted based on the DES.
  • [0406]
    At step S76, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the intermediate integrity check value. The intermediate value is calculated in accordance with the ICV calculation method described in FIG. 7 or the like. This is done using the total-integrity-check-value-generating key Kicvt as a message. Kicvt is stored in the internal memory 307. Kicvt incorporates the integrity check values A and B and all the held content integrity check values. The initial value may be IV=0 or the total-integrity-check-value-generating initial value IVt may be used. Additionally, the intermediate integrity check value is stored in the recording and reproducing device cryptography process section 302.
  • [0407]
    Then at step S77, the control section 301 of the recording and reproducing device 300 takes the localization field out from the usage policy (contained in the header section of the data read out from the external memory 402 of the recording device 400), to determine whether the downloaded content can be used only in this recording and reproducing device 300 (in this case, the localization field is set to 1), or also by other similar recording and reproducing devices 300 (in this case, the localization field is set to 0). If the result of the determination shows that the localization field is set to 1, that is, the process proceeds to step S80. A value of 1 means that it is set such that the downloaded content can be used only in this recording and reproducing device 300. If the localization is set to 0, then the process proceeds to step S78. A value of 0 means that it is set such that the content can also be used by other similar recording and reproducing device 300. Step S77 may be processed by the cryptography process section 302.
  • [0408]
    At step S78, the total integrity check value ICVt is calculated in the same manner as step S58 described in “(7) Process for Downloading from Recording and Reproducing Device to Recording Device.” That is, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the total integrity check value ICVt. The total integrity check value ICVt is generated by using a system signature key Ksys as a key to encrypt the intermediate integrity check value based on the DES, as shown in FIG. 25. Ksys can be stored in the internal memory 307 of the recording and reproducing device cryptography process section 302.
  • [0409]
    Then the process proceeds to step S79 to compare the total integrity check value ICVt generated at step S78 with the ICVt in the header stored at step S71. If the values are equal, the process proceeds to step S82.
  • [0410]
    As previously described, the total integrity check value ICVt is used to verify that the integrity check values ICVa and ICVb and all the content block integrity check values have not been tampered with. Thus, if the total integrity check value generated by means of the above described process equals the integrity check value ICVt stored in the header, it is determined that the integrity check values ICVa and ICVb and all the content block integrity check values have not been tampered with in the data stored in the recording device 400.
  • [0411]
    If the result of the determination at step S77 shows that the localization field is set such that the downloaded content can be used only in this recording and reproducing device 300, that is, it is set to 1, the process proceeds to step S80.
  • [0412]
    At step S80, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the integrity check value ICVdev unique to the recording and reproducing device 300. The integrity check value ICVdev unique to the recording and reproducing device 300 is generated, as shown in the previously described FIG. 25, by using a recording and reproducing device signature key Kdev as a key to encrypt the intermediate integrity check value based on the DES, the intermediate integrity check value being held at step S58. Kdev is unique to the recording and reproducing device, and is stored in the internal memory 307. At step S81, the check value ICVdev (unique to the recording and reproducing device 300) calculated at step S80 is compared with the ICVdev stored at step S71. If they are equal, the process proceeds to step S82.
  • [0413]
    Thus, data signed with the same system signature key Ksys are successfully checked by a system (recording and reproducing device 300) having the same system signature key. That is, such data have the same total integrity check value ICVt so as to be sharable. If, however, data is signed with the recording and reproducing device signature key Kdev, the data stored in a recording device 400 after the signing cannot be reproduced if an attempt is made to reproduce them after this recording device 400 has been inserted in another recording and reproducing device 400. That is, an error occurs due to a mismatch in the integrity check value ICVdev unique to the recording and reproducing device 300. Accordingly, the setting of the localization field enables content to be arbitrarily set so as to be shared throughout the entire system or used only by particular recording and reproducing devices 300.
  • [0414]
    At step S82, the control section 301 of the recording and reproducing device 300 takes content block information out from the block information table (BIT) (read out at step S74) and checks whether any content block is to be encrypted. If any content block is to be encrypted, the control section 301 reads this content block out from the external memory 402 of the recording device 400 via the recording device controller 303 of the recording and reproducing device 300. It then transmits the content block to the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. On receiving the content block, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to decrypt the content. The control section 306 also causes the encryption/decryption section 308 to calculate the content integrity check value at step S83, if the content block is to be verified.
  • [0415]
    Step S83 is similar to step S58 described in “(7) Process for Downloading from Recording and Reproducing Device to Recording Device.” The control section 301 of the recording and reproducing device 300 takes content block information out from the block information table (BIT) and determines from the stored content integrity check value whether any content block is to be verified. If any content block is to be verified, the control section 301 receives this content block from the external memory 402 of the recording device 400 and transmits it to the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. On receiving the content block, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the content intermediate value.
  • [0416]
    The content intermediate value is generated by using the content key Kcon (decrypted at step S74) to decrypt the input content block in the DES CBC mode, separating the resulting data into 8-byte pieces, and exclusive-ORing all these pieces.
  • [0417]
    Then, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the content integrity check value. The content integrity check value is generated by using as a key the content-integrity-check-value-generating key Kicvc to encrypt the content intermediate value based on the DES. Kicvc is stored in the internal memory 307. Then, the control section 306 of the recording and reproducing device cryptography process section 302 compares this content integrity check value with the ICV in the content block received from the control section 301 of the recording and reproducing device 300 at step S71, and passes the result to the control section 301 of the recording and reproducing device 300. On receiving the result (and if the verification has been successful), the control section 301 of the recording and reproducing device 300 takes out the next content block to be verified. It causes the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 to verify this content block. Similar verification processes are repeated until all the content blocks are verified. The initial value may be IV=0 or the content-integrity-check-value-generating initial value IVc may be used which is stored in the internal memory 307 of the recording and reproducing device cryptography process section 302. Additionally, all the checked content integrity check values are held in the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. Furthermore, the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 monitors the order in which the content blocks are verified. This is done to consider the authentication to have failed if the order is incorrect or if it is caused to verify the same content block twice or more.
  • [0418]
    The control section 301 of the recording and reproducing device 300 receives the result of the comparison of the content integrity check value. If no content block is to be verified, all the results of comparisons will be successful. If the verification has been successful, it takes the decrypted content from the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. It then takes out next content block to be verified and causes the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 to decrypt this content block. Similar verification processes are repeated until all the content blocks are decrypted.
  • [0419]
    At step S83, if the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 determines after the verification process that the content integrity check values are not equal, it considers the verification to have failed and avoids decrypting the remaining contents. In addition, the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 monitors the order in which the content blocks are decrypted. This is done to consider the decryption to have failed if the order is incorrect or if it is caused to decrypt the same content block twice or more.
  • [0420]
    If the verification of the integrity check value A has failed at step S72, if the verification of the integrity check value B has failed at step S75, if the verification of the total integrity check value ICVt has failed at step S79, if the verification of the integrity check value ICVdev unique to the recording and reproducing device 300 has failed at step S81, or if the verification of the content block content integrity check value has failed at step S81, then the process proceeds to step S84 to provide a predetermined error display because the verification is no good.
  • [0421]
    As described above, not only important data or content can be encrypted, concealed, or checked for tampering when the content is downloaded or used. This can be done even if data on a recording medium are simply copied to another recording medium. The content can be prevented from being correctly decrypted because the block information table key Kbit (for decrypting the block information table BIT) and the content key Kcon (for decrypting the content) are stored with the storage key Kstr unique to the recording medium. More specifically, at step S74 in FIG. 28, another recording device 400 cannot decrypt the data correctly because each recording device 400 decrypts data encrypted with a different storage key Kstr.
  • [0000]
    (9) Key Exchanging Process after Mutual Authentication
  • [0422]
    The data processing apparatus according to the present invention is partly characterized in that the recording device 400 can be used only after the above described mutual authentication process between the recording and reproducing device 300 and the recording device 400, and also in that the use form of the recording device is limited.
  • [0423]
    For example, to prevent a user from generating a recording device 400 such as a memory card, in which content is stored by means of illegal copying or the like, and setting this recording device 400 in a recording and reproducing device 300 for use, the mutual authentication process is executed between the recording and reproducing device 300 and the recording device 400. Content (that may be encrypted) can be transferred between the recording and reproducing device 300 and the recording device 400 only if they have been mutually authenticated.
  • [0424]
    To achieve the above restrictive process, according to the present data processing apparatus, all the processes in the cryptography process section 401 of the recording device 400 are executed based on preset command strings. That is, the recording device 400 has such a command process configuration that it sequentially obtains commands from a register based on command numbers. FIG. 29 is a view illustrating the command process configuration of the recording device 400.
  • [0425]
    As shown in FIG. 29, between the recording and reproducing device 300 having the recording and reproducing device cryptography process section 302 and the recording device 400 having the recording device cryptography process section 401, command numbers (No.) are output from the recording device controller 303 to the communication section (including a reception register) 404 of the recording device 400 under the control of the control section 301 of the recording and reproducing device 300.
  • [0426]
    The recording device 400 has a command number managing section 2901 in the control section 403 of the cryptography process section 401. The command number managing section 2901 holds a command register 2902. Command register 2902 stores command strings corresponding to command numbers output from the recording and reproducing device 300. In the command strings, command numbers 0 to y are sequentially associated with execution commands (as shown in the right of FIG. 29). The command number managing section 2901 monitors command numbers output from the recording and reproducing device 300 to take corresponding commands out from a command register 2902 for execution.
  • [0427]
    In command sequences stored in the command register 2902, a command string for an “authentication process sequence” is associated with the leading command numbers 0 to k. Furthermore, command numbers p to s following the command string for the authentication process sequence are associated with a “decryption, key exchange, and encryption process command sequence 1,” and the following command numbers u to y are associated with a “decryption, key exchange, and encryption process command sequence 2.”
  • [0428]
    As previously described for the authentication process flow in FIG. 20, when the recording device 400 is installed in the recording and reproducing device 300, the control section 301 of the recording and reproducing device 300 transmits an initialization command to the recording device 400 via the recording device controller 303. On receiving the command, the recording device 400 causes the control section 403 of the recording device cryptography process section 401 to receive the command via the communication section 404. It then clears an authentication flag 2903. That is, an unauthenticated state is set. Alternatively, in such a case that power is supplied from the recording and reproducing device 300 to the recording device 400, the unauthenticated state may be set upon power-on.
  • [0429]
    Then, the control section 301 of the recording and reproducing device 300 transmits an initialization command to the recording and reproducing device cryptography process section 302. At this point, it also transmits a recording device insertion port number. When the recording device insertion port number is transmitted, even if a plurality of recording devices 400 are connected to the recording and reproducing device 300, the recording and reproducing device 300 can simultaneously execute authentication with these recording devices 400 and transmit and receive data thereto and therefrom.
  • [0430]
    On receiving the initialization command, the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 causes the control section thereof to clear the authentication flag 2903 corresponding to the recording device insertion port number. That is, the unauthenticated state is set.
  • [0431]
    Once this initialization process has been completed, the control section 301 of the recording and reproducing device 300 sequentially outputs command numbers via the recording device controller 303. This is done in an ascending order starting with the command number 0. The command number managing section 2901 of the recording device 400 monitors the command numbers input from the recording and reproducing device 300 to ascertain that they are sequentially input starting with the command number 0. It obtains the corresponding commands from the command register 2902 to execute various processes, such as the authentication process. If the input command numbers are not in a specified order, an error occurs and a command number acceptance value is reset to an initial state. That is, an executable command number is reset at 0.
  • [0432]
    In the command sequences stored in the command register 2902, the command numbers are imparted so as to carry out the authentication process first. Following this process sequence, the key exchange is decrypted, and an encryption process sequence is stored.
  • [0433]
    A specific example of decrypting the key exchange and the encryption process sequence will be explained with reference to FIGS. 30 and 31.
  • [0434]
    FIG. 30 shows part of the process executed in downloading content from the recording and reproducing device 300 to the recording device 400 as previously described in FIG. 22. Specifically, this process is executed between steps 59 and 60 in FIG. 22.
  • [0435]
    In FIG. 30, at step S3001, the recording device 400 receives data (ex. the block information table Kbit and the content key Kcon) encrypted with the session key Kses, from the recording and reproducing device 300. Thereafter, the command strings p to s (shown in the above described FIG. 29) are started. The command strings p to s are started after the authentication process commands 0 to k have been completed to cause authentication flag 2903 (shown in FIG. 29) to be set to indicate the completion. This is ensured by the command number managing section 2901 by accepting the command numbers only in the ascending order starting with 0.
  • [0436]
    At step S3002, the recording device stores the data (ex. the block information table Kbit and the content key Kcon) received from the recording and reproducing device 300 and encrypted with the session key Kses, in the register.
  • [0437]
    At step S3003, a process is executed which takes the data (ex. the block information table Kbit and the content key Kcon) encrypted with the session key Kses out from the register and decrypts them with the session key Kses.
  • [0438]
    At step S3004, a process is executed which encrypts the data (ex. the block information table Kbit and the content key Kcon) decrypted with the session key Kses, using the storage key Kstr.
  • [0439]
    The above process steps 3002 to 3004 correspond to processes included in the command numbers p to s in the command register previously described in FIG. 29. These processes are sequentially executed by the recording device cryptography process section 401 in accordance with the command numbers p to s received by the command number managing section 2901 of the recording device 400 from the recording and reproducing device 300.
  • [0440]
    At the next step S3005, the data (ex. the block information table Kbit and the content key Kcon), encrypted with the storage key Kstr, are stored in the external memory of the recording device. At this step, the recording and reproducing device 300 may read the data encrypted with the storage key Kstr out from the recording device cryptography process section 401 and then stores them in the external memory 402 of the recording device 400.
  • [0441]
    The above described steps S3002 to S3004 constitute an uninterruptible, continuously-executed execution sequence. This is done even if, for example, the recording and reproducing device 300 issues a data read command at the end of the decryption process at step S3003. Since this read command differs from the command numbers p to s set in the command register 2902 in the ascending order, the command number managing section 2901 does not accept execution of the read command. Accordingly, the decrypted data resulting from the key exchange in the recording device 400 cannot be read out by an external device, for example, the recording and reproducing device 300, thereby preventing key data or contents from being illegally read out.
  • [0442]
    FIG. 31 shows part of the content reproducing process, previously described in FIG. 28, in which content is read out from the recording device 400 and reproduced by the recording and reproducing device 300. Specifically, this process is executed at step S73 of FIG. 28.
  • [0443]
    In FIG. 31, at step S3101, the data (ex. the block information table Kbit and the content key Kcon), encrypted with the storage key Kstr, are read out from the external memory 402 of the recording device 400.
  • [0444]
    At step S3102, the data (ex. the block information table Kbit and the content key Kcon), read out from the memory of the recording device 400 and encrypted with the storage key Kstr, are stored in the register. At this step, the recording and reproducing device 300 may read the data encrypted with the storage key Kstr out from the external memory 402 of the recording device 400 and then store them in the register of the recording device 400.
  • [0445]
    At step S3103, the data (ex. the block information table Kbit and the content key Kcon), encrypted with the storage key Kstr, are taken out from the register and decrypted with the storage key Kstr.
  • [0446]
    At step S3104, the data (ex. the block information table Kbit and the content key Kcon), decrypted with the storage key Kstr, are encrypted with the session key Kses.
  • [0447]
    The above process steps 3102 to 3104 correspond to processes included in the command numbers u to y in the command register previously described in FIG. 29. These processes are sequentially executed by the recording device cryptography process section 406 in accordance with the command numbers u to y received by the command number managing section 2901 of the recording device from the recording and reproducing device 300.
  • [0448]
    At the next step S3105, the data (ex. the block information table Kbit and the content key Kcon) encrypted with the session key Kses are transmitted from the recording device 400 to the recording and reproducing device 300.
  • [0449]
    The above described steps S3102 to S3104 constitute an uninterruptible continuously-executed execution sequence. This is done even if, for example, the recording and reproducing device 300 issues a data read command at the end of the decryption process at step S3103. Since this read command differs from the command numbers u to y set in the command register 2902 in the ascending order, the command number managing section 2901 does not accept execution of the read command. Accordingly, the decrypted data resulting from the key exchange in the recording device 400 cannot be read out by an external device, for example, the recording and reproducing device 300, thereby preventing key data or contents from being illegally read out.
  • [0450]
    For the process shown in FIGS. 30 and 31, the example is shown where the block information table key Kbit and the content key Kcon are decrypted and encrypted by means of key exchange. These command sequences, stored in the command register 2902 (shown in FIG. 29), may include decryption and encryption processes involving key exchanges for the content itself. The object to be decrypted or encrypted by means of key exchanges is not limited to the above-described example.
  • [0451]
    The key exchange process after the mutual authentication in the present data processing apparatus has been described. Thus, the key exchange process in the present data processing apparatus can be carried out only after the authentication process between the recording and reproducing device 300 and the recording device 400 has been completed. Further, decrypted data can be prevented from being externally accessed during the key exchange process, thereby ensuring the improved security of contents and key data.
  • [0000]
    (10) Plural Content Data Formats and Download and Reproduction Processes Corresponding to Each Format
  • [0452]
    In the above-described embodiment, for example, the data format for the medium 500 or communication means 600 shown in FIG. 3 is of the type shown in FIG. 4. The data format for the medium 500 or the communication means 600 is not limited to the one shown in FIG. 4, but preferably depends on the content (e.g., music, image data, a program such as a game, or the like). A plurality of data formats as well as processes for downloading and reproducing data from and to the recording device 400 will be explained.
  • [0453]
    FIGS. 32 to 35 show four different data formats. A data format used on the medium 500 or the communication means 600 (shown in FIG. 3) is shown in the left of each figure, while a data format used in storing data in the external memory 402 of the recording device 400 is shown in the right of each figure. An outline of the data formats shown in FIGS. 32 to 35 will first be provided, and the contents of each data in each format and differences among data in each format will be explained.
  • [0454]
    FIG. 32 shows a format type 0, which is of the same type as that shown as an example in the above description. The format type 0 is characterized in that the entire data is divided into N data blocks each having an arbitrary size. That is, blocks 1 to N, each of which is arbitrarily encrypted so that data can be configured by mixing together encrypted blocks and non-encrypted blocks (i.e., plain text blocks). The blocks are encrypted with the content key Kcon, which is encrypted with the distribution key Kdis on the medium 500 or with the storage key Kstr stored in the internal memory 405 of the recording device 400 when it is stored in the recording device 400. The block information key Kbit is also encrypted with the distribution key Kdis on the medium 500 or with the storage key Kstr stored in the internal memory 405 of the recording device 400 when it is stored in the recording device 400. These key exchanges are carried out in accordance with the process described in “(9) Key Exchange Process after Mutual Authentication.”
  • [0455]
    FIG. 33 shows a format type 1, in which the entire data is divided into N data blocks. That is, blocks 1 to N, as in the format type 0, but which differ from the format type 0 in that the N blocks are all of the same size. The aspect of the process for encrypting blocks with the content key Kcon is similar to that in the format type 0. Additionally, as in the above described format type 0, the content key Kcon and the block information table key Kbit are encrypted with the distribution key Kdis on the medium 500 or with the storage key Kstr stored in the internal memory 405 of the recording device 400 when it is stored in the recording device 400. Unlike the format type 0, the format type 1 has a fixed block configuration to simplify configuration data such as data length for each block, thereby enabling a memory size for block information to be reduced compared to the format type 0.
  • [0456]
    In the example shown in FIG. 33, each block comprises a set of an encrypted part and a non-encrypted (plain text) part. If the length and configuration of the block are thus regular, each block length or configuration need not be checked during the decryption process or the like, thereby enabling efficient decryption and encryption processes. In the format 1, the parts constituting each block, the encrypted part and the non-encrypted (plain text) part, can each be defined as an object to be checked, so that the content integrity check value ICVi is defined for a block containing a part that must be checked.
  • [0457]
    FIG. 34 shows a format type 2. Format type 2 is characterized in that the data is divided into N data blocks all having the same size. Blocks 1 to N are each encrypted with an individual block key Kblc. Each block key Kblc is encrypted with the content key Kcon. Kcon is encrypted with the distribution key Kdis on the medium 500 or with the storage key Kstr stored in the internal memory 405 of the recording device 400 when it is stored in the recording device 400. The block information table key Kbit is also encrypted with the distribution key Kdis on the medium or with the storage key Kstr stored in the internal memory of the recording device when it is stored in the recording device.
  • [0458]
    FIG. 35 shows a format type 3. Format type 3 is characterized in that the data is divided into N data blocks all having the same size. Blocks 1 to N, are each encrypted with an individual block key Kblc, as in the format type 2. Each block key Kblc is encrypted with the distribution key Kdis on the medium 500 or with the storage key Kstr on the recording device 400, without the use of the content key. No content key Kcon is present on the medium 500 or on the device 400. The block information table key Kbit is encrypted with the distribution key Kdis on the medium 500 or with the storage key Kstr stored in the internal memory 405 of the recording device 400 when it is stored in the recording device 400.
  • [0459]
    Next, the contents of the data in the above format types 0 to 3 will be described. As previously described, the data are roughly divided into two sections, namely, the header section and the content section. The header section contains the content ID, the usage policy, the integrity check values A and B, the total integrity check value, the block information table key, the content key, and the block information table.
  • [0460]
    The usage policy stores the data length of content, its header length, its format type (formats 0 to 3 described below), and content type indicating whether the content is a program or data. It also stores a localization flag. The localization flag determines whether the content can be used only by a particular recording and reproducing device 300 (as described in the section relating to the processes for downloading and reproducing a content to and from the recording device 400). The usage policy also stores a permission flag for a content copying or moving process, and various localization and process information for the content (such as a content encryption algorithm and a mode).
  • [0461]
    The integrity check value A, ICVa, is used to check the content ID and the usage policy. ICVa is generated using, for example, the method described in the above-described FIG. 23.
  • [0462]
    The block information table key Kbit is used to encrypt a block information table. It is encrypted with the distribution key Kdis on the medium 500 or with the storage key Kstr stored in the internal memory 405 of the recording device 400 when it is stored in the recording device 400, as previously described.
  • [0463]
    The content key Kcon is used to encrypt content. For the format types 0 and 1, it is encrypted with the distribution key Kdis on the medium 500 or with the storage key Kstr stored in the internal memory 405 of the recording device 400 when it is stored in the recording device 400, similarly to the block information table key Kbit. For the format type 2, the content key Kcon is also used to encrypt the block key Kblc configured for each content block. Additionally, for the format type 3, no content key Kcon is present.
  • [0464]
    The block information table describes information on the individual blocks and stores the size of each block and a flag indicating whether the block has been encrypted. That is, the block information table stores information indicating whether or not the block is to be checked (ICV). If the block is to be checked, the block integrity check value ICVi (the integrity check value for the block i) is defined and stored in the table. This block information table is encrypted with the block information table key Kbit.
  • [0465]
    If the block has been encrypted, the block integrity check value (the content integrity check value ICVi) is generated by exclusive-ORing the entire plain text (decrypted text) every 8 bytes, and then encrypting the obtained value with the content-integrity-check-value-generating key Kicvc stored in the internal memory 307. Additionally, if the block has not been encrypted, the block integrity check value is generated by sequentially inputting the entire block data (plain text) to a tamper-check-value-generating function shown in FIG. 36 (DES-CBC-MAC using the content-integrity-check-value-generating key Kicvc) in such a manner that 8 bytes are input each time. FIG. 36 shows an example of a configuration for generating the content block integrity check value ICVi. Each message M constitutes a set of 8 bytes of decrypted text data or plain text data.
  • [0466]
    For the format type 1, if at least one of the parts in the block is data to be processed with the integrity check value ICVi, (that is, a part to be checked), the content integrity check value ICVi is defined for that block. An integrity check value P-ICVij (for a part j of a block I) is generated by exclusive-ORing the entire plain text (decrypted text) every 8 bytes and then encrypting the obtained data with the content-integrity-check-value-generating value Kicvc. In addition, if a part j has not bee encrypted, the integrity check value P-ICVij is generated by sequentially inputting the entire block data (plain text) to the tamper-check-value-generating function shown in FIG. 36 (DES-CBC-MAC using the content-integrity-check-value-generating key Kicvc) in such a manner that 8 bytes are input each time.
  • [0467]
    Further, if the block i contains one part having [ICV flag=subject of ICV] indicating that it is to be checked, the integrity check value P-ICVij generated using the above method is directly used as the block integrity check value ICVi. If the block i contains a plurality of parts having [ICV flag=subject of ICV] indicating that they are to be checked, the integrity check value P-ICVij is generated by connecting a plurality of parts integrity check values P-ICVij together in accordance with part numbers to obtain data and sequentially inputting the entire data (plain data) to the temper-check-value-generating function shown in FIG. 37 (DES-CBC-MAC using the content-integrity-check-value-generating key Kicvc) in such a manner that 8 bytes are input each time. FIG. 37 shows an example of configuration for generating the content block content integrity check value ICVi.
  • [0468]
    The block integrity check value ICVi is not defined for the format types 2 or 3.
  • [0469]
    The integrity check value B, ICVb, is used to check the block information table key, the content key, and the entire block information table. It is generated using, for example, the method described in FIG. 24.
  • [0470]
    The total integrity check value, ICVt, is used to check the entirety of the previously described ICVa and ICVb, and the integrity check value ICVi contained in each block of the content to be checked. ICVt is generated by applying the system signature key Ksys to the intermediate integrity check value generated from each integrity check value, such as the integrity check value ICVa, to execute the encryption process as described in FIG. 25.
  • [0471]
    For the format types 2 and 3, the total integrity check value ICVt is generated by applying the system signature key Ksys to the intermediate integrity check value generated by connecting the previously described integrity check values ICVa and ICVb to the content data (the entire content data between the block key in block 1 and the final block), to execute the encryption process. FIG. 38 shows an example of a configuration for generating the total integrity check value ICVt for the format types 2 and 3.
  • [0472]
    The unique integrity check value ICVdev is substituted with the total integrity check value ICVt if the previously described localization flag is set to 1. That is, it indicates that the content can be used only by a particular recording and reproducing device. For the format types 0 and 1, the unique integrity check value ICVdev is generated to check the previously described integrity check values ICVa and ICVb and the integrity check value ICVi contained in each block of the content to be checked. Specifically, the unique integrity check value ICVdev is generated by applying the recording and reproducing device signature key Kdev to the intermediate integrity check value generated from the integrity check values such as the integrity check value ICVa, as explained in the description of FIG. 25 or 38.
  • [0473]
    Next, processes for downloading content of each of the format types 0 to 3 from the recording and reproducing device 300 to the recording device 400, and processes executed by the recording and reproducing device 300 to reproduce a content of each of the format types 0 to 3 from the recording device 400, will be described with reference to the flow charts in FIGS. 39 to 44.
  • [0474]
    First, the process for downloading content of the format type 0 or 1 will be explained with reference to FIG. 39.
  • [0475]
    The process shown in FIG. 39 is started, for example, by installing the recording device 400 into the recording and reproducing device 300. At step S101, authentication is executed between the recording and reproducing device 300 and the recording device 400, and this step is carried out in accordance with the authentication process flow previously described in FIG. 20.
  • [0476]
    If the authentication process at step S101 has been completed to set the authentication flag, then at step S102, the recording and reproducing device 300 reads data of a predetermined format from the medium 500 via the read section 304, the medium 500 storing content data, or uses the communication section 305 to receive data from the communication means 600 in accordance with a predetermined format. Then, the control section 301 of the recording and reproducing device 300 transmits the header section of the data to the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300.
  • [0477]
    Next, at step S103, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the integrity check value A. The integrity check value A is calculated in accordance with the ICV calculation method described in FIG. 7. It uses as a key the integrity-check-value-A-generating key Kicva stored in the internal memory 307 of the recording and reproducing device cryptography process section 302. It uses the content ID and the usage policy as a message, as shown in FIG. 23. Then at step S104, the integrity check value A and the check value ICVa stored in the header are compared together. If they are equal, the process proceeds to step S105.
  • [0478]
    As previously described, the check value A, ICVa is used to verify that the content ID and the usage policy have not been tampered with. If the integrity check value A calculated, for example, in accordance with the ICV calculation, (using as a key the integrity-check-value-A-generating key Kicva stored in the internal memory 307 and using the content ID and the usage policy as a message), equals the check value ICVa stored in the header, it is determined that the content ID and the usage policy have not been tampered with.
  • [0479]
    Next, at step S105, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to obtain or generate the distribution key Kdis. The distribution key Kdis is generated using, for example, the master key MKdis for the distribution key, as in step S53 in the previously described FIG. 22.
  • [0480]
    Then at step S106, the control section 306 of the recording and reproducing device cryptography process section 302 uses the encryption/decryption section 308 as well as the generated distribution key Kdis, to decrypt the block information table key Kbit and content key Knon stored in the header section of the data obtained from the medium 500 via the read section 304 or received from the communication means 600 via the communication section 305.
  • [0481]
    Further, at step S107, the control section 306 of the recording and reproducing device cryptography process section 302 uses the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to decrypt the block information table with the decrypted block information table key Kbit.
  • [0482]
    Further, at step S108, the control section 306 of the recording and reproducing device cryptography process section 302 calculates the integrity check value B (ICVb′) from the block information table key Kbit, the content key Kcon, and the block information table (BIT). The integrity check value B is generated, as shown in FIG. 24, to decrypt an exclusive-ORed value based on the DES. This is done by using the integrity-check-value-B-generating key Kicvb stored in the internal memory 307. The exclusive-ORed value comprises the block information table key Kbit, the content key Kcon, and the block information table (BIT). Then at step S109, the ICVb′ and the ICVb in the header are compared together, and if they are equal, the process proceeds to step S110.
  • [0483]
    As previously described, the check value B, ICVb, is used to verify that the block information table key Kbit, the content key Kcon, and the block information table have not been tampered with. If the integrity check value B ICVb′ equals the check value ICVb stored in the header, it is determined that the block information table key Kbit, the content key Kcon, and the block information table have not been tampered with. As described earlier, ICVb′ is generated by using the integrity-check-value-B-generating key Kicvb; dividing the block information table key Kbit, the content key Kcon, and the block information table (BIT) into 8-byte pieces; exclusive-ORing these data; and encrypting the exclusive-ORed data based on the DES.
  • [0484]
    At step S110, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the intermediate integrity check value. The intermediate value is calculated in accordance with the ICV calculation method described in FIG. 7 or the like. This is done using the total-integrity-check-value-generating key Kicvt as a key and using the integrity check values A and B and all the held content integrity check values as a message. Kicvt is stored in the internal memory 307. The intermediate integrity check value generated is stored in the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300, as required.
  • [0485]
    Next, at step S111, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the total integrity check value ICVt′. As shown in FIG. 25, the total integrity check value ICVt is generated by using a system signature key Ksys as a key to encrypt the intermediate integrity check value based on the DES. Ksys is stored in the internal memory. Then at step S112, the total integrity check value ICVt generated and the ICVt′ in the header stored at step S112 are compared together, and if they are equal, the process proceeds to step S113.
  • [0486]
    As previously described in FIG. 4, the total integrity check value ICVt is used to verify that all of the integrity check values ICVa and ICVb and the integrity check value for each content block have not been tampered with. Thus, if the total integrity check value generated by means of the above described process equals the integrity check value ICVt stored in the header, it is determined that all of the integrity check values ICVa and ICVb and the integrity check value for each content block have not been tampered with.
  • [0487]
    Then at step S113, the control section 301 of the recording and reproducing device 300 takes content block information out from the block information table (BIT) and checks whether any content block is to be verified. If any content block is to be verified, the content integrity check value has been stored in the block information in the header.
  • [0488]
    If any content block is to be verified, then at step S114, the control section 301 reads this content block out from the medium 500 (using the read section 304 of the recording and reproducing device 300) or receives it from the communicating means 600 (by using the communication section 305 of the recording and reproducing device 300), and transmits the content block to the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. On receiving the content block, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the content integrity check value ICVi′.
  • [0489]
    If the block has been encrypted, the content integrity check value ICVi is generated by decrypting the input content block in the DES CBC mode using the content key Kcon. Then it exclusive-ORs all of the decrypted text every 8 bytes. And then it encrypts the generated content intermediate value with the content-integrity-check-value-generating key Kicvc stored in the internal memory 307 of the recording and reproducing device 300. Additionally, if the block has not been encrypted, the content integrity check value is generated by sequentially inputting the entire block data (plain text) to the tamper-check-value-generating function shown in FIG. 36 (DES-CBC-MAC using the content-integrity-check-value-generating key Kicvc) in such a manner that 8 bytes are input each time.
  • [0490]
    Then at step S115, the control section 306 of the recording and reproducing device cryptography process section 302 compares this content integrity check value with the ICV in the content block received from the control section 301 of the recording and reproducing device 300 at step S102. And it passes the result to the control section 301 of the recording and reproducing device 300. On receiving the result (and if the verification has been successful), the control section 301 of the recording and reproducing device 300 takes out the next content block to be verified and causes the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 to verify this content block. Similar verification processes are repeated until all the content blocks are verified (step S116).
  • [0491]
    In this regard, if the check values are not equal at any of steps 104, 109, 112, and 115, an error occurs to end the download process.
  • [0492]
    Then at step S117, the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to encrypt the block information key Kbit and content key Kcon decrypted at step S106. This is performed using the session key Kses made sharable during the mutual authentication. The control section 301 of the recording and reproducing device 300 reads the block information table key Kbit and the content key Kcon out from the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 and then transmits them to the recording device 400 via the recording device controller 303 of the recording and reproducing device 300.
  • [0493]
    Then at step S118, the recording device 400 causes the encryption/decryption section 406 of the recording device cryptography process section 401 to decrypt the received data with the session key Kses (made sharable during the mutual authentication). Step 118 is performed upon receiving the block information table key Kbit and the content key Kcon that is transmitted from the recording and reproducing device 300. The decrypted data in then reencrypted using the storage key Kstr, which is unique to the recording device which is stored in the internal memory 405 of the recording device cryptography process 401. Then, the control section 301 of the recording and reproducing device 300 reads the block information key Kbit and the content key Kcon out from the recording device 400 via the recording device controller 303 of the recording and reproducing device 300. The block information key Kbit and the content key Kcon can be reencrypted with the storage key Kstr. That is, the block information table key Kbit encrypted with the distribution key Kdis is exchanged with the content key Kcon.
  • [0494]
    Then at step S119, the control section 301 of the recording and reproducing device 300 takes the localization field out from the usage policy in the header section of the data. This is done to determine whether the downloaded content can be used only in this recording and reproducing device 300. If the localization field is set to 1, the downloaded content can be used only by the recording and reproducing device 300. If the localization field is set to 0, the downloaded content can also be used by other similar recording and reproducing devices 300. If the result of the determination shows that the localization field is set to 1, the process proceeds to step S120.
  • [0495]
    At step S120, the control section 301 of the recording and reproducing device 300 causes the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 to calculate the integrity check value unique to the recording and reproducing device 300. The integrity check value unique to the recording and reproducing device 300 is generated by using as a key a recording and reproducing device signature key Kdev stored in the internal memory 307 of the recording and reproducing device cryptography process section 302. This is performed to encrypt the intermediate integrity check value based on the DES. The intermediate integrity check value can be generated at step S110. The calculated integrity check value ICVdev unique to the recording and reproducing device 300 substitutes for the total integrity check value ICVt.
  • [0496]
    As previously described, the system signature key Ksys is used to add a common signature or ICV to the distribution system. The recording and reproducing device signature key Kdev varies depending on the recording and reproducing device 300 and is used by the recording and reproducing device 300 to add a signature or ICV. That is, data signed with the system signature key Ksys is successfully checked by a system (recording and reproducing device 300) having the same system signature key. In other words, such data have the same total integrity check value ICVt so as to be sharable. If, however, data are signed with the recording and reproducing device signature key Kdev (since this signature key is unique to the recording and reproducing device) the data stored in a recording device after the signing cannot be reproduced if an attempt is made to reproduce them after this recording device 400 has been inserted in another recording and reproducing device 300 In other words, an error occurs due to the unequal integrity check values ICVdev unique to the recording and reproducing device 300. In the data processing apparatus according to the present invention, the setting of the localization field enables content to be arbitrarily set so as to be shared throughout the entire system or used only by particular recording and reproducing devices 300.
  • [0497]
    Next, at step S121, the control section 301 of the recording and reproducing device 300 causes the recording and reproducing device cryptography process section 302 to form a storage data format. As previously described, one of the three format types, 0 to 3, is set in the usage policy (see FIG. 5) in the header. This is done so that data are formed in accordance with the storage format of one of the previously described FIGS. 32 to 35 depending on the set type. The flow shown in FIG. 39 is for the format 0 or 1, so that the data are formed into one of the formats in FIGS. 32 and 33.
  • [0498]
    Once the storage data format has been completed at step S121, the control section 301 of the recording and reproducing device 300 stores the content in the external memory 402 of the recording device 400 at step S122. How the process for downloading content data of the format type 0 or 1 is carried out has been described.
  • [0499]
    The process for downloading content data of the format type 2 will be explained with reference to FIG. 40. Differences from the above described process for downloading data of the format type 0 or 1 will be focused on.
  • [0500]
    Steps S101 to S109 are similar to the above described process for downloading data of the format type 0 or 1, so description thereof is omitted.
  • [0501]
    Since the format type 2 has no content integrity check value ICVi defined therefor as previously described, the block information table contains no content integrity check value ICVi. The intermediate integrity check value in the format type 2 is generated by applying the system signature key Ksys to the intermediate integrity check value (generated by connecting the integrity check values A and B to the entire content data between the leading data of the first block (the block key in the block 1) and the final block), to execute the encryption process.
  • [0502]
    Thus, in the process for downloading data of the format type 2, the content data is read out at step S151. The intermediate integrity check value is generated based on the integrity check values A and B and the read-out content data at step S152. In this regard, the content data is not decrypted even if it has been encrypted.
  • [0503]
    For the format type 2, the processes for decrypting the block data and collating the content integrity check values are omitted, contrary to the previously described process for the format type 0 or 1, thereby increasing the processing speed.
  • [0504]
    The processing at step S111 and subsequent steps is similar to that for the format type 0 or 1, so description thereof is omitted.
  • [0505]
    How the process for downloading content data of the format type 2 is carried out has been described. As described above, the process for downloading data of the format type 2 omits the processes for decrypting the block data and collating the content integrity check values contrary to the process for the format type 0 or 1, thereby increasing the processing speed. This format is thus suitable for processing of music data or the like which must be executed in real time.
  • [0506]
    Next, the process for downloading content data of format type 3 will be described with reference to FIG. 41. The following description will focus on differences from the above described download process for the format types 0, 1, and 2.
  • [0507]
    Steps S101 to S105 are similar to those of the above described download process for the format types 0, 1, and 2, so description thereof is omitted.
  • [0508]
    The process for the format type 3 essentially has many characteristics in common with that for the format type 2, but differs therefrom in that the format type 3 has no content key in that the block key Kblc is stored in the recording device 400 after encryption with the storage key Kstr.
  • [0509]
    The following description will focus on the differences between the download process for the format type 3 and that for the format type 2. With the format type 3, at step S161 (which follows step S105), the block information table key is decrypted. The control section 306 of the recording and reproducing device cryptography process section 302 uses the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302, as well as the distribution key Kdis generated at step S105, to decrypt the block information table key Kbit. Kbit is stored in the header section of the data obtained from the medium 500 via the read section 304, or received from the communication means 600 via the communication section 305. With the format type 3, data contains no content key Kcon, so that the process for decrypting the content key Kcon is not executed.
  • [0510]
    At the next step S107, the block information table key Kbit (decrypted at step S161) is used to decrypt the block information table. At step S162, the control section 306 of the recording and reproducing device cryptography process section 302 generates integrity check value B(ICVb′) from the block information table key Kbit and block information table (BIT). The integrity check value B is generated by using the integrity-check-value-B-generating key Kicvb. This is performed to encrypt the exclusive-ORed value comprising the block information table key Kbit and block information table (BIT), based on the DES. Kicvb is stored in the internal memory 307. Next, at step S109, the integrity check value B (ICVb) and the ICVb in the header are compared together. If they are equal, the process proceeds to step S151.
  • [0511]
    With the format type 3, the check value B, ICVb functions to verify that the block information table key Kbit and the block information table have not been tampered with. If the integrity check value B generated equals the check value ICVb stored in the header, it is determined that the block information table key Kbit and the block information table have not been tampered with.
  • [0512]
    Steps S151 to S112 are similar to those of the process for the format type 2, and description thereof is omitted.
  • [0513]
    At step S163, the block key Kblc, contained in the content data read out at step S151, is decrypted with the distribution key Kdis generated at step S105.
  • [0514]
    Then at step S164, the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to encrypt the block information key Kbit (decrypted at step S161) and the block key Kblock (decrypted at step S163), using the session key Kses made sharable during the mutual authentication. The control section 301 of the recording and reproducing device 300 reads the block information table key Kbit and the block key Kblc out from the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 and then transmits this data to the recording device 400 via the recording device controller 303 of the recording and reproducing device 300.
  • [0515]
    Then at step S165, the recording device 400 causes the encryption/decryption section 406 of the recording device cryptography process section 401 to decrypt the received data with the session key Kses. Step 165 occurs upon receiving the block information table key Kbit and the block key Kblc that are transmitted from the recording and reproducing device 300. Kses was made sharable during the mutual authentication. The decrypted data is then reencrypted using the storage key Kstr which is unique to the recording device 400 which is stored in the internal memory 405 of the recording device cryptography process 401. The control section 301 of the recording and reproducing device 300 reads the block information table key Kbit and the block key Kblc reencrypted by a storage key Kstr from the recording device 400 via the recording device controller of the recording and reproducing device 300. That is, the block information table key Kbit and block key Kblc initially encrypted with the distribution key Kdis are replaced with the block information table key Kbit and block key Kblc reencrypted with the storage key Kstr.
  • [0516]
    The subsequent steps S119 to S122 are similar to those for the format types 0, 1, and 2, so description thereof is omitted.
  • [0517]
    The aspect of the process for downloading content data of the format type 3 has been described. As described above, the download process for the format type 3 omits the decryption of the block data and the process for collating the content integrity check value as for the format type 2, thereby enabling prompt processing. The format type 3 is thus suitable for processing data such as music data, which requires real-time processing. In addition, since the range within which the encrypted content is protected is localized by the block key Kblc, advanced security is achieved compared to the format type 2.
  • [0518]
    Next, processes for reproducing data of each of the format types 0 to 3 from the recording device 400 will be explained with reference to the flow charts in FIGS. 42 to 45.
  • [0519]
    First, a process for reproducing content of the format type 0 will be explained with reference to FIG. 42.
  • [0520]
    Step S201 corresponds to an authentication process between the recording and reproducing device 300 and the recording device 400. It is executed in accordance with the authentication process flow previously described in FIG. 20.
  • [0521]
    Once the authentication process at step S201 has been completed to set the authentication flag, the recording and reproducing device 300, at step S202, reads the header of data of a predetermined format out from the recording device 400 and transmits it to the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300.
  • [0522]
    Then at step S203, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the integrity check value A. The integrity check value A, IVCa′, is calculated using as a key the integrity-check-value-A-generating key Kicva stored in the internal memory 307 of the recording and reproducing device cryptography process section 302 and using the content ID and the usage policy as a message, as shown in the previously described FIG. 23. Then, the integrity check value A, IVCa′, and the check value ICVa stored in the header are compared together at step S204. If they are equal, the process proceeds to step S205.
  • [0523]
    The check value A, ICVa, is used to verify that the content ID and the usage policy have not been tampered with. If the calculated integrity check value A, IVCa′, equals the check value ICVa stored in the header, it is determined that the content ID and the usage policy have not been tampered with.
  • [0524]
    Then at step S205, the control section 301 of the recording and reproducing device 300 takes out, from the read-out header section, the block information table key Kbit and content key Kcon (encrypted with the storage key Kstr unique to the recording device) and then transmits them to the recording device 400 via the recording device controller 303 of the recording and reproducing device 300.
  • [0525]
    On receiving the block information table key Kbit and the content key Kcon (transmitted from the recording and reproducing device 300), the recording device 400 causes the encryption/decryption section 406 of the recording device cryptography process section 401 to decrypt the received data with the storage key Kstr (unique to the recording device which is stored in the internal memory 405 of the recording device cryptography process) and to then reencrypt the decrypted data using the session key Kses (made sharable during the mutual authentication). This process is as previously described in detail in (9) Key Exchange Process after Mutual Authentication.
  • [0526]
    At step S206, the control section 301 of the recording and reproducing device 300 receives the block information table key Kbit and content key Kcon reencrypted with the session key Kses, from the recording device 400, via the recording device controller 303 of the recording and reproducing device 300.
  • [0527]
    Then at step S207, the control section 301 of the recording and reproducing device 300 transmits the received block information table key Kbit and content key Kcon (which are reencrypted with the session key Kses), to the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. On receiving the block information table key Kbit and content key Kcon reencrypted with the session key Kses the content block, the cryptography process section 302 of the recording and reproducing device 300 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to decrypt these keys Kbit and Kcon with the session key Kses (made sharable during the mutual authentication).
  • [0528]
    Further at step S208, the decrypted block information table key Kbit is used to decrypt the block information read out at step S202. The recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 replaces the decrypted block information table key Kbit, content key Kcon, and block information table BIT with the block information table key Kbit, content key Kcon, and block information table BIT contained in the header read out at step S202, to hold the latter. Additionally, the control section 301 of the recording and reproducing device 300 reads the decrypted block information table BIT out from the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300.
  • [0529]
    Further, at step S209, the control section 306 of the recording and reproducing device cryptography process section 302 generates the integrity check value B(ICVb′) from the block information table key Kbit, the content key Kcon, and the block information table (BIT). The integrity check value B is generated, as shown in FIG. 24, by using as a key the integrity-check-value-B-generating key Kicvb to decrypt the exclusive-ORed value comprising the block information table key Kbit, the content key Kcon, and the block information table (BIT), based on the DES. Kicvb is stored in the internal memory 307. Then at step S210, the integrity check value B, ICVb′, and the ICVb in the header are compared together. If they are equal, the process proceeds to step S211.
  • [0530]
    The check value B, ICVb is used to verify that the block information table key Kbit, the content key Kcon, and the block information table have not been tampered with. If the integrity check value B generated equals the check value ICVb stored in the header, it is determined that the block information table key Kbit, the content key Kcon, and the block information table stored in the recording device 400 have not been tampered with.
  • [0531]
    At step S211, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the intermediate integrity check value. The intermediate value is calculated in accordance with the ICV calculation method described in FIG. 7, using the total-integrity-check-value generating key Kicvt as a key. Kicvt is stored in the internal memory 307 of the recording and reproducing device cryptography process section 302. The integrity check values A and B in the verified header and all the content integrity check values in the block information table are used as a message, as shown in FIG. 25. In this regard, the intermediate integrity check value generated is stored in the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 as required.
  • [0532]
    Next, at step S212, the control section 301 of the recording and reproducing device 300 takes the localization field out from the usage policy to determine whether the content to be reproduced can be used only by this recording and reproducing device 300 (in this case, the localization field is set to 1) or also by other similar recording and reproducing devices 300 (in this case, the localization field is set to 0). The usage policy is contained in the header section of the data read from the external memory 402. If the result of the determination shows that the localization field is set to 1, that is, the reproduced content can be used only by this recording and reproducing device 300, the process proceeds to step S213. If the localization field is set to 0, that is, the reproduced content can also be used by other similar recording and reproducing devices 300, the process proceeds to step S215. The processing at step S211 may be executed by the cryptography process section 302.
  • [0533]
    At step S213, the control section 301 of the recording and reproducing device 300 causes the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 to calculate the integrity check value ICVdev′. ICVdev′ is unique to the recording and reproducing device 300. The integrity check value ICVdev′, unique to the recording and reproducing device, is generated as shown in FIG. 25, by using a recording and reproducing device signature key Kdev as a key to decrypt the intermediate integrity check value based on the DES. The intermediate integrity check value can be held at step S58. Kdev is stored in the internal memory 307.
  • [0534]
    Then at step S214, the integrity check value ICVdev′ (unique to the recording and reproducing device 300) calculated at step S213, and the ICVdev in the header read out at step S202, are compared together. If they are equal, the process proceeds to step S217.
  • [0535]
    At step S215, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the total integrity check value ICVt. The total integrity check value ICVt′ is generated by using the system signature key Ksys as a key to decrypt the intermediate integrity check value based on the DES, as shown in FIG. 25. Ksys is stored in the internal memory 307. Then at step S216, the generated total integrity check value ICVt′ and the ICVt in the header are compared together. If they are equal, the process proceeds to step S217.
  • [0536]
    The total integrity check value ICVt and the integrity check value ICVdev unique to the recording and reproducing device are used to verify that all of the integrity check values ICVa and ICVb and the integrity check value for each content block have not been tampered with. Thus, if the total integrity check value generated by means of the above described process equals the integrity check value: ICVt or ICVdev stored in the header, it is determined that all of the integrity check values for each content block have not been tampered.
  • [0537]
    Next, at step S217, the control section 301 of the recording and reproducing device 300 reads the block data out from the recording device 400. Furthermore, at step S218, it is determined whether or not the data has been encrypted. If the data has been encrypted, the cryptography process section 302 of the recording and reproducing device 300 decrypts the block data. If the data has not been encrypted, the process skips step S219 and advances to step S220.
  • [0538]
    Then at step S220, the control section 301 of the recording and reproducing device 300 checks whether any content block is to be verified. This is done based on the content block information table in the block information table (BIT). If any content block is to be verified, the content integrity check value has been stored in the block information in the header. In this case, the content integrity check value ICVi for this content block is calculated at step S221. If no content block is to be verified, the process skips steps S221 and S222 to advance to step S223.
  • [0539]
    If the block has been encrypted as previously described in FIG. 36, the content integrity check value ICVi′ is generated by decrypting the input content block with the content key Kcon in the DES CBC mode, exclusive-ORing all of the results every 8 bytes to generate the content intermediate value. Then the process encrypts the obtained value with the content-integrity-check-value-generating key Kicvc (stored in the internal memory 307 of the recording and reproducing device 300). Additionally, if the block has not been encrypted, the content integrity check value is generated by sequentially inputting the entire data (plain text) to the tamper-check-value-generating function shown in FIG. 36 (DES-CBC-MAC using the content-integrity-check-value-generating key Kicvc) in such a manner that 8 bytes are input each time.
  • [0540]
    At step S222, the control section 306 of the recording and reproducing device cryptography process section 302 compares the generated content integrity check value ICVi′ with the ICVi stored in the content block received from the recording device 400 at step S202, and passes the result to the control section 301 of the recording and reproducing device 300. On receiving the result (and if the verification has been successful), the content plain data for execution (reproduction) on the RAM of the recording and reproducing device system is formed at step S223. The control section 301 of the recording and reproducing device 300 takes out the next content block to be verified and causes the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 to verify this content block. Similar verification processes and RAM storage processes are repeated until all the content blocks are verified (step S224).
  • [0541]
    If the check values do not match at any of steps S204, S210, S214, S216, or S222, an error occurs to end the reproduction process.
  • [0542]
    When it is determined at step S224 that all the blocks have been read out, the process proceeds to step S225 to start executing and reproducing the content (program or data).
  • [0543]
    The aspect of the process for reproducing content data of the format type 0 has been explained.
  • [0544]
    Next, the process for downloading content data of the format type 1 will be explained with reference to FIG. 43. The following description will focus on differences from the above described download process for the format type 0.
  • [0545]
    The processing from steps S201 to S217 is similar to that in the above described download process for the format type 0, so description thereof is omitted.
  • [0546]
    For the format type 1, at step S231, encrypted parts are decrypted to generate a part ICV. Further at step S232, the block ICVi′ is generated. As previously described with the format type 1, if at least one of the parts in a block contains data to be verified with the integrity check value ICVi, the content integrity check value ICVi is defined for this block. For example, if the part j has been encrypted, an integrity check value P-ICVij for a part j of a block i is generated by exclusive-ORing the entire plain text (decrypted text) every 8 bytes and decrypting the obtained value with the content-integrity-check-value-generating key Kicvc. Additionally, if the part j has not been encrypted, the integrity check value P-ICVij is generated by sequentially inputting the entire data (plain text) to the tamper-check-value-generating function shown in FIG. 36 (DES-CBC-MAC using the content-integrity-check-value-generating key Kicvc) in such a manner that 8 bytes are input each time.
  • [0547]
    Further, if the block i contains only one part having [ICV flag=subject of ICV] indicating that it is to be checked, the integrity check value P-ICVij generated using the above method is directly used as the block integrity check value ICVi. If the block i contains a plurality of parts having [ICV flag=subject of ICV] indicating that they are to be checked, the integrity check value P-ICVij is generated by connecting a plurality of part integrity check values P-ICVij together in accordance with part numbers to obtain data. and the process then sequentially inputs the entire data (plain text) to the tamper-check-value-generating function shown in FIG. 36 (DES-CBC-MAC using the content-integrity-check-value-generating key Kicvc) in such a manner that 8 bytes are input each time. This is the same as explained in FIG. 37.
  • [0548]
    For the format type 1, the content integrity check value generated by means of the above described procedure undergoes comparison at step S222. Processing at the next step S223 and the subsequent steps is similar to that for the format type 0, so description thereof is omitted.
  • [0549]
    Next, the process for reproducing content data of the format type 2 will be explained with reference to FIG. 44. The following description will focus on differences from the above described reproduction processes for the format types 0 and 2.
  • [0550]
    Steps S201 to S210 are similar to that in the above-described reproduction processes for the format types 0 and 1, so description thereof is omitted.
  • [0551]
    For the format type 2, the processing at steps S211 to S216, which is executed for the format types 0 and 1, is not executed. In addition, the format type 2 has no content integrity check value, so that verification of the content integrity check value, which is executed for the format types 0 and 1, is not executed.
  • [0552]
    In the data reproduction process for the format type 2 (performed after step S210 for verifying the integrity check value B), the process proceeds to step S217, where the block data are read out under the control of the control section 301 of the recording and reproducing device 300. Further, at step S241, the cryptography process section 306 of the recording and reproducing device 300 decrypts the block key Kblc contained in the block data. The block key Kblc, stored in the recording device 400, has been encrypted with the content key Kcon as shown in FIG. 34. Kblc is thus decrypted with the content key Kcon decrypted, which has been decrypted at step S207.
  • [0553]
    Then at step S242, the block key Kblc (decrypted at step S241) is used to decrypt the block data. Furthermore, at step S243, the content (program or data) is executed and reproduced. The processing from steps S217 to S243 is repeated for all the blocks. When it is determined at step S244 that all the blocks have been read out, the reproduction process is ended.
  • [0554]
    As described above, the process for the format type 2 omits the process for verifying the integrity check value, such as the total integrity check value. It thus provides a configuration suitable for executing the decryption process at a high speed, and a format suitable for processing data such as music data which requires real-time processing.
  • [0555]
    Next, the process for reproducing content data of format type 3 will be described with reference to FIG. 45. The following description will focus on differences from the above described reproduction process for the format types 0, 1, and 2.
  • [0556]
    The process for the format type 3 essentially has many characteristics in common with that for the format type 2. Format type 3 differs therefrom in that, as described in FIG. 35, the format type 3 has no content key. The block key Kblc is stored in the recording device 400 after encryption with the storage key Kstr.
  • [0557]
    Between steps S201 and S210, processing at steps S251, S252, S253, and S254 is configured to omit the use of the content key, which is contrary to the corresponding processing for the formats 0, 1, and 2.
  • [0558]
    At step S251, the control section 301 of the recording and reproducing device 300 takes out, from the read-out header, the block information table key Kbit and then transmits this key to the recording device 400. This is done via the recording device controller 303 of the recording and reproducing device 300. Kbit is encrypted with the storage key Kstr unique to the recording device 400.
  • [0559]
    On receiving the block information table key Kbit transmitted from the recording and reproducing device 300, the recording device 400 causes the encryption/decryption section 406 of the recording device cryptography process section 401 to decrypt the received data with the storage key Kstr and to then reencrypt the decrypted data using the session key Kses. Kses is unique to the recording device 400, and is stored in the internal memory 405 of the recording device cryptography process section 401. Kses is made sharable during mutual authentication. This process is as previously described in detail in (9) Key Exchange Process after Mutual Authentication.
  • [0560]
    At step S252, the control section 301 of the recording and reproducing device 300 receives the block information table key Kbit (reencrypted with the session key Kses), from the recording device 400. Kbit is received via the recording device controller 303 of the recording and reproducing device 300.
  • [0561]
    Then at step S253, the control section 301 of the recording and reproducing device 300 transmits the received block information table key Kbit (reencrypted with the session key Kses), to the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. On receiving the block information table key Kbit (reencrypted with the session key Kses the content block), the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to decrypt this block information table key Kbit with the session key Kses.
  • [0562]
    Further at step S208, the decrypted block information table key Kbit is used to decrypt the block information read out at step S202. The recording and reproducing device cryptography process section 302 of the recording and reproducing device 300 replaces the decrypted block information table key Kbit and block information table BIT with the block information table key Kbit and block information table BIT, contained in the header read out at step S202, to hold the latter. Additionally, the control section 301 of the recording and reproducing device 300 reads the decrypted block information table BIT out from the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300.
  • [0563]
    Further, at step S254, the control section 306 of the recording and reproducing device cryptography process section 302 generates the integrity check value B(ICVb′) from the block information table key Kbit and the block information table (BIT). The integrity check value B, ICVb′, is generated, as shown in FIG. 24, by using as a key the integrity-check-value-B-generating key Kicvb to decrypt the exclusive-ORed value comprising the block information table key Kbit and the block information table (BIT), based on the DES. Kicvb is stored in the internal memory 307 of the recording and reproducing device cryptography process section 302. Then at step S210, the integrity check value B, ICVb′, and the ICVb in the header are compared together, and if they are equal, the process proceeds to step S211.
  • [0564]
    With the format type 3, the block key is further encrypted with the storage key when stored in the recording device 400, thereby requiring the recording device 400 to execute a decryption processes with the storage key and the session key Kses. It also requires the recording and reproducing device 300 to execute a decryption process with the session key. This series of steps corresponds to the process steps shown as steps S255 and S256.
  • [0565]
    At step S255, the control section 301 of the recording and reproducing device 300 takes out, from the read-out header, the block key Kblc (encrypted with the storage key Kstr, which is unique to the recording device that has been read out at step S217) and then transmits this key to the recording device 400 via the recording device controller 303 of the recording and reproducing device 300.
  • [0566]
    On receiving the block key Kblc transmitted from the recording and reproducing device 300, the recording device 400 causes the encryption/decryption section 406 of the recording device cryptography process section 401 to decrypt the received data with the storage key Kstr. It then reencrypts the decrypted data using the session key Kses that was made sharable during the mutual authentication. Kstr is unique to the recording device which is stored in the internal memory 405 of the recording device cryptography process section 401. This process is as previously described in detail in (9) Key Exchange Process after Mutual Authentication.
  • [0567]
    At step S256, the control section 301 of the recording and reproducing device 300 receives the block key Kblc (reencrypted with the session key Kses), from the recording device 400 via the recording device controller 303 of the recording and reproducing device 300.
  • [0568]
    Then, at step S257, the cryptography process section 306 of the recording and reproducing device 300 decrypts the block key Kblc using the session key Kses.
  • [0569]
    Then at step S242, the block key Kblc, decrypted at step S257, is used to decrypt the block data. Furthermore, at step S243, the content (program or data) is executed and reproduced. The processing from steps S217 to S243 is repeated for all the blocks. When it is determined at step S244 that all the blocks have been read out, the reproduction process is ended.
  • [0570]
    The process for reproducing a content of the format type 3 has been described. The format type 3 is similar to the format type 2 in that the process for verifying the total integrity check value is omitted. However, format type 3 provides a processing configuration with a higher security level due to the inclusion of the process for exchanging the block key Kblc.
  • [0000]
    (11) Process Executed by Content Provider to Generate Integrity Check Value (ICV)
  • [0571]
    In the above described embodiments, the verification processes with the various integrity check values ICV are executed during downloading or reproducing content. Aspects of the process for generating the integrity check values ICV and the verification process will be described below.
  • [0572]
    First, each of the integrity check values explained in the embodiments will be described in brief. The following integrity check values, ICV, are used in the data processing apparatus according to the present invention.
  • [0573]
    Integrity check value A, ICVa is the integrity check value for verifying that the content ID and usage policy in the content data have not been tampered with.
  • [0574]
    Integrity check value B, ICVb is the integrity check value for verifying that the block information table key Kbit, the content key Kcon, and the block information table have not been tampered with.
  • [0575]
    Content integrity check value ICVi is the integrity check value for verifying that each content block of the content has not been tampered with.
  • [0576]
    Total integrity check value ICVt is the integrity check value for verifying that the integrity check value ICVa, the integrity check value ICVb, and all the integrity check values for the content blocks have not been tampered with.
  • [0577]
    Integrity check value ICVdev, unique to the recording and reproducing device 300 is the integrity check value that is replaced with the total integrity check value ICVt if the localization flag is set to 1. That is, the content can be used only by a particular recording and reproducing device 300. It is generated as an integrity check value for the previously described integrity check value A, ICVa, integrity check value B, ICVb, and integrity check value ICVi contained in each block of the content to be checked.
  • [0578]
    Depending on the format, the integrity check values ICVt and ICVdev check the content itself, not the check value for each content block.
  • [0579]
    Each of the above integrity check values is used in the data processing apparatus according to the present invention. Of these integrity check values, the integrity check values A (IVCa) and B (IVCb), the total integrity check value (IVCt), and the content integrity check value are generated by a content provider (for providing content data) or a content manager (based on data to be verified), as shown, for example, in FIGS. 32 to 35 and 6. They are stored in the data together with the content before being provided to a user of the recording and reproducing device 300. When downloading or reproducing the content to or from the recording device, the user of the recording and reproducing device 300 (i.e., the content user) generates verifying ICVs (based on each data to be verified), to compare them with the stored ICVs. Additionally, the integrity check value ICVdev, unique to the reproducing device 400, is replaced with the total integrity check value ICVt. It is then stored in the recording device 400 if it is shown that the content can be used only by this recording and reproducing device 300.
  • [0580]
    In the above-described embodiments, the processes for generating the integrity check values are principally based on the DES-CBC. The present invention, however, is not limited to the above-described method, but includes various ICV-generating and verifying process aspects. In particular, for the relationship between the content provider or manager and the content user, the following various ICV-generating and verifying process configurations are possible.
  • [0581]
    FIGS. 46 to 48 are views illustrating a generation process executed by a generator of the integrity check value ICV and a verification process executed by a verifier.
  • [0582]
    FIG. 46 shows a configuration wherein, for example, an ICV generator (who is a content provider or manager) executes the process for generating the ICV based on the DES-CBC as described in the above embodiments. It then provides the generated ICV to a recording and reproducing device user, that is, a verifier together with the content. In this case, for the verification process, the recording and reproducing device user requires the keys stored in the internal memory 307 (shown in FIG. 18) for generating the corresponding integrity check values. The verifier (recording and reproducing device user) who is the content user uses the integrity-check-value-generating key stored in the internal memory 307 to apply the DES-CBC to data to be verified in order to generate the integrity check values. It then compares these values with stored integrity check values. In this case, each integrity-check-value-generating key is configured so as to be secretly shared by the ICV creator and the verifier.
  • [0583]
    FIG. 47 shows a configuration wherein the ICV creator (who is the content provider or manager) generates ICVs using a digital signature of a public key cryptosystem and then provides the generated ICVs to the content user. The content user stores the public key of the ICV creator and uses this key to verify the ICVs. In this case, the public key of the ICV creator, which is held by the content user (recording and reproducing device user), need not be secret this results in easier management. This aspect is thus suitable for ICV generation and management executed at a high security management level, for example, that executed in one entity.
  • [0584]
    In FIG. 48, the ICV creator (who is the content provider or manager) generates ICVs using a digital signature of a public key cryptosystem. It then provides the generated ICVs to the content user together with the content; further stores a public key in a public key certificate (see, for example, FIG. 14); and then provides this key to the recording and reproducing device user. With a plurality of ICV creators, each creator has a key managing center create data (a public key certificate) for certifying the validity of the public key.
  • [0585]
    The content user (the ICV verifier) has a public key of the key managing center. The IVC verifier verifies the public key certificate using the public key of the key managing center, and, if its validity has been ascertained, takes out the public key of the ICV creator stored in the public key certificate. The verifier further verifies the ICVs using the taken-out public key of the ICV creator.
  • [0586]
    This method is useful if a plurality of ICV creators are present and if a center for managing these creators has an established management system.
  • [0000]
    (12) Configuration for Generating Cryptography Process Keys Based on Master Keys
  • [0587]
    A configuration for generating various cryptography process keys based on the master keys will be described below.
  • [0588]
    As previously described with reference to FIG. 18, the internal memory 307 of the recording and reproducing device 300 in the present data processing apparatus stores the various master keys. Each of the various master keys which can be used, for example, to generate the authentication key Kate (see Equation 3) or the distribution key Kdis (see Equation 4).
  • [0589]
    When cryptography communication, mutual authentication, MAC generation, verification, or the like is carried out between two entities, these entities conventionally hold secret information common to them, such as, key information. The entities may be, for example, the content provider, the recording and reproducing device 300 and the recording device 400 in the present data processing apparatus. Additionally, when the above process is carried out between one and many entities, (for example, one content provider and many content users, or one recording and reproducing device and many recording media) these entities conventionally store and hold secret information common to all the entities. That is, secret information common to many content users or many recording media, or one content provider individually manages and uses secret information (ex. key) for each of many content users.
  • [0590]
    With the one-to-many relationship as described above, however, the configuration owning secret information (key) shared by all the entities is disadvantageous in that leakage of the secret from one entity affects all the other entities using the same secret information (ex. key). In addition, when one manager, such as a content provider individually manages and uses secret information for each content user, a list is required that serves to identify all the users and that associates this identification data with unique secret information (ex. keys). This increases list maintaining and managing burdens in proportion to the number of users.
  • [0591]
    The data processing apparatus according to the present invention has solved a problem with sharing secret information between entities using a configuration for holding the master keys and generating various individual keys therefrom. This configuration will be described below.
  • [0592]
    In the data processing apparatus according to the present invention, if different individual keys are required for various cryptography processes, authentication processes, and the like between recording devices, media storing contents, or recording and reproducing devices, these individual keys are generated using individual information such as identifier data (ID) unique to the devices or media and an individual-key generating method (previously determined in the recording and reproducing device 300). With this configuration, if any individual key generated should be identified, damage to the entire system can be precluded by preventing the corresponding master key from leaking. In addition, the configuration for generating the keys from the master keys eliminates the needs for the association list.
  • [0593]
    A specific example of configuration will be described with reference to the drawings. FIG. 49 illustrates a configuration for generating various keys using the various master keys held by the recording and reproducing device 300. The medium 500 and the communication means 600 input content as in the already described embodiments. The content is encrypted by the content key Kcon, which is in turn encrypted by the distribution key Kdis.
  • [0594]
    For example, if the recording and reproducing device 300 attempts to take a content out from the medium 500 or the communication means 600 and download it to the recording device 400, the recording and reproducing device 300 must obtain the distribution key Kdis that has encrypted the content key as previously described in FIGS. 2 and 39 to 41. Although the key Kdis can be directly obtained from the medium 500 or the communication means 600 or the recording and reproducing device 300 can obtain and store it in its memory beforehand, the configuration for distributing such a key to many users may be subjected to leakage, which may affect the entire system, as described above.
  • [0595]
    The data processing system according to the present invention is configured to generate the distribution key Kdis by applying a master key MKdis for the distribution key stored in the memory of the recording and reproducing device 300 as well as a process based on the content ID. That is, Kdis=DES (MKdis, content ID), as shown in the lower part of FIG. 49. In a content distributing configuration between a content provider providing contents from the medium 500 or the communication means 600 and the recording and reproducing device 300 (where recording and reproducing device 300 is a content user), despite a large number of content providers, this configuration enables advanced security to be maintained without the need to distribute the individual distribution keys Kdis via the medium 500, the communication means 600 or the like, or to store them in each recording and reproducing device 300.
  • [0596]
    Next, the generation of the authentication key Kaka will be explained. In downloading a content from the recording and reproducing device 300 to the recording medium 400 (as previously described in FIGS. 22 and 39 to 41), or causing the recording and reproducing device 300 to execute and reproduce a content stored in the recording medium 400 (as described in FIGS. 42 to 45), the recording and reproducing device 300 and the recording medium 400 must execute the mutual authentication process (see FIG. 20).
  • [0597]
    As described in FIG. 20, this authentication process requires the recording and reproducing device 300 to have the authentication key Kake. Although the recording and reproducing device 300 can obtain the authentication key directly from, for example, the recording medium 400 or can obtain and store it in its memory beforehand, the configuration for distributing such a key to many users may be subjected to leakage. Leakage may affect the entire system, as in the above-described configuration for the distribution key.
  • [0598]
    The data processing system according to the present invention is configured to obtain the authentication key Kake by applying a master key MKake for the distribution key stored in the memory of the recording and reproducing device 300, as well as a process based on the recording device ID: IDmem. That is, Kake=DES (MKake, IDmem), as shown in the lower part of FIG. 49.
  • [0599]
    Further, in downloading content from the recording and reproducing device 300 to the recording medium 400 (as previously described in FIGS. 22 and 39 to 41) or causing the recording and reproducing device 300 to execute and reproduce content stored in the recording medium 400 (as described in FIG. 28, FIGS. 42 to 45), a configuration similar to that for the distribution or authentication key described above can be used for the recording and reproducing device signature key Kdev that is required to generate the integrity check value ICVdev unique to the recording and reproducing device 300 if the content can be used only by a particular recording and reproducing device 300. In the above described embodiments, the recording and reproducing device signature key Kdev is stored in the internal memory. However, if the master key Mkdev for the recording and reproducing device signature key is stored in the memory whereas the recording and reproducing device signature key Kdev is not stored therein, and if the recording and reproducing device signature key Kdev is obtained by means of Kdes=DES (MKdev, IDdev) based on the recording and reproducing device identifier Iddev, and the master key MKdev for the recording and reproducing device signature key, as required (as shown in the lower part of FIG. 49), then it advantageously becomes unnecessary for each apparatus to have the recording and reproducing device signature key Kdev.
  • [0600]
    In this manner, the data processing apparatus according to the present invention is configured to sequentially generate information from the master keys and each ID. The information is, for example, a key which is required for the cryptography information process between two entities. The entities may be, by way of example, the provider and the recording and reproducing device 300, or the recording and reproducing device 300 and the recording device 400. Consequently, even if the key information leaks from each entity, the range of damage incurred by the individual keys is further limited. It also becomes unnecessary to manage key lists for the individual entities as described above.
  • [0601]
    A plurality of examples of processes relating to this configuration will be explained with flowcharts. FIG. 50 shows examples of a process executed by the content producer or manager to decrypt content or the like using a master key. FIG. 50 also illustrates process executed by a user device (for example, the recording and reproducing device 300 in the above described embodiment) to decrypt the encrypted data using the master key.
  • [0602]
    At step S501, a content producer or manager imparts an identifier (content identifier) to content. At step S502, the content producer or manager generates a key for encrypting content or the like, based on its owned master key and a content ID. At this step, if the distribution key Kdis is to be generated, it is generated based on the above-described Kdis=DES (MKdis, medium ID). Then at step S503, the content producer or manager uses a key (for example, the distribution key Kdis) to encrypt part or all of the content stored in the medium. The content producer supplies the content encrypted through these steps, via the medium 500 such as a DVD, the communication means 600, or the like.
  • [0603]
    At step S504, a user device (such as the recording and reproducing device 300) reads the content ID from the content data received via the medium 500 such as a DVD, the communication means 600, or the like. Then at step S505, the user device generates a key applied to decryption of the encrypted content based on the read-out medium ID and its owned master key. If the distribution key Kdis is to be obtained, this generation process corresponds to, for example, the distribution key Kdis=DES (MKdis, medium ID). At step S506, the user device uses this key to decrypt the content. At step S507, the user device reproduces the decrypted device content or executes the program.
  • [0604]
    In this example, as shown in the lower part of FIG. 50, both the content producer or manager and the user device have the master key (for example, the distribution-key-generating master key MKdis) to sequentially generate the distribution key required to encrypt or decrypt the content based on their owned master key and each ID (medium ID).
  • [0605]
    With this system, if the distribution key leaks to a third person, the third person can decrypt that content. However, content stored in other media 500 with different content IDs can be prevented from decryption. This thereby minimizes the adverse effects of the leakage of one content key on the entire system. Additionally, this system does not require the user device (that is, the recording and reproducing device 300) to hold a key associating list for each medium 500.
  • [0606]
    An example where the content producer or manager holds a plurality of master keys to execute a process depending on a content distribution destination is provided with reference to FIGS. 51-52.
  • [0607]
    In FIG. 51, step S511, executed by the content producer or manager, comprises imparting an identifier (content ID) to the content. Step S512 comprises selecting one of a plurality of master keys (for example, a plurality of distribution-key-generating master keys MKdis) held by the content producer or manager. Although described in further detail with reference to FIG. 52, this selection process comprises setting an applied master key beforehand for each of the countries to which content users belong, each apparatus type, or each apparatus version, and executing the master keys in accordance with the settings.
  • [0608]
    Then at step S513, the content producer or manager generates an encryption key based on the master key selected at step S512 and the content ID determined at step S511. If, for example, the distribution key Kdis is to be generated, it is generated based on the above described Kdis=DES (MKdis, medium ID). Then at step S514, the content producer or manager uses a key (for example, the distribution key Kdisi) to encrypt part or all of the content stored in the medium. At step S515, the content producer distributes the encrypted content via the medium 500 such as a DVD, the communication means 600, or the like, using a distribution unit. The distribution unit comprises the content ID, the master-key-generating information used and the encrypted content.
  • [0609]
    On the other hand, at step S516, for example, the user device (such as a recording and reproducing device 300) determines whether or not its holds the master key corresponding the master key ID in the content data distributed by the medium 500 (such as a DVD) or by the communication means 600. If it does not have the master key corresponding to the master key ID in the content data, the distributed content cannot be used by this user device and the process is ended.
  • [0610]
    If the user device has the master key corresponding to the master key ID in the content data, then at step S517 it reads the content ID out from the content data received via the medium 500, the communication means 600, or the like. Then at step S518, the user device generates a key applied to decryption of the encrypted content based on the read-out content ID and its held master key. This process is a distribution-key Kdisi=DES (Mkdisi, contents ID) if it intends to get a distribution key Kdisi. At step S519, content is decrypted by means of the Kdisi key. At step S520 decrypted contents are used.
  • [0611]
    In this example, as shown in the lower part of FIG. 51, the content producer or manager has a master key set comprising a plurality of master keys. The master key set includes, for example, distribution-key-generating master keys MKdis 1 to N. On the other hand, the user device has one master key. For example, the user device has one distribution-key-generating master key MKdisi so that it can decrypt the content only when the content producer or manager has used the key MKdisi for the encryption.
  • [0612]
    FIG. 52 shows an example where master keys vary depending on the country, as a specific example of the aspect shown in the flow in FIG. 51. The content provider has master keys MK1 to MKN, of which the key MK1 is used to generate keys for encrypting content distributed to user devices for Japan. For example, an encryption key K1 is generated from a content ID and the key MK1 and then used to encrypt content. The master keys MK1 to MKN are further set such that the key MK2 is used to generate keys for encrypting content distributed to user devices for the U.S., and the key MK3 is used to generate keys for encrypting content distributed to user devices for the EU (Europe).
  • [0613]
    For user devices for Japan, for instance, recording and reproducing devices 300 such as PCs or game apparatuses which are sold in Japan, the master key MK1 is stored in their internal memories, for user devices for the U.S., the master key MK2 is stored in their internal memories 307, and for user devices for the EU, the master key MK3 is stored in their internal memories 307.
  • [0614]
    With this configuration, the content provider selectively uses one of the master keys MK1 to MKN depending on user devices that can use one content, in order to encrypt the content to be distributed to the user devices. For example, to allow the content to be used only by the user devices for Japan, the master key K1 (generated using the master key MK1) is used to encrypt the content. This encrypted content can be decrypted using the master key MK1 stored in the user devices for Japan. That is, MK1 allows a decryption key to be generated. In contrast, the key K1 cannot be obtained from the master keys MK2 and MK3 (stored in the user devices for the U.S. and EU, respectively), thereby preventing the encrypted content from being decrypted.
  • [0615]
    In this manner, the content provider can selectively use a plurality of master keys to set localization for various content. FIG. 52 shows an example where the different master keys are used for the different countries to which the user devices belong, but various use forms are possible. For example, the master key can be switched depending on the type of the user device or its version, as described above.
  • [0616]
    Next, FIG. 53 shows an example of a process where an identifier unique to a medium 500, (i.e., a medium ID) and a master key are combined together. Here, the medium 500 refers to, for example, DVDs or CDs in which content is stored. The medium ID may be unique to individual media 500, the titles of contents such as movies, or individual medium manufacturing lots. In this manner, medium IDs may be assigned in various manners.
  • [0617]
    At step S521, a medium producer or manager determines an identifier (medium identifier) for a medium 500. At step S522, the medium producer or manager generates a key for encrypting content stored in the medium 500 based on its owned master key and a medium ID. At this step, if, for example, the distribution key Kdis is to be generated, it is generated based on the above described Kdis=DES (MKdis, medium ID). Then at step S523, the medium producer or manager uses a key (for example, the distribution key Kdis) to encrypt part or all of the content stored in the medium 500. The medium producer supplies, through these steps the medium 500 storing the content encrypted.
  • [0618]
    On the other hand, at step S524, a user device such as the recording and reproducing device 300 reads the medium ID from the supplied medium 500. Then at step S525, the user device generates a key applied to decryption of the encrypted content based on the read-out medium ID and its owned master key. If the distribution key Kdis is to be obtained, this generation process corresponds to, for example, the distribution key Kdis=DES (MKdis, medium ID). At step S526, the user device uses this key to decrypt the content. At step S527, the user device uses the content. That is, the user device reproduces the decrypted content or executes the program.
  • [0619]
    In this example, as shown in the lower part of FIG. 53, both the medium producer or manager and the user device have the master key (for example, the distribution-key-generating master key MKdis) to sequentially generate the distribution key required to encrypt or decrypt the content based on their owned master key and each ID (medium ID).
  • [0620]
    With this system, if any medium key leaks to a third person, the third person can decrypt the content in the medium 500, but content stored in other media 500 with different medium IDs can be prevented from decryption. This minimizes the adverse effects of the leakage of one medium key on the entire system. Additionally, this system does not require the user device, that is, the recording and reproducing device 300, to hold a key associating list for each medium 500. Further, the size of content encrypted with one medium key is limited to a capacity that can be stored within that medium 500, so that there is a slim possibility that the content reaches the amount of information required to attack the encrypted text. This further reduces the possibility of decrypting the encrypted text.
  • [0621]
    Next, FIG. 54 shows an example of a process where an identifier unique to the recording and reproducing device 300, and a master key are combined together.
  • [0622]
    At step S531, a recording and reproducing device user generates a key for encrypting content or the like based on a master key and a recording and reproducing device ID. This information can be stored, for example, in the internal memory 307 of the recording and reproducing device 300. If, for example, the content key Kcon is to be obtained, this generation process corresponds to Kcon=DES (MKcon, recording and reproducing device ID). Then at step S532, the user uses a key (form example, the distribution key Kcon) to decrypt the content. At step S533, the user stores the encrypted content in the recording and reproducing device 300, such as a hard disk.
  • [0623]
    On the other hand, when the recording and reproducing device user that has stored the content requests the stored data to be recovered, a system manager for managing the recording and reproducing device 300 reads a recording and reproducing device ID from the recording and reproducing device in step S534. Then at step S535, the system manager generates a key applied to recovery of the encrypted content, based on the read-out recording and reproducing device ID and its owned master key. If the content key Kcon is to be obtained, this generation process corresponds to, for example, the content key Kcon=DES (MKcon, recording and reproducing device ID). At step S536, the user device uses this key to decrypt the content.
  • [0624]
    In this example, as shown in the lower part of FIG. 54, both the recording and reproducing device user and the system manager have the master key (for example, the content-key-generating master key MKcon) to sequentially generate the distribution key required to encrypt or decrypt the content based on their owned master key and each ID (recording and reproducing device ID).
  • [0625]
    With this system, if the content key leaks to a third person, the third person can decrypt that content, but content stored in other media 500 with different recording and reproducing device IDs can be prevented from decryption. This minimizes the adverse effects of the leakage of one content key on the entire system. Additionally, this system does not require the system manager or the user device to hold a key associating list for each medium 500.
  • [0626]
    FIG. 55 shows a configuration wherein an authentication key used for a mutual authentication process between a slave device, (for example, the recording device 400, such as a memory card) and a host device, (for example, the recording and reproducing device 300) is generated based on a master key. Although in the previously described authentication process (see FIG. 20), the authentication key is stored in the internal memory 405 of the slave device in advance, it can be generated during the authentication process based on the master key as shown in FIG. 55.
  • [0627]
    For example, at step S541, the slave device that is the recording device 400 generates, as an initialization process before starting the authentication process, the authentication key Kake. Kake is for use in the mutual authentication process based on the master key and slave device ID stored in the internal memory 105 of the slave device that is the recording device 400. The authentication key is generated based on Kake=DES (MKake, slave device ID). Then at step S542, the generated authentication key is stored in the memory.
  • [0628]
    On the other hand, at step S543, the host device such as the recording and reproducing device 300, reads a slave device ID out from the installed recording device 400 (that is, the slave device), via the communication means. Then at step S544, the host device generates a authentication key applied to a mutual authentication process based on the read-out slave device ID and its owned authentication-key-generating master key. This generation process corresponds to, for example, the authentication key Kake=DES (MKake, slave device ID). At step S545, this authentication key is used to execute the authentication process.
  • [0629]
    In this example, as shown in the lower part of FIG. 55, both the slave device and the master device have the master key (that is, the authentication-key-generating master key Mkake) to sequentially generate the distribution key required for the authentication process based on their owned master key and the slave device ID.
  • [0630]
    With this system, if the authentication key leaks to a third person, this authentication key is effective only on the corresponding slave device and authentication is not established with other slave devices, thereby minimizing the adverse effects of the leakage of the key.
  • [0631]
    As described above, the data processing apparatus according to the present invention is configured so that the information such as the key which is required for the procedure for the cryptography information process between the two entities such as the content provider and the recording and reproducing device, or the recording and reproducing device and the recording device. Thus, even if the key information leaks from each entity, the range of damage incurred by the individual keys is further limited. It also becomes unnecessary to manage key lists for the individual entities as described above.
  • [0000]
    (13) Control of Cryptography Intensity in Cryptography Process
  • [0632]
    In the above described embodiments, the cryptography process between the recording and reproducing device 300 and the recording device 400 is principally described in conjunction with the example using the cryptography process based on the single DES configuration described with reference to FIG. 7. The encryption process method applied to the present data processing apparatus is not limited to the above described Single DES. Any encryption method may be employed depending on a required security state.
  • [0633]
    For example, the Triple DES method, configured as shown in the previously described FIGS. 8 to 10, is applicable. For example, both the cryptography process section 302 of the recording and reproducing device 300 and the cryptography process section 401 of the recording device 400 shown in FIG. 3 can be configured so as to execute the Triple DES method so that a process can be executed which corresponds to the cryptography process based on the Triple DES method described in FIGS. 8 to 10.
  • [0634]
    The content provider, however, may give top priority to processing speed (dependent on the content) to use a 64-bit content key Kcon based on the Single DES method, or give top priority to security to use a 128- or 192-bit content key Kcon based on the Triple DES method. Accordingly, it is not preferable to configure the cryptography process section 302 of the recording and reproducing device 300 and the cryptography process section 401 of the recording device 400 so as to accommodate only one of the Triple and Single DES methods. Therefore, the cryptography process section 302 of the recording and reproducing device 300 and the cryptography process section 401 of the recording device 400 are desirably configured so as to accommodate both the Triple and Single DES methods.
  • [0635]
    However, to configure the cryptography process section 302 of the recording and reproducing device 300 and the cryptography process section 401 of the recording device 400 so as to execute both the Triple and Single DES methods, different circuits and logics must be configured for these cryptography process sections. For example, to allow the recording device 400 to execute a process corresponding to the Triple DES, a command set for the Triple DES must be stored in the command register as shown in FIG. 29. This may complicate the process section configured in the recording device 400.
  • [0636]
    Thus, for the present data processing apparatus, a configuration is proposed wherein the logic of the cryptography process section 401 of the recording device 400 is configured to accommodate the Single DES, while executing a process corresponding to the Triple DES process to store data (keys, contents, or the like) encrypted based on the Triple DES method, in the external memory 402 of the recording device 400.
  • [0637]
    For example, for the data format type 0 shown in FIG. 32, when content data is downloaded from the recording and reproducing device 300 to the recording device 400, the authentication process is executed at step S101 in FIG. 39 (showing the flow of downloading data of the format type 0), and the session key Kses is generated. Further, at step S117, the cryptography process section 302 of the recording and reproducing device 300 encrypts the content key Kcon with the session key Kses. It then transmits the encrypted key to the recording device 400 via the communication means 600. At step S118, the cryptography process section 403 of the recording device 400 (which has received the encrypted key) decrypts the content key Kcon with the session key Kses. Cryptography process section 403 then further encrypts it with the storage key Kstr, and transmits the resulting key to the cryptography process section 302. The recording and reproducing device 300 subsequently forms a data format (step S121). It transmits formatted data to the recording device 400. The recording device 400 stores the received data in the external memory 402.
  • [0638]
    If the cryptography process executed between steps S117 and S118 of the above process (by the cryptography process section 401 of the recording device 400) is configured to selectively execute either the Single or Triple DES method, the cryptography process section 401 works whether the content provider provides content data using the content key Kcon in accordance with the Triple DES or the Single DES.
  • [0639]
    FIG. 56 illustrates a configuration for executing the cryptography process method in accordance with the Triple DES method. This is done using both the cryptography process section 302 of the recording and reproducing device 300 and the cryptography process section 401 of the recording device 400. FIG. 56 shows an example of a process for encrypting the content key Kcon with the storage key Kstr. The process is executed in downloading content data from the recording and reproducing device 300 to the recording device 400. The content key Kcon is based on the Triple DES method. Here, the example of the process for the content key Kcon is shown, but other keys or other data, such as content, can be similarly processed.
  • [0640]
    The Triple DES method uses two or three keys in such a manner that a 64-bit key is used for the Single DES, while a 128- or 192-bit key is used for the Triple DES, as previously described in FIGS. 8 to 10. These three content keys Kcon are referred to as Kcon1, Kcon2, and (Kcon3) or, alternatively, Kc1, Kc2 and (Kc3) as shown in FIG. 56. The Kcon3 is shown in the parentheses because it may not be used.
  • [0641]
    The process in FIG. 56 will be explained as follows. At step S301, the mutual authentication process is carried out between the recording and reproducing device 300 and the recording device 400. This mutual authentication process step is executed during the process as in the previously described FIG. 20. During this authentication process, the session key Kses is generated.
  • [0642]
    Once the authentication process at step S301 has been completed, the integrity check values ICV (including the integrity check values A and B, the content integrity check value, and the total integrity check value) are collated.
  • [0643]
    When all the check values, ICV, have been collated, and it has been determined that no data have been tampered with, the process proceeds to step S303. In step S303, the control section 306 of the recording and reproducing device cryptography process section 302 uses the encryption/decryption section 308, as well as the previously obtained or generated distribution key Kdis, to decrypt the content Kcon. Kcon may be stored in the header section of the data obtained from the medium 500, or received from the communication means 600 via the communication section 305. The content key in this case is a triple DES type key, such as content keys Kcon1, Kcon2, and (Kcon3).
  • [0644]
    Then at step S304, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to encrypt only the content key Kcon1 of the content keys Kcon1, Kcon2, and (Kcon3) decrypted at step S303. This is done using the session key Kses made sharable during the mutual authentication.
  • [0645]
    The control section 301 of the recording and reproducing device 300 reads data containing the content key Kcon1 (encrypted with the session key Kses). The data is read out from the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. The control section 301 then transmits this data to the recording device 400 via the recording device controller 303 of the recording and reproducing device 300.
  • [0646]
    Then at step S305 (on receiving the content key Kcon1 transmitted from the recording and reproducing device 300), the recording device 400 causes the encryption/decryption section 406 of the recording device cryptography process section 401 to decrypt the received content key Kcon1 using the session key Kses. Kses was made sharable during the mutual authentication. Further at step S306, the recording device 400 causes the encryption/decryption section 406 to reencrypt the decrypted content key with the storage key Kstr. Kstr is unique to the recording device 400. It is stored in the internal memory 405 of the recording device cryptography process. The recording device 400 then transmits the reencrypted key to the recording and reproducing device 300 via the communication section 404.
  • [0647]
    Then at step S307, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to encrypt only the content key Kcon2 of the content keys Kcon1, Kcon2, and (Kcon3). This is done using the session key Kses, which was made sharable during the mutual authentication.
  • [0648]
    The control section 301 of the recording and reproducing device 300 reads data containing the content key Kcon2 encrypted with the session key Kses, out from the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. The control section 301 then transmits this data to the recording device 400 via the recording device controller 303 of the recording and reproducing device 300.
  • [0649]
    Then at step S308, on receiving the content key Kcon2 transmitted from the recording and reproducing device 300, the recording device 400 causes the encryption/decryption section 406 of the recording device cryptography process section 401 to decrypt the received content key Kcon2. It is decrypted using the session key Kses, which was made sharable during the mutual authentication. Further at step S309, the recording device 400 causes the encryption/decryption section 406 to reencrypt the decrypted content key with the storage key Kstr. Kstr is unique to the recording device, and is stored in the internal memory 405 of the recording device cryptography process section 401. Recording device 400 then transmits the reencrypted key to the recording and reproducing device 300 via the communication section 404.
  • [0650]
    Then at step S310, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to encrypt only the content key Kcon3 of the content keys Kcon1, Kcon2, and (Kcon3). This is performed using the session key Kses, which was made sharable during the mutual authentication.
  • [0651]
    The control section 301 of the recording and reproducing device 300 reads data containing the content key Kcon3 (encrypted with the session key Kses) out from the recording and reproducing device cryptography process section 302 of the recording and reproducing device 300. The control section 301 then transmits this data to the recording device 400 via the recording device controller 303 of the recording and reproducing device 300.
  • [0652]
    Then at step S311, the recording device 400 causes the encryption/decryption section 406 of the recording device cryptography process section 401 to decrypt the received content key Kcon3 using the session key Kses. This is done on receiving the content key Kcon3 that is transmitted from the recording and reproducing device 300. Further, at step S312, the recording device 400 causes the encryption/decryption section 406 to reencrypt the decrypted content key with the storage key Kstr. Kstr is unique to the recording device, and is stored in the internal memory 405 of the recording device cryptography process. Recording device 400 then transmits the reencrypted key to the recording and reproducing device 300 via the communication section 404.
  • [0653]
    Then at step S313, the cryptography process section of the recording and reproducing device 300 forms the various data formats described in FIGS. 32 to 35 and transmits them to the recording device 400.
  • [0654]
    Finally, at step S314, the recording device 400 stores the received formatted data in the external memory 402. This format data contains the content keys Kcon1, Kcon2, and (Kcon3) that were encrypted with the storage key Kstr.
  • [0655]
    This process enables the content keys stored in the recording device 400 to be stored as keys based on the Triple DES cryptosystem. If only two content keys Kcon1 and Kcon2 are used, the processing from steps S310 to S312 is omitted.
  • [0656]
    As described above, the recording device 400 can store the keys with the Triple DES applied thereto in the memory by repeating processing of the same aspect. That is, the process steps S305 and S306 can be performed plural times with only the target changed. If the Single DES is applied to the content keys Kcon, steps S305 and S306 may be executed to carry out the formatting process at step S313 before storing the keys in the memory. Such a configuration may store commands for executing the processing at steps S305 and S306 in the command register, as in the previously described FIG. 29, and execute this processing one to three times depending on the aspect of the key. That is, repeating the processing depends upon whether the key is based on the Triple or Single DES method. Accordingly, the processes based on both the Triple and Single DES methods can be executed without containing the Triple DES process method in the process logic of the recording device 400. In this regard, the cryptosystem may be recorded in the usage policy in the header section of the content data so as to be determined by referencing the usage policy.
  • [0000]
    (14) Program Activation Process Based on Activation Priority in Usage Policy in Content Data
  • [0657]
    As understood from the content data configurations in the previously described FIGS. 4 to 6, the usage policy stored in the header section of the content data used in the present data processing apparatus contains the content type and the activation priority. With a plurality of accessible content data recorded in various recording media 500 such as the recording device 400, a DVD, a CD, a hard disk, or a game cartridge, the recording and reproducing device 300 in the present data processing apparatus determines the order in which these contents are activated, in accordance with the activation priority.
  • [0658]
    The recording and reproducing device 300 executes the mutual authentication with various recording devices 400, such as a DVD device, a CD drive device, and a hard disk drive device. Recording and reproducing device 300 then executes the program in the content data with the top priority in accordance with the priority in the content data. The “Program Activation Process Based on Activation Priority in Usage Policy in Content Data” will be explained below.
  • [0659]
    The above description of the present data processing apparatus focuses on the process executed if the recording and reproducing device 300 reproduces and executes content data from one recording device 400. However, the recording and reproducing device 300 is generally configured so as to access, in addition to the recording device 400,a DVD, a CD, and a hard disk via the read section 304 as well as recording media 500 (such as a memory card and a game cartridge) that are connected via the PIO 111 or SIO 112. In FIG. 2, only one read section 304 is described in order to avoid complicating the drawing. The recording and reproducing device 300 can have different recording media 500, for example, a DVD, a CD, a floppy disk, and a hard disk, installed therein in parallel.
  • [0660]
    The recording and reproducing device 300 can access a plurality of recording media 500, each of which store content data. Content data supplied by an external content provider, such as a CD, are stored in the medium 500 in the data configuration shown in the previously described FIG. 4 or in each recording medium 500 (such as a memory card) in the content data configuration shown in FIG. 26 or 27, if the data are taken out from the medium 500 or downloaded via the communication means 600. Furthermore, the content data is stored on the medium 500 and the recording device 400 in different formats depending on the format type thereof, as shown in FIGS. 32 to 35. In either case, the usage policy in the header of the content data contains the content type and the activation priority.
  • [0661]
    A process executed by the recording and reproducing device 300, to activate content if a plurality of content data is accessible, will be explained in accordance with the FIG. 57.
  • [0662]
    FIG. 57 shows a process flow showing an example (1) of a process where there is a plurality of content that can be activated. At step S611, recording devices 400 that are accessible to the recording and reproducing device 300 are authenticated. The accessible recording devices 400 include a memory card, a DVD device, a CD drive, a hard disc device, and a game cartridge or the like. They are connected, for example, via the parallel I/O, PIO 111, or the serial I/O, SIO 112, as shown in FIG. 2. Each recording device is authenticated under the control of the control section 301 shown in FIG. 2, for example, in accordance with the procedure previously explained in FIG. 20.
  • [0663]
    Next, at step S612, programs that can be activated are detected from the content data stored in the memory of the successfully authenticated recording device 400. Specifically, this is executed as a process of extracting content for which the content type contained in the usage policy of the content data indicates a program.
  • [0664]
    Then at step S613, the priority of the program that can be activated and which has been extracted at step S612 is determined. Step S613 selects the top priority. Specifically, this corresponds to a process of comparing the priorities contained in the usage policies in the headers of the plurality of content data that can be activated in step S612.
  • [0665]
    Then at step S614, the selected program is activated. If the plurality of programs that can be activated have the same priority, default priorities are set for the recording devices 400 so that the content program stored in the device with the top priority is executed.
  • [0666]
    FIG. 58 shows an example (2) of a process where identifiers are set for a plurality of recording devices 400 so that the authentication and the retrieval of a content program are sequentially executed for the recording devices 400 with the identifiers. That is, FIG. 58 illustrates a process for a plurality of content that can be activated.
  • [0667]
    At step S621, recording devices 400 (i) installed in the recording and reproducing device 300 are authenticated. A plurality of (n) recording devices 400 are sequentially imparted with identifiers 1 to n.
  • [0668]
    At step S622, it is determined whether or not the authentication at step S621 has been successful. If so, the process proceeds to step S623, where programs that can be activated are retrieved from the recording media of the recording devices 400 (i). If the authentication has failed, the process proceeds to step S627 where it is determined whether or not there is a new recording device 400 from which content can be retrieved. Without such a recording device 400, the process is ended. Otherwise, the process advances to step S628 to update the recording device identifier i and repeat step S621 and the subsequent authentication process steps.
  • [0669]
    At step S623, programs that can be activated are detected from the content data stored in the recording devices 400 (i). Specifically, this is executed as a process of extracting content for which the content type contained in the usage policy of the content data indicates a program.
  • [0670]
    At step S624, it is determined whether or not the content (of which the content type is a program) has been extracted. If such content has been extracted, one of the extracted programs which has the top priority is selected at step S625, and the selected program is executed at step S626.
  • [0671]
    If it is determined at step S624 that no content (of which the content type is a program) has been extracted, the process proceeds to step S627 to determine whether or not there is a new recording device 400 from which content can be retrieved. Without such a recording device 400, the process is ended. Otherwise, the process proceeds to step S628 to update the recording device identifier i and repeat step S621 and the subsequent authentication process steps.
  • [0672]
    FIG. 59 illustrates an example of a process for a plurality of content that can be activated. At step S651, recording devices 400 that are accessible to the recording and reproducing device 300 are authenticated. For instance, an accessible DVD device, CD drive, hard disc device, and game cartridge or the like are authenticated. Each recording device 400 is authenticated under the control of the control section 301 (shown in FIG. 2). This is done, for example, in accordance with the procedure previously explained in FIG. 20.
  • [0673]
    Next, at step S652, programs that can be activated are detected from the content data stored in the memory of the successfully authenticated recording device 400. Specifically, this is executed as a process of extracting content for which the content type (contained in the usage policy of the content data) indicates a program.
  • [0674]
    Then at step S653, information (such as the name of the program that can be activated and which has been extracted at step S652) is displayed on a display means. Although the display means is not shown in FIG. 2, AV output data are output to the display means (not shown). User provided information, such as a program name for each content data, is stored in the content ID of the content data. This is done so that program information (such as a program name for each authenticated content data) is output to the output means via the control section 301 that is under the control of the main CPU 106 shown in FIG. 2.
  • [0675]
    Then at step S654, the main CPU 106 receives the user's program selection input from the input means. The input means can be the input interface, controller, mouse, or keyboard shown in FIG. 2. Input occurs via the interface 110. At step S655, the user selected program is executed in accordance with the selection input.
  • [0676]
    As described above, in the data processing apparatus according to the present invention, the program activation priority is stored in the usage policy (which is in the header of the content data) so that the recording and reproducing device 300 activates programs in accordance with this priority. Alternatively, the display means can display activated program information from which the user can select a desired program. This configuration eliminates the need for the user to retrieve programs, saving the amount of time and labor required for the activation. Additionally, the programs that can be activated are activated after all the recording devices 400 have been authenticated or are shown to be such programs. This thereby eliminates the complexity of the process, such as the need to validate a program after selection.
  • [0000]
    (15) Content Configuring and Reproducing (Decompressing) Process
  • [0677]
    In the data processing apparatus according to the present invention, the recording and reproducing device 300 downloads content from the medium 500 or the communication means 600, or reproduces data from the recording device 400, as described above. The above description focuses on the processing of encrypted data associated with the downloading or reproduction of content.
  • [0678]
    The control section 301 of the recording and reproducing device 300 in FIG. 3 generally controls the authentication, encryption, and decryption processes associated with the downloading or reproduction of content data from the device 500, the communication means 600, or the recording device.
  • [0679]
    Reproducible contents resulting from these processes are, for example, sound data, image data or the like. Decrypted data from the control section 301 is placed under the control of the main CPU (shown in FIG. 2) and output to the AV output section, depending on the sound or image data. If, the content is, for example, sound data that has been MP3-compressed, an MP3 decoder in the AV output section (shown in FIG. 2) decrypts and outputs the sound data. If the content data includes images that have been MPEG2-compressed, an MP2 decoder in the AV output section decompresses and outputs the image data. In this manner, the data contained in the content data may have or have not been compressed (encoded). The data is output after being processed depending on the content.
  • [0680]
    However, due to various types of compression and decompression process programs, even if the content provider provides compressed data, this data cannot be reproduced without a corresponding decompression process executing program.
  • [0681]
    Thus, the present invention discloses a data processing apparatus wherein compressed data and a decryption (decompression) process program therefor are stored in data content. Alternatively, link information for the compressed data and the decryption (decompression) process program therefor is stored as header information in the content data.
  • [0682]
    FIG. 60 is a view obtained by simplifying elements from the general view of data processing shown in FIG. 2, which relate to the present configuration. The recording and reproducing device 300 receives various content from the device 500 (such as a DVD or a CD), the communication means 600, or the recording device 400 (such as a memory card, which stores content). This content can include various data such as sound data, still images, animated image data, and program data which has or has not been encrypted or compressed.
  • [0683]
    If the received content has been encrypted, the decryption process is executed using a method such as that described above and based on the control of the control section 301 and the cryptography process of cryptography process section 302. The decrypted data is transferred to the AV process section 109 under the control of the CPU 106, where the data are stored in a memory 3090 of the AV process section 109. Then, a content analysis section 3091 analyzes the configuration of the content. If, for example, a data decompressing program is stored in the content, it is stored in a program storage section 3093. If, the content contains sound, image data or the like, this data are stored in a data storage section 3092. A decompression process section 3094 uses a decompression process program, such as MP3 (which is stored in the program storage section), to decompress compressed data stored in the data storage section 3092. The data is then output to speakers 3001 or a monitor 3002.
  • [0684]
    Next, some examples of configurations of data received by the AV process section 109 (via the control section 301) and of relevant processes will be explained. Here, sound data will be shown as an example of content. Content with the MP3 applied thereto will be described as a representative compression program. This configuration, however, is applicable to image data as well as sound data. Various programs for MPEG2 or MPEG4 can be applied thereto instead of MP3.
  • [0685]
    FIG. 61 shows an example of the configuration of content. This figure shows sound data 6102 compressed by means of the MP3, and a MP3 decryption (decompression) process program 6101. Sound data 6102 and MP3 decryption process program 6101 are integrated together into one content block. Such content blocks are each stored in the medium 500 or the recording device 400, and are distributed from the communication means 600 as a single content block. If these content blocks have been encrypted as previously described, the recording and reproducing device 300 uses the cryptography process section 303 to decrypt the content and then transfers it to the AV process section 109.
  • [0686]
    The content analysis section 3091 of the AV process section 109 analyzes the received content, takes a sound data decompression program (MP3 decoder) section out from the content, and stores it in the program storage section 3093. The sound data decompression program comprises a sound data decompression program (MP3 decoder) section and a compressed sound data section. The compressed sound data is stored in the data storage section 3092. The content analysis section 3091 may receive information such as a content name or content configuration information in addition to the content or it may analyze the content based on identification data such as a data name, or other data such as a data length or a data configuration, which are all contained in the content. Then, a compression and decompression process section 3094 decompresses the MP3-compressed sound data stored in the data storage section 3092 in accordance with the sound data decompression program (MP3 decoder) (stored in the program storage section 3093). The AV process section 109 then outputs the decompressed sound data to the speakers 3001.
  • [0687]
    FIG. 62 shows an example of a process for reproducing data of the content configuration in FIG. 61. At step S671, a data name stored in the memory 3090 of the AV process section 109 (for example, information such as the title of music present if the content is sound data) is taken out from the information received separately from the content, or from data in the content, and is then displayed on the monitor 3002. At step S672, the user's selection is received from one of the various input means, such as the switches and the keyboard via the input interface 110. A reproduction process command, based on user input data, is then output to the AV process section 109, which is under the control of the CPU 106. At step S673, the AV process section 109 extract and decompress data selected by the user.
  • [0688]
    Next, FIG. 63 shows an example of a configuration wherein the content contains either compressed sound data or the decompression process program. It also contains content information indicating what the content contains, such as header information for each content.
  • [0689]
    As shown in FIG. 63, if the content is a program 6202, the content contains as header information 6201, content identification information indicating that this is a program and that the type of program is to be MP3-decompressed. On the other hand, if sound data 6204 is contained as content, the content information in the header 6203 indicates that the data has been MP3-compressed. This header information can be configured by selecting only information required for reproduction from the data contained in the usage policy (see FIG. 5). This is done as shown in the above-described content data configuration, for example, in FIG. 4. This information is added to the content transferred to the AV process section 109. Specifically, identification values for usage policy data, required for the cryptography process section 302 and for data required for the AV process section 109 during the reproduction process, are added to each constituent data of the “usage policy” shown in FIG. 5. Only data indicating that these identification values are required for the AV process section 109 are extracted as header information.
  • [0690]
    On receiving each content block shown in FIG. 63, the content analysis section 3091 of the AV process section 109 stores, in accordance with the header information, a program content in the program storage section 3093, if the content is a program. Otherwise, it stores the program content in the data storage section 3092 if the content is data. Thereafter, the compression and decompression section 3094 takes the data out from the data storage section and decompresses it in accordance with the MP3 program stored in the program storage section 3093. This is done before outputting the decompressed data. If the program storage section 3093 has the same program already stored therein, the program storage process may be omitted.
  • [0691]
    FIG. 64 shows an example of a process for reproducing data of the content configuration in FIG. 63. At step S675, a data name is taken out from the information received separately from the content or from the header in the content, and is then displayed on the monitor 3002. The data name, stored in the memory 3090 of the AV process section 109, is, for example, information such as the title of music (if the content is sound data). At step S676, the user's selection is received from one of the various input means, such as the switches and the keyboard, via the input interface 110.
  • [0692]
    Then at step S677, a data reproducing program (for example, the MP3,) corresponding to the user selection, is retrieved. The maximum range of this program retrieval is preferably set as the possible access range of the recording and reproducing device 300. For example, the media 500, communication means 600, and recording device 400 shown in FIG. 60 are included in the retrieval range.
  • [0693]
    The only content passed to the AV process section 109 is the data section. The program content may be stored in another recording medium 500 in the recording and reproducing device 300. Alternatively, the program content may be provided by the content provider via the medium 500, such as a DVD or a CD. Accordingly, the retrieval range is set as the possible access range of the recording and reproducing device 300. When a reproduction program is found as a result of the retrieval, a reproduction process command, based on the user input data, is output to the AV process section 109 (under the control of the CPU 106). At step S679, the AV process section 109 extracts and decompress data depending on the user's selection. In another embodiment, the program retrieval is executed before step S675, so that only the data in which the program has been detected are displayed at step S675.
  • [0694]
    Next, FIG. 65 shows an example of a configuration wherein content contains compressed sound data 6303 and decompressed process program 6302, and further contains a content reproduction priority as header information 6301 therefor. This is an example of the above content configuration in FIG. 61 with the reproduction priority added thereto as header information. As in the above described section “(14) Program Activating Process Based on Activation Priority in Usage Policy in Content Data,” the order of reproduction is determined based on a reproduction priority set among content received by the AV process section 109.
  • [0695]
    FIG. 66 shows an example of a process for reproducing data of the content configuration in FIG. 65. At step S681, data stored in the memory 3090 of the AV process section 109 (that is, data information for data to be reproduced) is set in a retrieval list. The retrieval list is set using some areas of the memory in the AV process section 109. Then at step S682, the content analysis section 3091 of the AV process section 109 selects data of top priority. At step S683, it reproduces the selected data.
  • [0696]
    Next, FIG. 67 shows an example of a configuration wherein content comprises a combination of header information and program data 6402, or header information 6403 and compressed data 6404. A reproduction priority is added only to the header 6403 of the data content.
  • [0697]
    FIG. 68 shows an example of a process for reproducing data of the content configuration in FIG. 67. At step S691, data stored in the memory 3090 of the AV process section 109 (that is, data information for data to be reproduced) is set in a retrieval list. The retrieval list is set using some areas of the memory in the AV process section 109. Then at step S692, the content analysis section 3091 of the AV process section 109 selects data of top priority.
  • [0698]
    Then at step S693, a data reproducing program (for example, the MP3), corresponding to the user selection, is retrieved. As in the process in the flow in FIG. 64, the maximum range of this program retrieval is preferably set as the possible access range of the recording and reproducing device 300. For example, the media 500, communication means 600, and recording device 400 (shown in FIG. 60) are included in the retrieval range.
  • [0699]
    When a reproduction program is found as a result of the retrieval (Yes at step S694), the selected data is decompressed and reproduced using the program obtained as a result of the retrieval.
  • [0700]
    On the other hand, if no program is found as a result of the retrieval (No at step S694), the process proceeds to step S696. Step 696 deletes the remaining data contained in the retrieval list (set at step S691) that must be reproduced using the same program. This is because it is apparent that a new attempt to retrieve a reproduction program from this data fails. Furthermore, when it is determined whether or not the retrieval list is empty (and if the list is determined not to be empty), the process returns to step S692 to extract data of the next highest priority to execute the program retrieving process.
  • [0701]
    Thus, according to this configuration, if the compressed content is constructed with its decryption (decompression) program the process section (for example, the AV process section) receiving the content uses the decompression process program attached to the compressed data in order to execute the decompression and reproduction process. Alternatively, the process section retrieves the decompression and reproduction program based on the header information in the compressed data to execute the decompression and reproduction process in accordance with the program obtained as a result of the retrieval. The compressed data can also comprise only data obtained by compressing the content or only the decompression process program, since it has the header information indicating what compressed data the content is or what process the content executes. This eliminates the needs for processes executed by the user, such as the selection and retrieval of the data decompressing program, thereby enabling efficient data reproduction. Moreover, the configuration with the reproduction priority in the header enables the reproduction order to be automatically set to allow the user to omit the operation of setting the reproduction order.
  • [0702]
    In the above described embodiments, the MP3 is taken as an example of a decompression process program for compressed sound data content and sound compressed data. This configuration is also applicable to content containing compressed data, or a decompression process program for compressed image data, and provides similar effects in other case.
  • [0000]
    (16) Generation of Save Data and Storage and Reproduction of the Same in and from Recording Device
  • [0703]
    If, for example, the content executed in the recording and reproducing device 300 is a game program or the like and if the game program is to be resumed a predetermined period of time after suspension, the state of the game is saved at the time of the suspension. That is, the state of the game is stored in the recording device 400 so as to be read out on resumption, enabling the game to be continued.
  • [0704]
    In conventional recording and reproducing devices 400 for game apparatuses, personal computers, or the like, a save data preservation configuration is provided with such a configuration. This preserves save data in a recording medium 500, such as a memory card, a floppy disk, a game cartridge, or a hard disk, which can be built into the recording and reproducing device 300 or externally attached thereto. In particular, however, these recording and reproducing devices 300 have no configuration for maintaining the security of the save data and carry out the save process using, for example, specifications common to a game application program.
  • [0705]
    Thus, for example, save data saved using a recording and reproducing device A may be used or rewritten by another game program. However, little attention has been paid to the security of the save data.
  • [0706]
    The data processing apparatus according to the present invention provides a configuration that can maintain the security of save data. For example, save data for a certain game program is encrypted based on information used only by this game program before being stored in the recording device 400. Alternatively, the save data is encrypted based on information unique to the recording and reproducing device 300 before being stored in the recording device 400. These methods enables the usage of the save data to be limited to particular apparatuses or programs to maintain the security of the data. “Generation of Save Data and Storage and Reproduction of the Same in and from Recording Device” in the present data processing apparatus will be explained below.
  • [0707]
    FIG. 69 is a block diagram illustrating a save data storage process in the present data processing apparatus. Content from the medium 500, such as a DVD or CD, or from the communication means 600, is provided to the recording and reproducing device 300. The provided content has been encrypted with the content key Kcon. Kcon is a key unique to the content as described above. The recording and reproducing device 300 obtains the content key in accordance with the process described in the above described section “(7) Process for Downloading from Recording and Reproducing Device to Recording device” (see FIG. 22), to decrypt the encrypted content, and then stores it in the recording device 400. The following description is directed to a process executed by the recording and reproducing device 300 to decrypt a content program from the medium 500 or the communication means 600. It reproduces and executes this program, and then stores the obtained save data in one of the various recording devices 400A, 400B, and 400B (such as external or built-in memory card and hard disk) for reproduction. Or it downloads content in the recording device 400A, reproduces and executes the content from the recording device 400A, and stores the resulting save data in a processing and recording device 400, for storing the save data in any one of the various recording devices 400A, 400B, and 400B (such as external or built-in memory card and hard disk for reproduction and reproducing the save data).
  • [0708]
    The recording and reproducing device 300 has the recording and reproducing device identifier IDdev, the system signature key Ksys (which is a signature key shared throughout the system), the recording and reproducing device signature key Kdev (which is unique to individual recording and reproducing devices), and the master keys for generating various individual keys, as previously described. The master keys are used to generate, for example, the distribution key Kdis or the authentication key Kake, as described in detail in “(12) Configuration for Generating Cryptography Process Keys Based on Master Keys.” Here, the type of the master key is not particularly limited, but a key representing the master keys of the recording and reproducing device 300 is denoted by MKx. FIG. 69 shows an example of the cryptography key, Ksav, for save data in the lower part of the figure. The save data cryptography key, Ksav, is used for the encryption process executed to store save data in one of the various recording device 400A to C, and for the decryption process executed to reproduce these data therefrom. The processes for storing and reproducing save data will be explained with reference to FIG. 70 and subsequent figures.
  • [0709]
    FIG. 70 is a flow chart of a process of storing save data in one of the recording device 400A to C using either the content unique key or the system common key. The process in each flow is executed by the recording and reproducing device 300. The recording device 400 storing the save data in each flow may be any of the external recording devices 400A to C, but is not limited to a particular one.
  • [0710]
    At step S701, the recording and reproducing device 300 reads out the content ID, for example, the game ID. This ID is the data contained in the identification information in the content data shown in the previously described FIGS. 4, 26, 27, and 32 to 35. On receiving a command for storage of save data via the interface 110 (shown in FIG. 2), the main CPU 106 commands the control section 301 to read the content ID.
  • [0711]
    The control section 301 takes the identification information out from the header in the content data via the read section if the execution program is content from a DVD, a CD-ROM, or the like (which is executed via the read section 304), or takes it out via the recording device controller 303 (if the execution program is a content stored in the recording device 400). If the recording and reproducing device 300 is executing the content program and the content ID has already been stored in RAM or another accessible recording medium in the recording and reproducing device 300, the identification information contained in the loaded data may be used without executing a new read process.
  • [0712]
    Then at step S702, the process is changed depending on whether or not the program is to be localized. The program localization is used to set whether or not a limitation is added that allows save data to be used only by this program. To allow the save data to be used only by this program, “Program Localization” is set to “Yes.” To prevent the usage of the data from being limited to this program, “Program Localization” is set to “No.” This may be arbitrarily set by the user or may be set and stored in the content program by the content producer. The set localization is stored in one of the recording devices 400A to C (of FIG. 69) as a data managing file.
  • [0713]
    FIG. 71 shows an example of the data managing file. The data managing file is generated as a table. The table contains entries including data numbers, content IDs, recording and reproducing device IDs, and program localization. The content ID is identification data for a content program for which save data is saved. The recording and reproducing device ID indicates a recording and reproducing device 300 that has stored the save data. An example thereof is [IDdev], shown in FIG. 69. The program localization is set to “Yes” in order to allow the save data to be used only by this program, or to “No” in order to prevent the usage of the data from being limited to this program. The program localization may be arbitrarily set by the user using the content program, or may be set and stored in the content program by the content producer.
  • [0714]
    Referring back to FIG. 70, if the program localization is set to “Yes” at step S702, the process proceeds to step S703. At step 703, the key unique to the content, for example, the content key Kcon, is read out from the content data and used as the save data cryptography key Ksav. Otherwise, the save data cryptography key, Ksav, is generated based on the content unique key.
  • [0715]
    On the other hand, if the program localization is set to “No” at step S702, the process proceeds to step S707. At step 707, the system common key stored in the recording and reproducing device 300 (for example, the system signature key), Ksys is read out from the internal memory 307 of the recording and reproducing device 300 and is used as the save data cryptography key Ksav. Otherwise, the save data cryptography key, Ksav, is generated based on the system signature key Ksys. Alternatively, a cryptography key different from the other keys (which have been separately saved to the internal memory 307 of the recording and reproducing device 300) may be used as the save data cryptography key Ksav.
  • [0716]
    Then at step S704, the save data cryptography Ksav selected or generated at step S703 or S707, is used to execute a process for encrypting save data. This encryption process is executed by the cryptography process section 302 (see FIG. 2) by applying, for example, the above described DES algorithm.
  • [0717]
    The save data encrypted at step S704 is stored in the recording device at step S705. If there are a plurality of recording devices 400 that can store save data (as shown in FIG. 69), the user selects one of the recording devices 400A to C in advance as a save data storage destination. Further, at step S706, the program localization set at step S702 (that is, “Yes” or “No” for the program localization) is written to the data managing file described with reference to FIG. 71.
  • [0718]
    The process for storing the save data is thus completed. At step S702, save data for which “Yes” is selected for the program localization at step S702, and which are encrypted at step S703 with the save data encryption key Ksav (generated based on the content unique key) is prevented from being decrypted by content programs having no content unique key information. Thus, these save data can be used only by content programs having the same content key information. In this case, however, the save data encryption key Ksav is not generated based on information unique to the recording and reproducing device 300, so that save data stored in a removable recording device 400 (such as a memory card) can be reproduced even from a different recording and reproducing device 300, as long as they are used together with a corresponding content program.
  • [0719]
    Additionally, save data for which “No” is selected for the program localization at step S702 (and which are encrypted at step S707 with the save data encryption key Ksav) can be reproduced and used, even if a program with a different content identifier is used, or if a different recording and reproducing device 300 is used.
  • [0720]
    FIG. 72 illustrates a process for reproducing save data stored by means of the save data storage process in FIG. 20.
  • [0721]
    At step S711, the recording and reproducing device 300 reads out the content ID, for example, the game ID. This is a process similar to step S701 previously described in FIG. 70, and which reads out data contained in the identification information of the content data.
  • [0722]
    Then at step S712, the data managing file (described with reference to FIG. 71) is read out from one of the recording devices 400A to C (shown in FIG. 69). The content ID (read out at step S711) and correspondingly set program localization are extracted therefrom. In step S713, if the data managing file has the program localization set to “Yes,” the process proceeds to step S714. If the data managing file has the program localization set to “No,” the process advances to step S717.
  • [0723]
    At step S714, the key unique to the content (for example, the content key Kcon) is read out from the content data and is used as the save data decryption key Ksav. Or, the save data decryption key Ksav is generated based on the content unique key. This decryption key generating process uses a process algorithm corresponding to the encryption key generating process. That is, a decryption key generating algorithm that enables data encrypted based on a certain content unique key to be decrypted with a decryption key generated based on the same content unique key.
  • [0724]
    On the other hand, if it is determined at step S713 that the data managing file has the program localization set to “No,” then at step S717, the system common key (stored in the recording and reproducing device 300), is read out from the internal memory 307 of the recording and reproducing device 300 and is used as the save data decryption key Ksav. Or, the save data decryption key Ksav is generated based on the system signature key Ksys. Alternatively, a cryptography key different from the other keys that have been separately saved to the internal memory 307 of the recording and reproducing device 300 may be used as the save data cryptography key Ksav.
  • [0725]
    Then at step S715, the save data decryption key Ksav, selected or generated at step S714 or S717, is used to execute a process for decrypting save data. At step S716, the decrypted save data is reproduced and executed in the recording and reproducing device 300.
  • [0726]
    The save data reproduction process is thus completed. As described above, the save data decryption key is generated based on the content unique key if the data managing file has the program localization set to “Yes,” otherwise, the save data decryption key is generated based on the system common key if the data managing file has the program localization set to “No.” If the program localization is set to “Yes,” a decryption key cannot decrypt the save data without the same content ID for the content, thereby enabling the security of the save data to be improved.
  • [0727]
    FIGS. 73 and 74 show save data storage and reproduction flows, respectively, that generate save data encryption and decryption keys using the content ID.
  • [0728]
    In FIG. 73, steps S721 to S722 are similar to steps S701 and S702 in FIG. 70, so description thereof is omitted.
  • [0729]
    If the program localization is set to “Yes” at step S722, then at step S723, the content ID is read out from the content data and is used as the save data decryption key Ksav, or the save data decryption key Ksav is generated based on the content ID. For example, the cryptography process section 307 of the recording and reproducing device 300 can apply the master key MKx (stored in the internal memory of the recording and reproducing device 300), to the content ID read out from the content data. This is done to obtain the save data decryption key Ksav that is based, for example, on the DES (MKx, content ID). Alternatively, a cryptography key different from the other keys (which have been separately saved to the internal memory 307 of the recording and reproducing device 300) may be used as the save data decryption key Ksav.
  • [0730]
    On the other hand, if the program localization is set to “No” at step S722, then at step S727, the system common key stored in the recording and reproducing device 300 (for example, the system signature key Ksys) is read out from the content data and is used as the save data encryption key Ksav, or the save data encryption key Ksav is generated based on the system signature key. Alternatively, a cryptography key different from the other keys (which have been separately saved to the internal memory 307 of the recording and reproducing device 300) may be used as the save data decryption key Ksav.
  • [0731]
    The processing at step S724 and the subsequent steps is similar to that at step S704 and the subsequent steps in the process flow in FIG. 70, and description thereof is thus omitted.
  • [0732]
    FIG. 74 shows a process flow for reproducing and executing save data stored in the recording device 400 during the save data storage process flow in FIG. 73. Steps S731 to S733 are similar to the corresponding processing in the above-described FIG. 72, except for step S734. At step 734, the content ID is read out from the content data and is used as the save data decryption key Ksav, or the save data decryption key, Ksav is generated based on the content ID. This decryption key generating process uses a process algorithm corresponding to the encryption key generating process. That is, a decryption key generating algorithm that enables data encrypted based on a certain content ID to be decrypted with a decryption key generated based on the same content ID.
  • [0733]
    The subsequent processing, steps S735, S736, and S737 are similar to the corresponding processing in FIG. 72, and description thereof is thus omitted. According to the save data storage and reproduction processes in FIGS. 73 and 74, if the program localization is set to “Yes,” the content ID is used to generate the save data encryption and decryption keys, so that as in the above save data storage and reproduction processes using the content unique key, save data cannot be obtained without matching the corresponding content program, thereby enabling save data to be saved more securely.
  • [0734]
    FIGS. 75 and 77 show save data storage (FIG. 75) and reproduction (FIG. 77) flows, respectively, that generate save data encryption and decryption keys using the recording and reproducing device unique key.
  • [0735]
    In FIG. 75, step S741 is similar to step S701 in FIG. 70, so description thereof is omitted. At step S742, localization is or is not set for the recording and reproducing device 300. In the case of localizing a particular recording and reproducing device 300 capable of utilizing the save data, a recording and reproducing device localization, is set to “Yes.” That is, the save data is allowed to be used only by the recording and reproducing device that has generated and stored the data. To allow other recording and reproducing device to use the save data, the recording and reproducing device localization is set to “No.” If the recording and reproducing device localization is set to “Yes” at step S742, the process proceeds to step S743, and if this localization is set to “No,” the process proceeds to step S747.
  • [0736]
    An example of the data managing file is shown in FIG. 76. The data managing file is generated as a table. The table contains entries including data numbers, content IDs, recording and reproducing device IDs, and recording and reproducing device localization. The content ID is identification data for a content program for which save data is saved. The recording and reproducing device ID indicates a recording and reproducing device 300 that has stored the save data. An example thereof is [IDdev], shown in FIG. 69. The recording and reproducing device localization is set to “Yes” in order to limit the usage of the save data to a particular recording and reproducing device 300. That is, the save data is allowed to be used only by the recording and reproducing device that has generated and stored the data. Recording and reproducing device localization is set to “No” in order to allow other recording and reproducing devices 300 to use the save data. The recording and reproducing device localization may be arbitrarily set by the user using the content program, or may be set and stored in the content program by the content producer.
  • [0737]
    In the save data storage process flow in FIG. 75, if the recording and reproducing device localization is set to “Yes” at step S742, the recording and reproducing device unique key (for example, the recording and reproducing device signature key, Kdev) is read out from the internal memory 307 of the recording and reproducing device 300 data, and is used as the save data encryption key, Ksav, or the save data encryption key Ksav is generated based on the recording and reproducing device signature key Kdev. Alternatively, a cryptography key, different from the other keys which has been separately saved to the internal memory 307 of the recording and reproducing device 300, may be used as the save data decryption key Ksav.
  • [0738]
    On the other hand, if the recording and reproducing device localization is set to “No” at step S742, then at step S747 the system common key (stored in the recording and reproducing device 300—for example, the system signature key Ksys) is read out from internal memory 307 of the recording and reproducing device 300 and used as the save data encryption key Ksav, or the save data encryption key Ksav is generated based on the system signature key. Alternatively, a cryptography key, different from the other keys which has been separately saved to the internal memory 307 of the recording and reproducing device 300, may be used as the save data decryption key Ksav.
  • [0739]
    The processing at steps S744 and S745 is similar to the corresponding processing in the process flow in FIG. 72, and description thereof is thus omitted.
  • [0740]
    At step S746, the content ID, the recording and reproducing device ID, and the recording and reproducing device localization “Yes/No” (set by the user at step S742) are written to the data managing file (see FIG. 76).
  • [0741]
    Furthermore, FIG. 77 shows a process flow for reproducing and executing save data stored in the recording device 400 during the save data storage process flow in FIG. 75. At step S751, the content ID is read out as in the corresponding processing in the above described in relation to FIG. 72. Then at step S752, the recording and reproducing device ID (IDdev). stored in the memory of the recording and reproducing device 300. is read out.
  • [0742]
    At step S753, the content ID, the recording and reproducing device ID, and the set recording and reproducing device localization “Yes/No” are read out from the data managing file (see FIG. 76). If any entry in the data managing file (which has the same content ID) has the recording and reproducing device localization set to “Yes,” the process is ended if the table entry has a recording and reproducing device ID different from that read out at step S752.
  • [0743]
    Next, if it is determined at step S754 that the data managing file has the recording and reproducing device localization set to “Yes,” the process proceeds to step S755. If the data managing file has the recording and reproducing device localization set to “No,” the process proceeds to step S758.
  • [0744]
    At step S755, the recording and reproducing device unique key (for example, the recording and reproducing device signature key Kdev) is read out from the internal memory 307 of the recording and reproducing device 300 data and is used as the save data decryption key Ksav. Or, the save data encryption key Ksav is generated based on the recording and reproducing device signature key Kdev. This decryption key generating process uses a process algorithm corresponding to the encryption key generating process. That is, a decryption key generating algorithm is used that enables data encrypted based on a certain recording and reproducing device unique key to be decrypted with a decryption key (that was generated based on the same recording and reproducing device unique key) Alternatively, a cryptography key, different from the other keys, which has been separately saved to the internal memory 307 of the recording and reproducing device 300, may be used as the save data decryption key Ksav.
  • [0745]
    On the other hand, at step S758, the system common key stored in the recording and reproducing device 300 (for example, the system signature key Ksys) is read out from internal memory 307 of the recording and reproducing device 300 and used as the save data decryption key Ksav. Or, the save data decryption key Ksav is generated based on the system signature key. Alternatively, a cryptography key different from the other keys (which has been separately saved to the internal memory 307 of the recording and reproducing device 300) may be used as the save data decryption key Ksav. The processing at the subsequent steps S756 and 757 are similar to that at the corresponding steps in the above described save data reproduction process flow.
  • [0746]
    According to the save data storage and reproduction process flows shown in FIGS. 75 and 77, save data for which the recording and reproducing device localization is set to “Yes” is encrypted and decrypted using the recording and reproducing device unique key. This save data can thus be decrypted and used only by the recording and reproducing device 300 having the same recording and reproducing device unique key, i.e., the same recording and reproducing device 300.
  • [0747]
    Next, FIGS. 78 and 79 show process flows for generating encryption and decryption keys for save data using the recording and reproducing device ID and storing and reproducing the save data.
  • [0748]
    In FIG. 78, the recording and reproducing device ID is used to encrypt and store save data in the recording device 400. Steps S761 to S763 are similar to those in the above FIG. 75. At step S764, the recording and reproducing device ID (IDdev), read out from the recording and reproducing device, is used to generate the save data encryption key Ksav. The save data encryption key Ksav is obtained based on the Iddev. This is done, for example, applying the IDdev as the save data encryption key Ksav, or applying the master key MKx (stored in the internal memory of the recording and reproducing device 300) to obtain the save data encryption key Ksav based on the DES (MKx, IDdev). Alternatively, a cryptography key different from the other keys which have been separately saved to the internal memory 307 of the recording and reproducing device 300, may be used as the save data decryption key Ksav.
  • [0749]
    The subsequent process steps S765 to S768 are similar to the corresponding processing in the above described FIG. 75, so description thereof is omitted.
  • [0750]
    FIG. 79 shows a process flow for reproducing and executing the save data stored in the recording device 400 by means of the process in FIG. 78. Steps S771 to S774 are similar to the corresponding processing in FIG. 77.
  • [0751]
    At step S775, the recording and reproducing device ID (Iddev), read out from the recording and reproducing device, is used to generate the save data decryption key Ksav. The save data encryption key Ksav is obtained based on the Iddev. This is performed by, for example, applying the IDdev as this key Ksav, or applying the master key MKx (stored in the internal memory of the recording and reproducing device 300) to obtain this key Ksav based on the DES (MKx, IDdev). This decryption key generating process uses a process algorithm corresponding to the encryption key generating process. That is, a decryption key generating algorithm that enables data encrypted based on a certain recording and reproducing device unique key to be decrypted with a decryption key generated based on the same recording and reproducing device unique key. Alternatively, a cryptography key, different from the other keys which has been separately saved to the internal memory 307 of the recording and reproducing device 300, may be used as the save data decryption key Ksav.
  • [0752]
    The subsequent process steps S776 to S778 are similar to the corresponding processing in the above described FIG. 76.
  • [0753]
    According to the save data storage and reproduction process flows shown in FIGS. 78 and 79, save data for which the recording and reproducing device localization is set to “Yes” is encrypted and decrypted using the recording and reproducing device unique key. This save data can thus be decrypted and used only by the recording and reproducing device 300 having the same recording and reproducing device unique key, that is, the same recording and reproducing device 300.
  • [0754]
    Next, save data storage and reproduction processes of executing both the above described program localization and recording and reproducing device localization will be explained with reference to FIGS. 80 to 82.
  • [0755]
    FIG. 80 shows a save data storage process flow. At step S781, the content ID is read out from the content data, at step S782, it is determined whether the program localization is set, and at step S783, it is determined whether the recording and reproducing device localization is set.
  • [0756]
    If both the program localization and the recording and reproducing device localization are set to “Yes”, then at step S785 the save data encryption key Ksav is generated based on both the content unique key (ex. Kcon) and the recording and reproducing device unique key (Kdev). The save data encryption key is obtained, for example, based on Ksav=(Kcon XOR Kdev) or by applying the master key MKx (stored in the internal memory of the recording and reproducing device 300) to obtain this key based on Ksav=DES (MKx, Kcon XOR Kdev). Alternatively, a cryptography key, different from the other keys which have been separately saved to the internal memory 307 of the recording and reproducing device 300, may be used as the save data decryption key Ksav.
  • [0757]
    If the program localization is set to “Yes” while the recording and reproducing device localization is set to “No,” then at step S786, the content unique key (ex. Kcon) is used as the save data encryption key Ksav. Or, the save data encryption key Ksav is generated based on the content unique key (ex. Kcon).
  • [0758]
    If the program localization is set to “No” while the recording and reproducing device localization is set to “Yes,” then at step S787, the recording and reproducing device unique key (Kdev) is used as the save data encryption key Ksav. Or, the save data encryption key Ksav is generated based on the recording and reproducing device unique key (Kdev). Alternatively, a cryptography key, different from the other keys (which have been separately saved to the internal memory 307 of the recording and reproducing device 300), may be used as the save data decryption key Ksav.
  • [0759]
    Further, if both the program localization and the recording and reproducing device localization are set to “No,” then at step S787, the system common key (for example, the system signature key Ksys) is used as the save data encryption key Ksav. Or, the save data encryption key Ksav is generated based on the system signature key Ksys. Alternatively, a cryptography key, different from the other keys (which has been separately saved to the internal memory 307 of the recording and reproducing device 300), may be used as the save data decryption key Ksav.
  • [0760]
    At step S789, the save data encryption key Ksav generated at one of the steps S785 to S788, is used to encrypt the save data, which is then stored in the recording device 400.
  • [0761]
    Furthermore, at step S790, the localization (set at steps S782 and S783) is stored in the data managing file. The data managing file is configured, for example, as shown in FIG. 81, and contains entries including data numbers, content IDs, recording and reproducing device IDs, program localization, and recording and reproducing device localization.
  • [0762]
    FIG. 82 shows a process flow for reproducing and executing the save data stored in the recording device 400 by means of the process in FIG. 80. At step S791, the content ID and the recording and reproducing device ID are read out from the execution program. At step S792, the content ID, the recording and reproducing device ID, the program localization, and the recording and reproducing device localization are read out from the data managing file shown in FIG. 81. In this case, if the program localization is set to “Yes” and the content IDs are not the same, or if the recording and reproducing device localization is set to “Yes” and the recording and reproducing device IDs are not the same, the process is ended.
  • [0763]
    Then at steps S793, S794, and S795, the decryption key generating process is set to one of the four manners at steps 796 to S799 in accordance with the data recorded in the data managing file.
  • [0764]
    If both the program localization and the recording and reproducing device localization are set to “Yes,” then at step S796, the save data encryption key Ksav is generated based on both the content unique key (ex. Kcon) and the recording and reproducing device unique key (Kdev). Alternatively, a cryptography key different from the other keys (which have been separately saved to the internal memory 307 of the recording and reproducing device 300) may be used as the save data decryption key Ksav. If the program localization is set to “Yes” while the recording and reproducing device localization is set to “No,” then at step S797, the content unique key (ex. Kcon) is used as the save data encryption key Ksav. Or, the save data encryption key Ksav is generated based on the content unique key (ex. Kcon). Alternatively, a cryptography key different from the other keys (which have been separately saved to the internal memory 307 of the recording and reproducing device 300) may be used as the save data decryption key Ksav.
  • [0765]
    If the program localization is set to “No” while the recording and reproducing device localization is set to “Yes,” then at step S798, the recording and reproducing device unique key (Kdev) is used as the save data encryption key Ksav. Or, the save data encryption key Ksav is generated based on the recording and reproducing device unique key (Kdev). Alternatively, a cryptography key different from the other keys (which have been separately saved to the internal memory 307 of the recording and reproducing device 300) may be used as the save data decryption key Ksav. Further, if both the program localization and the recording and reproducing device localization are set to “No,” then at step S799, the system common key (for example, the system signature key Ksys) is used as the save data encryption key Ksav. Or, the save data encryption key Ksav is generated based on the system signature key Ksys. Alternatively, a cryptography key different from the other keys (which have been separately saved to the internal memory 307 of the recording and reproducing device 300) may be used as the save data decryption key Ksav.
  • [0766]
    These decryption key generating processes uses a process algorithm corresponding to the encryption key generating process. That is, a decryption key generating algorithm that enables data encrypted based on the same content unique key and recording and reproducing device unique key to be decrypted with a decryption key generated based on the same content unique key and recording and reproducing device unique key.
  • [0767]
    At step S800, the save data encryption key Ksav, generated at one of the steps S796 to S799, is used to execute the decryption process. The decrypted save data are reproduced and executed in the recording and reproducing device 300.
  • [0768]
    According to the save data storage and reproduction process flows shown in FIGS. 80 and 82, save data for which “Yes” is selected for the program localization is encrypted and decrypted with the content unique key. This save data can be decrypted and used only if content data having the same content unique key is used. Additionally, save data for which “Yes” is selected for the recording and reproducing device localization is encrypted and decrypted with the recording and reproducing device ID. This save data can be decrypted and used only by the recording and reproducing device having the same recording and reproducing device ID, that is, the same recording and reproducing device. Consequently, both the content and the recording and reproducing device can set the localization to further improve the security of the save data.
  • [0769]
    Although FIGS. 80 and 82 show the configuration for generating the save data encryption key and the decryption key using the content unique key and the recording and reproducing device unique key, the content ID and the recording and reproducing device ID may be used instead of the content unique key and the recording and reproducing device unique key, respectively, to generate the save data encryption key and the decryption key based on these IDs.
  • [0770]
    Next, a configuration for generating encryption and decryption keys, based on a password input by the user, will be described with reference to FIGS. 83 to 85.
  • [0771]
    FIG. 83 shows a process flow for generating a save data encryption key based on a password input by the user and storing save data in the recording device.
  • [0772]
    At step S821, the content ID is read out from the content data as in each of the above described processes. At step S822, the user determines whether to set the program localization. The data managing file set in this configuration has, for example, the configuration shown in FIG. 84.
  • [0773]
    As shown in FIG. 84, the data contains data numbers, content IDs, recording and reproducing device IDs, and user set program localization. The “user set program localization” is an entry that determines whether or not the usage of the program is limited to a particular user.
  • [0774]
    If the localization is set to “Yes” at step S822 in the process flow in FIG. 83, then at step S823, the user's password is input. The password is input from an input means such as the keyboard shown in FIG. 2.
  • [0775]
    The input password is output to the cryptography process section 302 (under the control of the main CPU 106 and the control section 301) and the processing at step S824 is executed. That is, the save data encryption key Ksav is generated based on the input user password. The save data encryption key Ksav may be generated by, for example, setting the password itself as this key Ksav or using the master key MKx of the recording and reproducing device to generate this key Ksav based on the save data encryption key Ksav=DES (MKx, password). Alternatively, a unidirectional function may be applied, using the password as an input, so that an encryption key can be generated based on an output from the function.
  • [0776]
    If the user localization is set to “No” at step S822, then at step S828, a save data encryption key is generated based on the system common key of the recording and reproducing device 300.
  • [0777]
    Further, at step S825, the save data encryption key Ksav (generated at step S824 or S828) is used to encrypt the save data, and at step S826, the encrypted save data is stored in the recording device 400.
  • [0778]
    At step S827, the program localization set by the user at step S822 is written to the data managing file in FIG. 84, so as to be associated with the content ID and the recording and reproducing device ID.
  • [0779]
    FIG. 85 illustrates a process for reproducing the save data stored by means of the process in FIG. 83. At step S831, the content ID is read out from the content data. At step S832, the content ID and the program localization set by the user are read out from the data managing file shown in FIG. 84.
  • [0780]
    At step S833, determination is made based on the data in the data managing file. If “the user set program localization” is set to “Yes,” then at step S834 the user is prompted to input a password. Then at step S835, a decryption key is generated based on the input password. This decryption key generating process uses a process algorithm corresponding to the encryption key generating process. That is, a decryption key generating algorithm is used that enables data encrypted based on a certain password to be decrypted with a decryption key generated based on the same password.
  • [0781]
    If it is determined at step S833 that the program localization by the user is set to “No,” then at step S837 the system common key stored in the internal memory of the recording and reproducing device 300 is used to generate the save data decryption key Ksav by using the system signature key Ksys. Alternatively, an encryption key, different from the other keys which have been separately saved to the internal memory 307 of the recording and reproducing device 300, may be used as the save data encryption key Ksav.
  • [0782]
    At step S836, the decryption key Ksav (generated at step S835 or S837) is used to decrypt the save data stored in the recording device. At step S838, the recording and reproducing device 300 reproduces and executes the save data.
  • [0783]
    According to the save data storage and reproduction process flows shown in FIGS. 83 and 85, save data for which “Yes” is selected for “the user set program localization” is encrypted and decrypted with the key based on the user input password. This is done so that this save data can be decrypted and used only if the same password is input, thereby improving the security of the save data.
  • [0784]
    The several aspects of the save data storage and reproduction processes have been described, but it is also possible to implement a process obtained by merging the above described processes together. For example, an aspect of generating save data encryption and decryption keys may be performed using an arbitrary combination of the password, the recording and reproducing device ID, the content ID, and other information.
  • [0000]
    (17) Configuration for Excluding (Revoking) Invalid Apparatuses
  • [0785]
    As described above, the data processing apparatus according to the present invention improves the security of provided content and allow such contents to be used only by valid users. It uses the configuration wherein the recording and reproducing device 300 executes processes such as authentication and encryption on various content data provided by the medium 500 (see FIG. 3), or the communication means 600, and then stores the data in the recording device 400.
  • [0786]
    As understood from the above description, the input content is authenticated, encrypted, and decrypted using the various signature keys, master keys, and integrity-check-value-generating keys (see FIG. 18) that are stored in the internal memory 307 (which is configured in the cryptography process section 302 of the recording and reproducing device 300). The internal memory 307 storing the key information is desirably characterized to restrain external illegal reads. It comprises a semiconductor chip that essentially rejects external accesses and has a multilayer structure, an internal memory sandwiched between dummy layers of aluminum or the like or arranged in the lowest layer, and a narrow range of operating voltages and/or frequencies. If, however, the key data or the like should be read out from the internal memory 307 and copied to an unauthorized recording and reproducing device 300, the copied key information may be used for invalid usage of the content.
  • [0787]
    A configuration for preventing the invalid use of content, based on invalid copying of a key, will be described below.
  • [0788]
    FIG. 86 is a block diagram illustrating “(17) Configuration for Excluding Invalid Apparatuses,” which corresponds to this configuration. The recording and reproducing device 300 is similar to the recording and reproducing device 300 shown in FIGS. 2 and 3. It has an internal memory, and the previously described various key data (FIG. 18) and recording and reproducing device ID. Here, the recording and reproducing device ID, the key data, or the like, copied by a third person, is not necessarily stored in the internal memory 307. The key data or the like in the recording and reproducing device 300 shown in FIG. 86 are collectively or distributively stored in a memory section accessible to the cryptography process section 302 (see FIGS. 2 and 3).
  • [0789]
    To implement the configuration for excluding invalid apparatuses, a list of invalid recording and reproducing device IDs is stored in the header section of the content data. As shown in FIG. 86, the content data holds a revocation list as the list of invalid recording and reproducing device IDs (IDdev). Further, a list integrity check value ICVrev is used to check the revocation list for tampering. The list of invalid recording and reproducing device IDs (IDdev) contains the identifiers IDdev of invalid recording and reproducing devices 300, determined by the content provider or manager, based on the state of distribution of invalid copies or the like. The revocation list may be encrypted with the distribution key Kdis before being stored. The decryption process executed by the recording and reproducing device 300 is similar to, for example, that in the content download process in FIG. 22.
  • [0790]
    Here, for better understanding, the revocation list is shown as single data in the content data, but may be contained, for example, in the previously described usage policy (for example, see FIGS. 32 to 35), which is a component of the header section of the content data. In this case, the previously described integrity check value ICVa is used to check the usage policy data containing the revocation list for tampering. If the revocation list is contained in the usage policy, the integrity check value A, ICVa, is used for the check, and the integrity-check-value-A-generating key, Kicva, in the recording and reproducing device 300 is used, thereby eliminating the need to store the integrity-check-value-generating key Kicv-rev.
  • [0791]
    If the revocation list is contained in the content data as independent data, the revocation list is checked using the list integrity check value ICVrev (for checking the revocation list for tampering), and an intermediate integrity check value is generated from the list integrity check value ICVrev and another partial integrity check value in the content data, and is used to carry out a verification process.
  • [0792]
    A method for checking the revocation list using the list integrity check value ICVrev for checking the revocation list for tampering is similar to the process for generating the integrity check value such as ICVa or ICVb as explained in the above-described FIGS. 23 and 24. That is, the calculation is executed in accordance with the ICV calculation method described in FIGS. 23 and 24 and other figures. The key used is the integrity-check-value-generating key, Kicv-rev (stored in the internal memory 307 of the recording and reproducing device cryptography process section 302), and using the revocation list contained in the content data as a message. The calculated integrity check value ICV-rev′ and the integrity check value ICV-rev (stored in the header), are compared together. If they are equal, it is determined that the list has not been tampered with.
  • [0793]
    The intermediate integrity check value, containing the list integrity check value ICVrev, is generated, for example, by using the total-integrity-check-value-generating key Kicvt as a key. Kicvt is stored in the infernal memory 307 of the recording and reproducing device cryptography process section 302. The ICV calculation method described in FIG. 7 and other figures is applied to a message string comprising the integrity check values A and B and list integrity check value ICVrev in the verified header. The content integrity check value is added thereto depending on the format, as shown in FIG. 25.
  • [0794]
    The revocation list and the list integrity check value are provided to the recording and reproducing device 300 via the medium 500 (such as a DVD or a CD), or the communication means 600, or via the recording device 400 (such as a memory card). In this case, the recording and reproducing device 300 may hold valid key data or illegally copied IDs.
  • [0795]
    FIGS. 87 and 88 illustrate a process for excluding invalid recording and reproducing devices 300 in this configuration. FIG. 87 shows a process for excluding (revoking) invalid recording and reproducing devices 300 if content is provided by the medium 500 (such as a DVD or a CD) or the communication means 600. FIG. 88 shows a process for excluding (revoking) invalid recording and reproducing devices 300 if content is provided by the recording device 400 (such as a memory card).
  • [0796]
    First, the process flow in FIG. 87 will be explained. At step S901, the medium 500 is installed and a request is made for content, that is, a reproduction or download process. The process shown in FIG. 87 corresponds to a step executed, for example, before installation of the medium 500 (such as DVD or the like) in the recording device 400, followed by the download process. The download process is as previously described with reference to FIG. 22 and is executed as a step before the process flow in FIG. 22 or as a process inserted into this process flow.
  • [0797]
    If the recording and reproducing device 300 receives content via the communication means 600 (such as a network), then at step S911, a communication session with a content distribution service side is established. The process then proceeds to step S902.
  • [0798]
    At step S902, the revocation list (see FIG. 86) is obtained from the header section of the content data. In this list-obtaining process, if the content is present in the medium 500, the control section 301 (shown in FIG. 3) reads it out therefrom via the read section 304. If the content is obtained from the control section, the communication means 600 shown in FIG. 3 receives it from the content distributing side via the communication section 305.
  • [0799]
    Next, at step S903, the control section 301 passes the revocation list (obtained from the medium 500 or the communication means 600), to the cryptography process section 302. Cryptography process section 302 is then caused to execute the check value generating process. The recording and reproducing device 300 internally has the revocation-integrity-check-value-generating key Kicv-rev. It calculates the integrity check value ICV-rev′ in accordance with the ICV calculation method described in FIGS. 23 and 24 and other figures. This is performed by applying the integrity-check-value-generating key Kicv-rev, using the received revocation list as a message. It compares the result of the calculation with the integrity check value, ICV-rev (stored in the header). If they are equal, it determines that the list has not been tampered with (Yes at step S904). If the values are not equal, the recording and reproducing device determines that the list has been tampered with. In that case, the process proceeds to step S909 to indicate a process error to end the process.
  • [0800]
    At step S905, the control section 306 of the recording and reproducing device cryptography process section 302 causes the encryption/decryption section 308 of the recording and reproducing device cryptography process section 302 to calculate the total integrity check value ICVt′. The total integrity check value ICVt′ is generated by using the system signature key Ksys as a key. Ksys is stored in the internal memory 307 of the recording and reproducing device cryptography process section 302. The intermediate integrity check value is encrypted based on the DES, as shown in FIG. 25. The verification process, with each partial integrity check value such as the ICVa or ICVb, is omitted from the process flow shown in FIG. 87. Verification with these partial check values is carried out depending on the data format as in the process flow in the previously described FIGS. 39 to 45.
  • [0801]
    Then at step S906, the generated total integrity check value ICVt′ is compared with the integrity check value ICVt in the header. If they are equal (Yes at step S906), the process advances to step S907. If the values are not equal, the recording and reproducing device determines that the list has been tampered with, and the process proceeds to step S909 to indicate a process error to end the process.
  • [0802]
    As previously described, the total integrity check value ICVt is used to check all the partial integrity check value contained in the content data, such as the ICVa and ICVb and integrity check values for corresponding content blocks, which are dependent on the data format. In this case, however, the list integrity check value ICVrev, for checking the revocation list for tampering, is added to the partial integrity check values. All of these integrity check values are checked for tampering. If the total integrity check value equals the integrity check value ICVt, stored in the header, it is determined that none of the ICVa and ICVb, the content block integrity check values, and the list integrity check value ICVrev have not been tampered with.
  • [0803]
    Further at step S907, the revocation list, which has been determined to be free from tampering, is compared with the recording and reproducing device ID (IDdev) stored in this recording and reproducing device 300.
  • [0804]
    If the list of invalid recording and reproducing device Ids, IDdev (read out from the content data) contains the identifier IDdev of this recording and reproducing device 300, this recording and reproducing device 300 is determined to have illegally copied key data. The process then advances to step S909 to abort the subsequent procedure. For example, the process disables, for example, the execution of the content download process in FIG. 22.
  • [0805]
    At step S907, if the list of invalid recording and reproducing device IDs IDdev is determined not to contain the identifier IDdev of this recording and reproducing device 300, this recording and reproducing device 300 is determined to have valid key data. The process proceeds to step S908 to enable the subsequent procedure, for example, the program executing process or the content download process in FIG. 22 or other figures.
  • [0806]
    FIG. 88 shows a process executed to reproduce content data stored in the recording device 400, such as a memory card. As previously described, the recording device 400 (such as a memory card) and the recording and reproducing device 300 carry out the mutual authentication process described in FIG. 20 (step S921). Only if the mutual authentication is successful at step S922 does the process proceed to step S923 and the subsequent processing. Whereas if the mutual authentication fails, an error occurs at step S930 to prevent the subsequent processing from being executed.
  • [0807]
    At step S923, the revocation list (see FIG. 86) is obtained from the header section of the content data. The processing at subsequent steps S924 to 930 is similar to the corresponding processing in FIG. 87. That is, the list is verified with the list integrity check value (S924 and S925) and with the total integrity check value (S926 and S927). The list entry is compared with the recording and reproducing device ID IDdev (S928). Then, if the list of invalid recording and reproducing device Ids, Iddev, contains the identifier IDdev of this recording and reproducing device 300, this recording and reproducing device 300 is determined to have illegally copied key data. Then the process advances to step S930 to abort the subsequent procedure. For example, the process disables, for example, the execution of the content reproduction process in FIG. 28. On the other hand, if the list of invalid recording and reproducing device Ids, Iddev, is determined not to contain the identifier IDdev of this recording and reproducing device 300, this recording and reproducing device 300 is determined to have valid key data, and the process proceeds to step S929 to enable the subsequent procedure.
  • [0808]
    As described above, according to the present data processing apparatus, the data identifying invalid recording and reproducing devices 300, that is, the revocation list containing the identifiers IDdev of invalid recording and reproducing devices 300, is contained in the content (provided by the content provider or manager) as constituent data of the header section of the content data. Before using the content in the recording and reproducing device 300, the recording and reproducing device user collates the recording and reproducing device ID, IDdev (stored in the memory of this recording and reproducing device 300), with the ID in the list and prevents subsequent processing if matching data are found. Consequently, the content can be prevented from being used by invalid recording and reproducing devices 300 that store copied key data in their memory.
  • [0000]
    (18) Method for Configuring and Manufacturing Secure Chip
  • [0809]
    As previously described, the internal memory 307 of the recording and reproducing device cryptography process section 302 or the internal memory 405 of the recording device 400 holds important information such as the cryptography keys and thus needs to be structured to reject external invalid reads. Thus, the recording and reproducing device cryptography process section 302, and the recording device cryptography process section 401, are configured as a tamper resistant memory. The tamper resistant memory is characterized to restrain external illegal reads in that it comprises, for example, a semiconductor chip that rejects external accesses and has a multilayer structure, an internal memory sandwiched between dummy layers of aluminum or the like or arranged in the lowest layer, and a narrow range of operating voltages and/or frequencies.
  • [0810]
    As understood from the above description, however, data such as the recording and reproducing device signature key (Kdev), which vary depending on the recording and reproducing device 300, must be written to the internal memory 307 of the recording and reproducing device cryptography process section 302. Additionally, data rewrites or reads must be difficult after individual information for each chip (for example, identification information (ID) and encryption key information) has been written to a non-volatile storage area in the chip, for example, a flash memory or an FeRAM, for example, after shipment.
  • [0811]
    A conventional method for making data reads and rewrites difficult comprises, for example, making a data write command protocol secret, or separating signal lines on the chip for accepting the data write command from communication signal lines used after completion of the product, so that the data write command will not be effective unless the signal is directly transmitted to the chip.
  • [0812]
    Even with such a conventional method, however, those who have a technical knowledge of storage elements can output signals to a data write area of the chip if they have a facility and a technique for driving the circuit, and even if a data write command protocol is secret, there is always a possibility that the protocol may be analyzed.
  • [0813]
    Distribution of elements for storing cryptography process data, which allow secret data to be modified, may threaten the entire cryptography process system. In addition, to prevent data from being read out, it is possible to avoid implementing the data read command. In this case, however, even if a regular data write has been executed, it may be impossible to determine whether or not the written data has been accurately written. This can result in the possibility of supplying chips with inappropriate data written thereto.
  • [0814]
    In view of these conventional techniques, the present invention provides a secure chip configuration that enables data to be accurately written to a non-volatile memory, such as a flash memory or an FeRAM, while restraining data from being read out therefrom, as well as a method for manufacturing such a secure chip.
  • [0815]
    FIG. 89 shows a security chip configuration applicable to, for example, the above-described recording and reproducing device cryptography process section 302, or the cryptography process section 401 of the recording device 400. FIG. 89(A) shows a security chip configuration formed during a chip manufacturing process, that is, during a data write process. FIG. 89(B) shows an example of the configuration of a product, such as the recording and reproducing device 300 or the recording device 400, which has a security chip mounted in the product and having data written thereto.
  • [0816]
    During the manufacturing process, a process section 8001 of the security chip has mode specifying signal lines 8003 and various command signal lines 8004 connected thereto. It writes or reads data to or from a storage section 8002. Storage section 8002 comprises a non-volatile memory. Data is written or read depending on, for example, whether the chip is in a data write mode or a data read mode.
  • [0817]
    In the security chip mounted product in FIG. 89(B), the security chip is connected to an externally connected interface, peripheral equipment, and other elements via general purpose signal lines. The mode signal lines 8003 are not connected. Specific processing for the mode signal lines 8003 includes connecting these lines 8003 to ground, increasing the voltage on these lines to Vcc, cutting them, sealing them with an insulator resin, etc. Such processing hinders the mode signal lines 8003 in the security chip from being accessed after shipment, thereby preventing data from being externally read out from the chip or written thereto.
  • [0818]
    Further, the security chip 8000 of this configuration hinders data from being written to the storage section 8002 while hindering written data from being read out therefrom, thereby preventing invalid data writes or reads even if a third person successfully accesses the mode signal lines 8003. FIG. 90 shows a process flow of a data write to, or a data read from, the security chip of this configuration.
  • [0819]
    At step S951, the mode signal lines 8003 are set for a data write or read mode.
  • [0820]
    At step S952, authentication information is taken out from the chip. The security chip of this configuration stores information required for the authentication process, such as a password and key information for the authentication process for the cryptography technique, for example, by wires or the mask ROM configuration. At step S952, this authentication information is read out to execute the authentication process. If, for example, a regular data write jig and data read device are connected to the general purpose signal lines to execute the authentication process, the authentication will be successful (Yes at step S953). If, however, an invalid data write jig and data read device are connected to the general purpose signal lines to execute the authentication process, the authentication will fail (No at step S953), and the process is stopped. The authentication process can be executed, for example, in accordance with the mutual authentication process procedure previously described in FIG. 13. The process section 8001, shown in FIG. 89(A), has a configuration capable of such an authentication process. This can be implemented, for example, using a configuration similar to a command register integrated into the control section 403 of the cryptography process section 401 of the recording device 400 (shown in the previously described FIG. 29). For example, the process section of the chip in FIG. 89(A) has a configuration similar to the command register, integrated into the control section 403 of the cryptography process section 401 of the recording device 400 shown in FIG. 29. It carries out an appropriate process to enable the authentication process sequence to be executed in response to an input of a predetermined command from an apparatus connected to the various command signal lines 8004.
  • [0821]
    The process section 8001 accepts the data write or read command to execute the data write (step S955) or read (step S956) process only if the authentication process is successful.
  • [0822]
    As described above, the security chip of this configuration is configured to execute the authentication process on a data write or read, thereby preventing an unauthorized third person from reading or writing data to or from the storage section of the security chip.
  • [0823]
    FIG. 91 shows an embodiment of a securer element configuration. In this example, the storage section 8200 of the security chip is separated into two areas. One of the areas is a Read Write (RW) area 8201, which data can be written and read to and from. The other section is a Write Only (WO) area 8202 which data can only be written to.
  • [0824]
    In this configuration, cryptography key data, ID data, and other data which require high security are written to the Write Only area 8202, whereas integrity check data and other data which do not require so high security are written to the Read Write area 8201.
  • [0825]
    As a process for reading data out from the Read Write (RW) area 8201, the process section 8001 executes a data read process involving the authentication process described in the above described FIG. 90. The data write process, however, is executed following the flow in FIG. 92.
  • [0826]
    At step S961 in FIG. 92, the mode signal lines 8003 are set for the write mode. At step S962, an authentication process, similar to that described in the above FIG. 90, is executed. When the authentication process is successful, the process proceeds to step S963 to output to the process section 8001, a command for writing information such as key data which requires high security to the Write Only (WO) area 8202 via the command signal lines 8004, while writing check data or other data, which do not require as high a security, to the Read Write (RW) area 8201.
  • [0827]
    On receiving the command, the process section 8001 executes a data write process at step S964. This is done on the Write Only (WO) area 8202 or the Read Write (RO) area 8201, depending on the command.
  • [0828]
    In addition, FIG. 93 shows a process for verifying data written to the Write Only (WO) area 8202.
  • [0829]
    At step S971 in FIG. 93, the process section 8001 causes the Write Only (WO) area 8202 to execute the cryptography process based on the written data. Like the above authentication process executing configuration, this execution configuration is implemented by a configuration for sequentially executing the cryptography process sequence stored in the command register. Additionally, the cryptography process algorithm executed in the process section 8001 is not particularly limited. For example, the previously described DES algorithm can be carried out.
  • [0830]
    Then at step S972, a verification device (connected to the security chip) receives the result of the cryptography process from the process section 8001. Then at step S973, the result of the application of a cryptography process (similar to the algorithm executed by the process section 8001) on the regular write data written to the storage section at step S973 is compared with the result of encryption from the process section 8001.
  • [0831]
    If the compared results are identical, it is verified that the data written to the Write Only (WO) area 8202 is correct.
  • [0832]
    With this configuration, if the authentication process should be deciphered to enable the read command to be executed, data can be read out only from the Read Write (RW) area 8201, while data written to the Write Only (WO) area 8202 cannot be read out. Thus this configuration provides much higher security. In addition, unlike chips that prohibit data reads, this chip includes the Read Write (RW) area 8201 to enable memory accesses to be validated.
  • [0833]
    This invention has been described with reference to the particular embodiments. Obviously, however, modifications or substitutions may be made to the present invention by those skilled in the art without deviating from the spirits thereof. That is, the present invention has been disclosed for illustrative purposes only and should not be interpreted in a restrictive manner. In addition, in the above described embodiments, the recording and reproducing device, capable of recording and reproducing content, is described by way of example. However, the configuration of the present invention is applicable to apparatuses capable of either recording or reproducing data. The present invention can be implemented in personal computers, game apparatuses, and other various data processing apparatuses in general.
  • [0834]
    Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. It is therefore to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements may be devised without departing from the spirit and scope of the present invention as defined by the appended claims.

Claims (19)

1. A data processing system, comprising:
a recording device having a data storing section for storing content data and a plurality of key blocks for storing key data applicable to authentication processing, said key data in each one of said plurality of key blocks being distinct to that key block; and
a recorder/reproducer operable to perform said authentication processing with said recording device, to designate a first key block out of said plurality of key blocks, and to execute said authentication processing with said recording device based on said key data stored in said first key block,
wherein transfer of said content data between said recorder/reproducer and said recording device is enabled when said authentication processing is successful.
2. The data processing system according to claim 1, wherein said key data in each of said plurality of key blocks includes an authentication key.
3. The data processing system according to claim 1, wherein:
said recorder/reproducer includes setting information in which one key block of said plurality of key blocks is capable of being applied to said authentication processing as a designated key block, said setting information being stored in a memory in said recorder/reproducer; and
when said authentication processing is performed between said recorder/reproducer and said recording device, said recorder/reproducer determines said designated key block based on said setting information.
4. The data processing system according to claim 3, wherein said setting information is different for each of a plurality of product units.
5. The data processing system according to claim 1, wherein:
said recorder/reproducer includes a memory for storing said key data; and
authentication of said key data stored in said memory is only established using said key data in a selected key block in said recording device.
6. The data processing system according to claim 1, further comprising:
a memory in said recorder/reproducer;
a master key Mkake stored in said recorder/reproducer memory; and
an authentication key Kake that is generated based on said master key Mkake, wherein authentication of said authentication key Kake is only established in said authentication processing using said key data in a selected key block in said recorder/reproducer.
7. The data processing system according to claim 6, further comprising:
a memory in said recording device;
a recording device identification information IDmem stored in said recording device; and
said recorder/reproducer is operable to generate said authentication key Kake by encryption processing of said recording device identification information IDmem based on said master key Mkake, and to perform said authentication processing with said selected key block of said recording device using said authentication key Kake;
wherein said authentication key Kake is a plurality of distinct authentication keys Kake each associated with one of said plurality of key blocks.
8. The data processing system according to claim 1, wherein:
said recorder/reproducer includes a data storage section for storing storage data; and
each key block of said recording device includes:
recording device identifier information containing specific information about said recording device,
an authentication key adapted for use in said authentication processing,
a random number generation key adapted for use in said authentication processing, and
a storing key adapted for use in encryption processing of said storage data.
9. The data processing system according to claim 8, wherein:
said storing key includes a plurality of distinct storing keys each stored in one of said plurality of key blocks, said plurality of distinct storing keys being capable of use in said encryption processing of said storage data; and
said recording device is operable to execute key exchange processing of said plurality of distinct storing keys, and, if a data utilization request is received by said recording device, said recording device is operable to output encryption data using a key that is different from said plurality of distinct storing keys.
10. The data processing system according to claim 1, wherein said recording device further includes an encryption processing section operable to select said first key block in accordance with key block designation information received from said recorder/reproducer, and to execute said authentication processing with said recorder/reproducer using said key data in said first key block.
11. The data processing system according to claim 10, wherein said encryption processing section of said recording device is operable to execute encryption processing using said key data in said first key block.
12. The data processing system according to claim 1, further comprising a plurality of designatable key blocks in said recording device, at least one of said designatable key blocks being configured as a commonly designatable key block that is designatable in recorder/reproducers other than said recorder/reproducer.
13. A recording device, comprising:
a data storage section for storing content data transferable to and from an external apparatus; and
a plurality of key blocks for storing key data, said key data being applicable to authentication processing between said recording device and said external apparatus, wherein said key data is operable to store information for each of said plurality of key blocks.
14. The recording device according to claim 13, wherein:
each of said plurality of key blocks includes a unique authentication key for use with said authentication processing; and
each unique authentication key is configured as said key data.
15. The recording device according to claim 13, further comprising:
a memory for storing recording device identification information IDmem; and
a distinct authentication key Kake for each of said plurality of key blocks, each of said distinct authentication keys Kake being stored in one of said plurality of key blocks.
16. The recording device according to claim 13, wherein each of said plurality of key blocks includes:
recording device identifier information containing specific information about said recording device;
an authentication key adapted for use in said authentication processing;
a random number generation key adapted for use in said authentication processing; and
a storing key adapted for use in encryption processing of storage data in said data storage section.
17. The recording device according to claim 16, wherein:
said storing key includes distinct key data that is different for each of said plurality of key blocks, said storing key being usable in said encryption processing; and
said recording device is operable to execute key exchange processing of said storing key, and, if a data utilization request is received by said recording device, said recording device is operable to output encryption data using a key that is different from said storing key.
18. The recording device according to claim 13, further including an encryption processing section operable to select a specific key block from said plurality of key blocks in accordance with key block designation information received from said external apparatus, and to execute said authentication processing using said key data in said specific key block.
19. The recording device according to claim 18, wherein said encryption processing section is operable to execute encryption processing using said key data in said specific key block.
US11637505 2000-01-21 2006-12-12 Data processing apparatus and data processing method Abandoned US20070088961A1 (en)

Priority Applications (18)

Application Number Priority Date Filing Date Title
JPP2000-013322 2000-01-21
JP2000013322A JP2001203686A (en) 2000-01-21 2000-01-21 Data processing unit, data processing method and method for providing data verification value, and program service medium
JPP2000-015858 2000-01-25
JPP2000-016292 2000-01-25
JP2000016029A JP2001211149A (en) 2000-01-25 2000-01-25 Device and method for data processing and program providing medium
JP2000016213A JP2001211151A (en) 2000-01-25 2000-01-25 Device and method for data processing contents data verification value imparting method, and program providing medium
JP2000015858A JP2001209310A (en) 2000-01-25 2000-01-25 Data processor, data processing method, contents data generating method and program providing medium
JP2000016292A JP2001211080A (en) 2000-01-25 2000-01-25 Data processor, data processing method and contents data creating method, and program providing media
JPP2000-015551 2000-01-25
JP2000016251A JP2001211152A (en) 2000-01-25 2000-01-25 Data processor, contents data generating method, data processing method, and program providing medium
JPP2000-016251 2000-01-25
JPP2000-016029 2000-01-25
JP2000015551A JP2001211148A (en) 2000-01-25 2000-01-25 Device, system, and method for data processing and program providing medium
JPP2000-016213 2000-01-25
PCT/JP2001/000346 WO2001054099A1 (en) 2000-01-21 2001-01-19 Data authentication system
US09937120 US7373506B2 (en) 2000-01-21 2001-01-19 Data authentication system
US10412771 US20030233559A1 (en) 2000-01-21 2003-04-11 Data processing apparatus and data processing method
US11637505 US20070088961A1 (en) 2000-01-21 2006-12-12 Data processing apparatus and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11637505 US20070088961A1 (en) 2000-01-21 2006-12-12 Data processing apparatus and data processing method

Publications (1)

Publication Number Publication Date
US20070088961A1 true true US20070088961A1 (en) 2007-04-19

Family

ID=27566947

Family Applications (6)

Application Number Title Priority Date Filing Date
US09937120 Expired - Fee Related US7373506B2 (en) 2000-01-21 2001-01-19 Data authentication system
US10412771 Abandoned US20030233559A1 (en) 2000-01-21 2003-04-11 Data processing apparatus and data processing method
US11637505 Abandoned US20070088961A1 (en) 2000-01-21 2006-12-12 Data processing apparatus and data processing method
US11642506 Abandoned US20070136612A1 (en) 2000-01-21 2006-12-19 Data processing apparatus and data processing method
US11642704 Active 2022-02-07 US7669052B2 (en) 2000-01-21 2006-12-20 Authentication and encryption utilizing command identifiers
US12709918 Expired - Fee Related US8375206B2 (en) 2000-01-21 2010-02-22 Authentication and encryption utilizing command identifiers

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US09937120 Expired - Fee Related US7373506B2 (en) 2000-01-21 2001-01-19 Data authentication system
US10412771 Abandoned US20030233559A1 (en) 2000-01-21 2003-04-11 Data processing apparatus and data processing method

Family Applications After (3)

Application Number Title Priority Date Filing Date
US11642506 Abandoned US20070136612A1 (en) 2000-01-21 2006-12-19 Data processing apparatus and data processing method
US11642704 Active 2022-02-07 US7669052B2 (en) 2000-01-21 2006-12-20 Authentication and encryption utilizing command identifiers
US12709918 Expired - Fee Related US8375206B2 (en) 2000-01-21 2010-02-22 Authentication and encryption utilizing command identifiers

Country Status (9)

Country Link
US (6) US7373506B2 (en)
KR (8) KR100653807B1 (en)
CN (4) CN1779689A (en)
CA (2) CA2365236A1 (en)
DE (2) DE60132962T2 (en)
DK (1) DK1195734T3 (en)
EP (4) EP1267515A3 (en)
ES (1) ES2301525T3 (en)
WO (1) WO2001054099A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050081048A1 (en) * 2003-10-14 2005-04-14 Komarla Eshwari P. Data security
US20060085652A1 (en) * 2004-10-20 2006-04-20 Zimmer Vincent J Data security
US20070083467A1 (en) * 2005-10-10 2007-04-12 Apple Computer, Inc. Partial encryption techniques for media data
US20070237761A1 (en) * 2003-11-19 2007-10-11 Institut National De La Sante Et De La Recherche M Chimeric Anti Cd44 Antibodies and Their Use for Treating Acute Myeloid Leukemia
US20090290714A1 (en) * 2008-05-20 2009-11-26 Microsoft Corporation Protocol for Verifying Integrity of Remote Data
US20100088520A1 (en) * 2008-10-02 2010-04-08 Microsoft Corporation Protocol for determining availability of peers in a peer-to-peer storage system
US20100166176A1 (en) * 2008-12-29 2010-07-01 Lahouari Ghouti Elliptical polynomial-based message authentication code
US20100250502A1 (en) * 2009-03-27 2010-09-30 Kiyokazu Saigo Method and apparatus for contents de-duplication
US8140675B2 (en) 2004-01-15 2012-03-20 Panasonic Corporation Content reproduction apparatus

Families Citing this family (257)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001039429A1 (en) * 1999-11-22 2001-05-31 Intel Corporation Integrity check values (icv) based on pseudorandom binary matrices
US8140859B1 (en) 2000-07-21 2012-03-20 The Directv Group, Inc. Secure storage and replay of media programs using a hard-paired receiver and storage device
JP4300705B2 (en) * 2000-12-05 2009-07-22 ソニー株式会社 Data transfer system, data transfer apparatus, data transfer method, a recording medium
US7526795B2 (en) * 2001-03-27 2009-04-28 Micron Technology, Inc. Data security for digital data storage
US7328350B2 (en) * 2001-03-29 2008-02-05 Arcot Systems, Inc. Method and apparatus for secure cryptographic key generation, certification and use
US7409562B2 (en) 2001-09-21 2008-08-05 The Directv Group, Inc. Method and apparatus for encrypting media programs for later purchase and viewing
CN100380494C (en) * 2001-10-12 2008-04-09 皇家飞利浦电子股份有限公司 Apparatus and method for reading or writing user data
JP4292736B2 (en) * 2001-11-15 2009-07-08 ソニー株式会社 Transmission system, transmission method
US20030145183A1 (en) * 2002-01-31 2003-07-31 Muehring Phillip T. Applications for removable storage
JP2003228915A (en) * 2002-02-01 2003-08-15 Sony Corp Reproduction control method, program and recording medium
US20040255134A1 (en) * 2002-02-27 2004-12-16 Harutoshi Miyamoto Host device
US7627753B2 (en) * 2002-03-19 2009-12-01 Microsoft Corporation Secure digital data format and code enforced policy
WO2003084125A1 (en) * 2002-03-29 2003-10-09 Matsushita Electric Industrial Co., Ltd. Content processing device, content accumulation medium, content processing method, and content processing program
US7805607B2 (en) 2002-04-12 2010-09-28 Thomson Licensing Method for the anonymous authentication of a data transmitter
US7203844B1 (en) 2002-06-20 2007-04-10 Oxford William V Method and system for a recursive security protocol for digital copyright control
US8438392B2 (en) * 2002-06-20 2013-05-07 Krimmeni Technologies, Inc. Method and system for control of code execution on a general purpose computing device and control of code execution in a recursive security protocol
US20060041760A1 (en) * 2002-06-26 2006-02-23 Zezhen Huang Trusted computer activity monitoring and recording system and method
EP1795992B1 (en) * 2002-07-30 2018-01-24 Fujitsu Limited Method and apparatus for reproducing information using a security module
US7401221B2 (en) * 2002-09-04 2008-07-15 Microsoft Corporation Advanced stream format (ASF) data stream header object protection
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
JP2004104602A (en) * 2002-09-11 2004-04-02 Pioneer Electronic Corp Information recording medium, recorder, reproducer, distributer, method therefor, program therefor, and recording medium having the same program recorded therein
JP3945644B2 (en) * 2002-11-05 2007-07-18 ソニー株式会社 Copy count control method, server apparatus, a recording control method and a recording control device
US7353543B2 (en) * 2003-01-10 2008-04-01 Matsushita Electric Industrial Co., Ltd. Contents distribution system
CN1764883A (en) * 2003-03-24 2006-04-26 松下电器产业株式会社 Data protection management apparatus and data protection management method
US7503077B2 (en) * 2003-03-26 2009-03-10 Sony Corporation Method, storage medium, and apparatus to prevent use or distribution of unauthorized copies of storage medium contents
US20050244001A1 (en) * 2003-04-11 2005-11-03 Satoshi Kitani Information recording medium drive device
US7243237B2 (en) * 2003-05-02 2007-07-10 Microsoft Corporation Secure communication with a keyboard or related device
US7426637B2 (en) * 2003-05-21 2008-09-16 Music Public Broadcasting, Inc. Method and system for controlled media sharing in a network
DE10330089B4 (en) * 2003-07-03 2014-02-27 Bt Ignite Gmbh & Co. Method and apparatus for transmitting decryption codes for freely transmitted encrypted program contents to uniquely identifiable receiver
JP4676724B2 (en) 2003-08-12 2011-04-27 株式会社リコー Information processing apparatus, information processing method, information processing program, and a recording medium
JP4728611B2 (en) 2003-08-12 2011-07-20 株式会社リコー Storage medium, storage device, the information processing apparatus, information processing method, information processing program and a recording medium
US8165297B2 (en) * 2003-11-21 2012-04-24 Finisar Corporation Transceiver with controller for authentication
KR20050050976A (en) 2003-11-26 2005-06-01 엘지전자 주식회사 Method for detecting password's hacking of mobile communication terminal
JP4250510B2 (en) * 2003-11-26 2009-04-08 株式会社東芝 Content distribution service providing system and the content distribution device and the user terminal
JP4338508B2 (en) * 2003-12-05 2009-10-07 シャープ株式会社 Data processing equipment
US20050132226A1 (en) * 2003-12-11 2005-06-16 David Wheeler Trusted mobile platform architecture
WO2005059727A1 (en) * 2003-12-17 2005-06-30 Matsushita Electric Industrial Co., Ltd. Methods and apparatuses for distributing system secret parameter group and encrypted intermediate key group for generating content encryption and decryption deys
JP2005190350A (en) * 2003-12-26 2005-07-14 Toshiba Corp Content transmission system and method
JP2005204250A (en) * 2004-01-19 2005-07-28 Ricoh Co Ltd Certificate confirmation method, certificate confirmation program, and certificate
EP1733555A4 (en) * 2004-02-23 2009-09-30 Lexar Media Inc Secure compact flash
EP1730675B1 (en) 2004-03-12 2015-05-20 Ingenia Holdings Limited Authenticity verification methods, products and apparatuses
KR101168932B1 (en) 2004-03-12 2012-08-02 인제니아 홀딩스 리미티드 Methods and apparatuses for creating authenticatable printed articles and subsequently verifying them
EP1580644A3 (en) * 2004-03-15 2005-11-09 Yamaha Corporation Electronic musical apparatus for recording and reproducing music content
US8539608B1 (en) * 2004-03-25 2013-09-17 Verizon Corporate Services Group Inc. Integrity checking at high data rates
JP4561146B2 (en) * 2004-03-29 2010-10-13 ソニー株式会社 Content distribution system, the encryption device, an encryption method, information processing program, and storage medium
EP1603138A1 (en) * 2004-04-15 2005-12-07 STMicroelectronics SA Non-volatile memory with memory cell reading falsifying means
US9203648B2 (en) 2004-05-02 2015-12-01 Thomson Reuters Global Resources Online fraud solution
US7457823B2 (en) 2004-05-02 2008-11-25 Markmonitor Inc. Methods and systems for analyzing data related to possible online fraud
US7913302B2 (en) 2004-05-02 2011-03-22 Markmonitor, Inc. Advanced responses to online fraud
US8041769B2 (en) 2004-05-02 2011-10-18 Markmonitor Inc. Generating phish messages
US7870608B2 (en) 2004-05-02 2011-01-11 Markmonitor, Inc. Early detection and monitoring of online fraud
US8769671B2 (en) 2004-05-02 2014-07-01 Markmonitor Inc. Online fraud solution
JP4749680B2 (en) 2004-05-10 2011-08-17 ソニー株式会社 Data structure, the data processing apparatus, data processing method, the authentication apparatus, authentication method, computer program, and recording medium
JP4686138B2 (en) * 2004-05-26 2011-05-18 株式会社東芝 Storage medium conversion method, a program and equipment
US20060294312A1 (en) * 2004-05-27 2006-12-28 Silverbrook Research Pty Ltd Generation sequences
US7607757B2 (en) * 2004-05-27 2009-10-27 Silverbrook Research Pty Ltd Printer controller for supplying dot data to at least one printhead module having faulty nozzle
US7557941B2 (en) 2004-05-27 2009-07-07 Silverbrook Research Pty Ltd Use of variant and base keys with three or more entities
US7600843B2 (en) * 2004-05-27 2009-10-13 Silverbrook Research Pty Ltd Printer controller for controlling a printhead module based on thermal sensing
US20070083491A1 (en) * 2004-05-27 2007-04-12 Silverbrook Research Pty Ltd Storage of key in non-volatile memory
US7290852B2 (en) * 2004-05-27 2007-11-06 Silverbrook Research Pty Ltd Printhead module having a dropped row
US7735944B2 (en) * 2004-05-27 2010-06-15 Silverbrook Research Pty Ltd Printer comprising two printhead modules and at least two printer controllers
US7328956B2 (en) * 2004-05-27 2008-02-12 Silverbrook Research Pty Ltd Printer comprising a printhead and at least two printer controllers connected to a common input of the printhead
US7427117B2 (en) 2004-05-27 2008-09-23 Silverbrook Research Pty Ltd Method of expelling ink from nozzles in groups, alternately, starting at outside nozzles of each group
US7377609B2 (en) * 2004-05-27 2008-05-27 Silverbrook Research Pty Ltd Printer controller for at least partially compensating for erroneous rotational displacement
US7631190B2 (en) * 2004-05-27 2009-12-08 Silverbrook Research Pty Ltd Use of variant and base keys with two entities
US7374266B2 (en) * 2004-05-27 2008-05-20 Silverbrook Research Pty Ltd Method for at least partially compensating for errors in ink dot placement due to erroneous rotational displacement
US7484831B2 (en) * 2004-05-27 2009-02-03 Silverbrook Research Pty Ltd Printhead module having horizontally grouped firing order
US7314261B2 (en) * 2004-05-27 2008-01-01 Silverbrook Research Pty Ltd Printhead module for expelling ink from nozzles in groups, alternately, starting at outside nozzles of each group
US8011747B2 (en) * 2004-05-27 2011-09-06 Silverbrook Research Pty Ltd Printer controller for controlling a printhead with horizontally grouped firing order
US7281777B2 (en) * 2004-05-27 2007-10-16 Silverbrook Research Pty Ltd Printhead module having a communication input for data and control
US7188928B2 (en) * 2004-05-27 2007-03-13 Silverbrook Research Pty Ltd Printer comprising two uneven printhead modules and at least two printer controllers, one of which sends print data to both of the printhead modules
US7243193B2 (en) * 2004-05-27 2007-07-10 Silverbrook Research Pty Ltd Storage of program code in arbitrary locations in memory
US7390071B2 (en) * 2004-05-27 2008-06-24 Silverbrook Research Pty Ltd Printer controller for supplying data to a printhead module having a dropped row
US7517036B2 (en) * 2004-05-27 2009-04-14 Silverbrook Research Pty Ltd Printhead module capable of printing a maximum of n channels of print data
US7266661B2 (en) * 2004-05-27 2007-09-04 Silverbrook Research Pty Ltd Method of storing bit-pattern in plural devices
US7448707B2 (en) * 2004-05-27 2008-11-11 Silverbrook Research Pty Ltd Method of expelling ink from nozzels in groups, starting at outside nozzels of each group
US7549718B2 (en) 2004-05-27 2009-06-23 Silverbrook Research Pty Ltd Printhead module having operation controllable on basis of thermal sensors
US7752447B2 (en) * 2004-06-08 2010-07-06 Sony Corporation Information-processing system and method, information-transmission-processing apparatus, and information-reception-processing apparatus
US20080072072A1 (en) * 2004-06-09 2008-03-20 Kenji Muraki Recording Device and Recording Method
JP4144573B2 (en) * 2004-07-15 2008-09-03 ソニー株式会社 The information processing apparatus, information processing method, and computer program
US7623660B1 (en) * 2004-07-20 2009-11-24 Xilinx, Inc. Method and system for pipelined decryption
US8266429B2 (en) 2004-07-20 2012-09-11 Time Warner Cable, Inc. Technique for securely communicating and storing programming material in a trusted domain
US8312267B2 (en) 2004-07-20 2012-11-13 Time Warner Cable Inc. Technique for securely communicating programming content
GB2417592B (en) 2004-08-13 2006-07-26 Ingenia Technology Ltd Authenticity verification of articles
US8260259B2 (en) * 2004-09-08 2012-09-04 Qualcomm Incorporated Mutual authentication with modified message authentication code
US9632665B2 (en) 2004-09-08 2017-04-25 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US7941786B2 (en) * 2004-09-08 2011-05-10 Universal Electronics Inc. Configurable controlling device and associated configuration distribution system and method
US20060064394A1 (en) * 2004-09-17 2006-03-23 International Business Machines Corporation Method for handling changing and disappearing online references to research information
KR100664306B1 (en) * 2004-10-29 2007-01-04 삼성전자주식회사 Apparatus and method of generating and detecting the prevention and control data for verifying the validity of a data
US7994915B2 (en) * 2004-11-08 2011-08-09 Sony Corporation Information processing system and information processing apparatus
JP3810425B2 (en) * 2004-12-16 2006-08-16 松下電器産業株式会社 Falsification detection data generation method, and a falsification detection method and apparatus
CN100571135C (en) 2004-12-16 2009-12-16 松下电器产业株式会社 Method for generating data for detection of tampering, and method and apparatus for detection of tampering
US8504849B2 (en) * 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
US20070168292A1 (en) * 2004-12-21 2007-07-19 Fabrice Jogand-Coulomb Memory system with versatile content control
US8051052B2 (en) * 2004-12-21 2011-11-01 Sandisk Technologies Inc. Method for creating control structure for versatile content control
US8601283B2 (en) * 2004-12-21 2013-12-03 Sandisk Technologies Inc. Method for versatile content control with partitioning
EP1831831A4 (en) * 2004-12-22 2009-04-01 Certicom Corp Partial revocation list
US20070293724A1 (en) * 2005-02-02 2007-12-20 Voyage Medical, Inc. Visualization apparatus for transseptal access
JP4692003B2 (en) * 2005-02-10 2011-06-01 ソニー株式会社 The information processing apparatus, information processing method, and computer program
JP4833568B2 (en) * 2005-03-15 2011-12-07 株式会社リコー The information processing apparatus, an image forming apparatus, start the program and storage medium
US7610273B2 (en) * 2005-03-22 2009-10-27 Microsoft Corporation Application identity and rating service
JPWO2006115212A1 (en) * 2005-04-21 2008-12-18 松下電器産業株式会社 Algorithm update system
WO2007000711A3 (en) * 2005-06-29 2007-07-05 Koninkl Philips Electronics Nv System and method for a key block based authentication
WO2007000714A3 (en) * 2005-06-29 2007-09-07 Koninkl Philips Electronics Nv Device and method for key block based authentication
KR100728928B1 (en) 2005-07-01 2007-06-15 삼성전자주식회사 Method for authorizing contents play right in use of recording medium
EP1742412B1 (en) * 2005-07-05 2009-01-14 St Microelectronics S.A. Verification of a digital message stored in a memory zone
US7748031B2 (en) * 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
JP4818651B2 (en) * 2005-07-13 2011-11-16 ルネサスエレクトロニクス株式会社 Encryption and decryption circuit
JP4788212B2 (en) * 2005-07-13 2011-10-05 富士ゼロックス株式会社 Digital signature programs and digital signature system
JP4827468B2 (en) 2005-07-25 2011-11-30 キヤノン株式会社 Method of controlling an information processing apparatus and an information processing apparatus, and computer program and computer readable storage medium
GB2428948B (en) * 2005-07-27 2007-09-05 Ingenia Technology Ltd Keys
KR101223204B1 (en) 2005-07-27 2013-01-17 인제니아 홀딩스 리미티드 Verification of authenticity
EP1907963A1 (en) * 2005-07-27 2008-04-09 Ingenia Technology Limited Prescription authentication using speckle patterns
WO2007012821A1 (en) * 2005-07-27 2007-02-01 Ingenia Technology Limited Verification of the signature of an article created from signals obtained from scatter of coherent optical radiation from the surface of the article
US7702107B1 (en) * 2005-07-27 2010-04-20 Messing John H Server-based encrypted messaging method and apparatus
US9325944B2 (en) 2005-08-11 2016-04-26 The Directv Group, Inc. Secure delivery of program content via a removable storage medium
GB2429950B (en) * 2005-09-08 2007-08-22 Ingenia Holdings Copying
JP5013694B2 (en) * 2005-09-09 2012-08-29 キヤノン株式会社 Image processing method, image processing apparatus, the program code and the storage medium
DE102005045733A1 (en) * 2005-09-23 2007-04-05 Nec Europe Ltd. A method for transmitting messages
US20070074038A1 (en) * 2005-09-29 2007-03-29 International Business Machines Corporation Method, apparatus and program storage device for providing a secure password manager
KR100902627B1 (en) * 2005-10-14 2009-06-15 리서치 인 모션 리미티드 System and method for protecting master encryption keys
US20070189530A1 (en) * 2005-10-18 2007-08-16 Chia-Kai Liang Management system for digital broadcast rights and a method thereof
US8483616B1 (en) 2005-11-01 2013-07-09 At&T Intellectual Property Ii, L.P. Non-interference technique for spatially aware mobile ad hoc networking
KR100656402B1 (en) * 2005-11-26 2006-12-05 한국전자통신연구원 Method and apparatus for the secure digital contents distribution
KR20080080175A (en) * 2005-12-14 2008-09-02 엔디에스 리미티드 Method and system for usage of block cipher encryption
WO2007072044A1 (en) * 2005-12-23 2007-06-28 Ingenia Holdings (Uk) Limited Optical authentication
KR100703811B1 (en) * 2006-02-28 2007-03-29 삼성전자주식회사 Portable storage device and method for managing data of the portable storage device
US8209729B2 (en) * 2006-04-20 2012-06-26 At&T Intellectual Property I, Lp Rules-based content management
US8285988B2 (en) * 2006-05-09 2012-10-09 Broadcom Corporation Method and system for command authentication to achieve a secure interface
US8560829B2 (en) 2006-05-09 2013-10-15 Broadcom Corporation Method and system for command interface protection to achieve a secure interface
US8495380B2 (en) * 2006-06-06 2013-07-23 Red Hat, Inc. Methods and systems for server-side key generation
JP2008009631A (en) * 2006-06-28 2008-01-17 Hitachi Ltd Storage device and storage method
US8639939B2 (en) 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
US20100138652A1 (en) * 2006-07-07 2010-06-03 Rotem Sela Content control method using certificate revocation lists
US8245031B2 (en) * 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US8613103B2 (en) * 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US8266711B2 (en) * 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US8140843B2 (en) * 2006-07-07 2012-03-20 Sandisk Technologies Inc. Content control method using certificate chains
JP4957148B2 (en) * 2006-09-26 2012-06-20 富士通株式会社 Secure device and an information processing apparatus having a key management function
EP1912148A1 (en) * 2006-10-09 2008-04-16 Axalto S.A. Protection against side channel attacks with an integrity check
US20080091554A1 (en) * 2006-10-12 2008-04-17 Ing-Kai Huang Method of selling software via network
US8520850B2 (en) 2006-10-20 2013-08-27 Time Warner Cable Enterprises Llc Downloadable security and protection methods and apparatus
JP5026049B2 (en) * 2006-10-25 2012-09-12 ソニー株式会社 Medium drive device, a method of operating a media drive device, a program, a program recording medium
US8732854B2 (en) 2006-11-01 2014-05-20 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
JP2008117459A (en) * 2006-11-02 2008-05-22 Hitachi Ltd Recording/reproducing device
US20080263363A1 (en) * 2007-01-22 2008-10-23 Spyrus, Inc. Portable Data Encryption Device with Configurable Security Functionality and Method for File Encryption
US8621540B2 (en) 2007-01-24 2013-12-31 Time Warner Cable Enterprises Llc Apparatus and methods for provisioning in a download-enabled system
US20080184041A1 (en) * 2007-01-31 2008-07-31 Microsoft Corporation Graph-Based Tamper Resistance Modeling For Software Protection
CN100440241C (en) 2007-02-15 2008-12-03 北京中星微电子有限公司 Digital copyright managerial approach and content server and media player
US8050403B2 (en) * 2007-03-06 2011-11-01 Research In Motion Limited Method and apparatus for generating a public key in a manner that counters power analysis attacks
US8160245B2 (en) 2007-03-07 2012-04-17 Research In Motion Limited Methods and apparatus for performing an elliptic curve scalar multiplication operation using splitting
US8762714B2 (en) * 2007-04-24 2014-06-24 Finisar Corporation Protecting against counterfeit electronics devices
KR20090001605A (en) * 2007-05-03 2009-01-09 삼성전자주식회사 Mobile recording media comprising reproduction setting information and content reproducing apparatus and method for reproducing contents using reproduction setting information
KR101370829B1 (en) * 2007-05-08 2014-03-10 삼성전자주식회사 Method of encrypting and decrypting data, and Bus System using the same
US8423789B1 (en) 2007-05-22 2013-04-16 Marvell International Ltd. Key generation techniques
GB2450131B (en) * 2007-06-13 2009-05-06 Ingenia Holdings Fuzzy Keys
CN101329658B (en) 2007-06-21 2012-12-05 西门子(中国)有限公司 Encryption and decryption method, and PLC system using the same
KR101495535B1 (en) * 2007-06-22 2015-02-25 삼성전자주식회사 Method and system for transmitting data through checking revocation of contents device and data server thereof
US20100174917A1 (en) * 2007-07-03 2010-07-08 Pioneer Corporation Information recording medium, reproducing apparatus and cumputer program
JP4396737B2 (en) 2007-07-17 2010-01-13 ソニー株式会社 The information processing apparatus, a content providing system, information processing method, and computer program
WO2009009868A1 (en) * 2007-07-17 2009-01-22 Certicom Corp. Method of compressing a cryptographic value
FR2920067B1 (en) * 2007-08-13 2014-11-28 Actimagine Method and partial encryption device of a digital content
WO2009027126A1 (en) * 2007-08-24 2009-03-05 International Business Machines Corporation System and method for protection of content stored in a storage device
WO2009027125A1 (en) 2007-08-24 2009-03-05 International Business Machines Corporation System and method for content protection
CN101836213B (en) * 2007-08-29 2015-06-24 僖迪网络科技株式会社 Protection against unauthorized copying of digital media content
JP5053013B2 (en) * 2007-09-25 2012-10-17 Kddi株式会社 Receiving device, and a stream transmitting apparatus
JP5053014B2 (en) * 2007-09-25 2012-10-17 Kddi株式会社 Receiving device, and a stream transmitting apparatus
US8059820B2 (en) * 2007-10-11 2011-11-15 Microsoft Corporation Multi-factor content protection
US9148286B2 (en) * 2007-10-15 2015-09-29 Finisar Corporation Protecting against counterfeit electronic devices
WO2009059331A3 (en) * 2007-11-02 2009-06-25 Lewis B Aronson Anticounterfeiting means for optical communication components
EP2232397B1 (en) * 2008-01-20 2011-10-05 NDS Limited Secure data utilization
JP4998314B2 (en) * 2008-02-19 2012-08-15 コニカミノルタホールディングス株式会社 Communication control method and communication control program
JP5248153B2 (en) 2008-03-14 2013-07-31 株式会社東芝 The information processing apparatus, method, and program
US7940543B2 (en) * 2008-03-19 2011-05-10 Nanya Technology Corp. Low power synchronous memory command address scheme
US7676501B2 (en) * 2008-03-22 2010-03-09 Wilson Kelce S Document integrity verification
CN101971186B (en) 2008-04-10 2013-06-12 日本电气株式会社 Information leak prevention device, and method and program thereof
US7904450B2 (en) 2008-04-25 2011-03-08 Wilson Kelce S Public electronic document dating list
GB2460625B (en) * 2008-05-14 2010-05-26 Ingenia Holdings Two tier authentication
US8259949B2 (en) 2008-05-27 2012-09-04 Intel Corporation Methods and apparatus for protecting digital content
US8954696B2 (en) 2008-06-24 2015-02-10 Nagravision S.A. Secure memory management system and method
EP2310976B1 (en) * 2008-06-24 2011-11-02 Nagravision S.A. Secure memory management system and method
JP4737243B2 (en) * 2008-07-11 2011-07-27 ソニー株式会社 Integrated circuit device and a data transmission system
KR100897790B1 (en) * 2008-08-07 2009-05-15 (주)씨디네트웍스 Method and apparatus for protecting digital contents by using hardware id information
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
EP2166696B1 (en) 2008-08-27 2016-10-05 STMicroelectronics (Rousset) SAS protection of encrypted data Integrity using an intermediate cipher state to generate a signature
US8044565B2 (en) * 2008-08-29 2011-10-25 Federal-Mogul Ingnition Company Composite ceramic electrode and ignition device therewith
US8880879B2 (en) * 2008-09-04 2014-11-04 Intel Corporation Accelerated cryptography with an encryption attribute
US9240883B2 (en) 2008-09-04 2016-01-19 Intel Corporation Multi-key cryptography for encrypting file system acceleration
US9544922B2 (en) 2008-09-16 2017-01-10 At&T Intellectual Property I, L.P. Quality of service scheme for collision-based wireless networks
CN102160035A (en) 2008-09-18 2011-08-17 马维尔国际贸易有限公司 Preloading applications onto memory at least partially during boot up
JP5406199B2 (en) * 2008-09-24 2014-02-05 パナソニック株式会社 Recording and reproducing system, a recording medium device and a recording and reproducing apparatus
US8046337B2 (en) 2008-10-15 2011-10-25 International Business Machines Corporation Preservation aware fixity in digital preservation
US8219803B2 (en) * 2008-10-20 2012-07-10 Disney Enterprises, Inc. System and method for unlocking content associated with media
US8171306B2 (en) * 2008-11-05 2012-05-01 Microsoft Corporation Universal secure token for obfuscation and tamper resistance
FR2938355B1 (en) * 2008-11-10 2010-11-26 Active Circle Method and storage system virtualizes a set of digital data
JP4630951B2 (en) * 2008-11-14 2011-02-09 Okiセミコンダクタ株式会社 The secret information transmission method, the secret information transmission system and the secret information transmission unit
US20100124329A1 (en) * 2008-11-18 2010-05-20 Lyman Dan C Encrypted communication between printing system components
US9104618B2 (en) 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
GB2466311B (en) * 2008-12-19 2010-11-03 Ingenia Holdings Self-calibration of a matching algorithm for determining authenticity
GB2466465B (en) * 2008-12-19 2011-02-16 Ingenia Holdings Authentication
JP2010267240A (en) * 2009-04-16 2010-11-25 Toshiba Corp Recording device
ES2365887B1 (en) * 2009-05-05 2012-09-03 Scytl Secure Electronic Voting S.A. Verification method decryption process
US9602864B2 (en) 2009-06-08 2017-03-21 Time Warner Cable Enterprises Llc Media bridge apparatus and methods
US9075958B2 (en) * 2009-06-24 2015-07-07 Uniloc Luxembourg S.A. Use of fingerprint with an on-line or networked auction
US9118428B2 (en) 2009-11-04 2015-08-25 At&T Intellectual Property I, L.P. Geographic advertising using a scalable wireless geocast protocol
GB2476226B (en) 2009-11-10 2012-03-28 Ingenia Holdings Ltd Optimisation
CN102725737B (en) * 2009-12-04 2016-04-20 密码研究公司 Verifiable leak-proof encryption and decryption
WO2011074844A3 (en) * 2009-12-14 2011-11-10 Lg Electronics Inc. Method of processing non-real time service and broadcast receiver
CN103222227B (en) * 2010-02-04 2017-05-24 金泰克斯公司 System and method for communication in a wireless manner reprogramming system memory
US8751795B2 (en) * 2010-09-14 2014-06-10 Mo-Dv, Inc. Secure transfer and tracking of data using removable non-volatile memory devices
US8645716B1 (en) 2010-10-08 2014-02-04 Marvell International Ltd. Method and apparatus for overwriting an encryption key of a media drive
US9563751B1 (en) * 2010-10-13 2017-02-07 The Boeing Company License utilization management system service suite
US20120108326A1 (en) * 2010-10-28 2012-05-03 At&T Intellectual Property I Lp Secure geographic based gaming
US20120137054A1 (en) * 2010-11-24 2012-05-31 Stec, Inc. Methods and systems for object level de-duplication for solid state devices
JP5159916B2 (en) * 2011-04-28 2013-03-13 株式会社東芝 host
FR2976147B1 (en) * 2011-05-30 2013-11-22 Maxim Integrated Products Schema interleave data for an external memory of a secure microcontroller
US20120331303A1 (en) * 2011-06-23 2012-12-27 Andersson Jonathan E Method and system for preventing execution of malware
US9319842B2 (en) 2011-06-27 2016-04-19 At&T Intellectual Property I, L.P. Mobile device configured point and shoot type weapon
US9161158B2 (en) 2011-06-27 2015-10-13 At&T Intellectual Property I, L.P. Information acquisition using a scalable wireless geocast protocol
KR101290809B1 (en) * 2011-07-08 2013-08-23 삼성중공업 주식회사 Server for providing contents, method for encoding contents, decoding contents, and recording medium
CN102279813B (en) * 2011-08-12 2014-03-12 无锡城市云计算中心有限公司 Protecting method of system inside encryption card
JP5981923B2 (en) * 2011-09-06 2016-08-31 パナソニック株式会社 Recording medium apparatus, the terminal apparatus, the distribution apparatus, control method, program, and program recording medium
JP5899751B2 (en) * 2011-09-28 2016-04-06 ソニー株式会社 The information processing apparatus, an information processing method, and a program
US9495870B2 (en) 2011-10-20 2016-11-15 At&T Intellectual Property I, L.P. Vehicular communications using a scalable ad hoc geographic routing protocol
US9798616B2 (en) * 2011-11-01 2017-10-24 International Business Machines Corporation Wireless sending a set of encoded data slices
US9195463B2 (en) * 2011-11-30 2015-11-24 International Business Machines Corporation Processing core with speculative register preprocessing in unused execution unit cycles
US8744419B2 (en) 2011-12-15 2014-06-03 At&T Intellectual Property, I, L.P. Media distribution via a scalable ad hoc geographic protocol
US8868910B2 (en) * 2012-02-09 2014-10-21 Hewlett-Packard Development Company, L.P. Elliptic curve cryptographic signature
JP2015511050A (en) 2012-03-20 2015-04-13 クリメニ テクノロジーズ, インコーポレイテッド Method and system for the process working set quarantine
CN103377347B (en) * 2012-04-24 2016-01-06 腾讯科技(深圳)有限公司 File encryption, decryption method and device
US9049022B2 (en) 2012-04-27 2015-06-02 Certicom Corp. Hashing prefix-free values in a certificate scheme
US8995656B2 (en) 2012-04-27 2015-03-31 Certicom Corp. Multiple hashing in a cryptographic scheme
US8850199B2 (en) 2012-04-27 2014-09-30 Certicom Corp. Hashing prefix-free values in a signature scheme
WO2013175640A1 (en) * 2012-05-25 2013-11-28 株式会社東芝 Host device and authentication method for host device
JP5973808B2 (en) * 2012-07-03 2016-08-23 フェリカネットワークス株式会社 The information processing apparatus, the terminal apparatus, an information processing system, an information processing method and computer program
US9071451B2 (en) 2012-07-31 2015-06-30 At&T Intellectual Property I, L.P. Geocast-based situation awareness
US9571275B1 (en) * 2012-08-14 2017-02-14 Google Inc. Single use identifier values for network accessible devices
CN102930223B (en) * 2012-09-21 2015-07-22 北京深思洛克软件技术股份有限公司 Method and system for protecting disk data
US9210589B2 (en) 2012-10-09 2015-12-08 At&T Intellectual Property I, L.P. Geocast protocol for wireless sensor network
US9565472B2 (en) 2012-12-10 2017-02-07 Time Warner Cable Enterprises Llc Apparatus and methods for content transfer protection
US9660745B2 (en) 2012-12-12 2017-05-23 At&T Intellectual Property I, L.P. Geocast-based file transfer
CN103092688B (en) * 2012-12-28 2015-11-18 飞天诚信科技股份有限公司 A method for generating a coordinate point in the embedded system
US9390291B2 (en) * 2012-12-29 2016-07-12 Intel Corporation Secure key derivation and cryptography logic for integrated circuits
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9288118B1 (en) 2013-02-05 2016-03-15 Google Inc. Setting cookies across applications
US9298947B2 (en) * 2013-02-07 2016-03-29 Qualcomm Incorporated Method for protecting the integrity of a fixed-length data structure
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9521635B1 (en) 2013-05-21 2016-12-13 Marvell International Ltd. Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system
US9836306B2 (en) 2013-07-31 2017-12-05 Marvell World Trade Ltd. Parallelizing boot operations
FR3010598B1 (en) 2013-09-06 2017-01-13 Sagem Defense Securite cache coherence management Method
US9087192B2 (en) * 2013-09-10 2015-07-21 Infineon Technologies Ag Electronic circuit and method for monitoring a data processing
JP2015103890A (en) * 2013-11-22 2015-06-04 ソニー株式会社 Content receiver, content receiving method, content transmitter and content transmitting method
WO2015163967A3 (en) * 2014-02-04 2015-12-23 Exponential Horizons Cryptographic method and system of protecting digital content and recovery of same through unique user identification
EP2990978A1 (en) * 2014-08-28 2016-03-02 Vodafone GmbH Operating a device for forwarding protected content to a client unit
KR20160084875A (en) * 2015-01-06 2016-07-15 삼성전자주식회사 Method and electronic device for managing data
JP2016134752A (en) * 2015-01-19 2016-07-25 富士通株式会社 Processing program, processing unit and processing method
US20160212107A1 (en) * 2015-01-21 2016-07-21 Oracle International Corporation Tape drive encryption in the data path

Citations (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5065429A (en) * 1989-04-03 1991-11-12 Lang Gerald S Method and apparatus for protecting material on storage media
US5199073A (en) * 1990-10-30 1993-03-30 International Business Machines Corporation Key hashing in data processors
US5396558A (en) * 1992-09-18 1995-03-07 Nippon Telegraph And Telephone Corporation Method and apparatus for settlement of accounts by IC cards
US5450489A (en) * 1993-10-29 1995-09-12 Time Warner Entertainment Co., L.P. System and method for authenticating software carriers
US5497418A (en) * 1992-10-09 1996-03-05 Nagra Plus S.A. Data processing system having a set of memory cards
US5523641A (en) * 1992-05-27 1996-06-04 Nihon Musen Kabushiki Kaisha Surface acoustic wave device
US5546461A (en) * 1993-04-09 1996-08-13 Matsushita Electric Industrial Co., Ltd. Scramble system for use in digital video signal recording and reproducing system or transmission and receiving system, comprising scramble apparatus and descramble apparatus
US5625693A (en) * 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
US5673319A (en) * 1995-02-06 1997-09-30 International Business Machines Corporation Block cipher mode of operation for secure, length-preserving encryption
US5680587A (en) * 1995-05-01 1997-10-21 Computer Performance Inc. Enhanced-performance floppy diskette subsystem
US5715403A (en) * 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US5883958A (en) * 1996-04-01 1999-03-16 Sony Corporation Method and device for data decryption, a method and device for device identification, a recording medium, a method of disk production, and a method and apparatus for disk recording
US5915024A (en) * 1996-06-18 1999-06-22 Kabushiki Kaisha Toshiba Electronic signature addition method, electronic signature verification method, and system and computer program product using these methods
US5917910A (en) * 1995-10-16 1999-06-29 Sony Corporation Encrypting method and apparatus, recording method, decrypting method and apparatus, and recording medium
US5991878A (en) * 1997-09-08 1999-11-23 Fmr Corp. Controlling access to information
US6011849A (en) * 1997-08-28 2000-01-04 Syndata Technologies, Inc. Encryption-based selection system for steganography
US6055236A (en) * 1998-03-05 2000-04-25 3Com Corporation Method and system for locating network services with distributed network address translation
US6058477A (en) * 1997-03-26 2000-05-02 Sony Corporation System and method for authentication, and device and method for authentication
US6126071A (en) * 1998-05-25 2000-10-03 Mitsubishi Denki Kabushiki Kaisha IC memory card system for authenticating an IC memory card, and IC memory card used for the same
US6163647A (en) * 1996-12-02 2000-12-19 Nec Corporation Apparatus for synchronized playback of audio-video signals
US20010004736A1 (en) * 1999-12-16 2001-06-21 Hideyuki Hirano Method for facilitating legitimate use of digital content
US6253193B1 (en) * 1995-02-13 2001-06-26 Intertrust Technologies Corporation Systems and methods for the secure transaction management and electronic rights protection
US6298401B1 (en) * 1997-08-11 2001-10-02 Seagate Technology Llc Object oriented storage device having a disc drive controller providing an interface exposing methods which are invoked to access objects stored in a storage media
US20020077177A1 (en) * 1999-04-08 2002-06-20 Scott Elliott Security system for video game system with hard disk drive and internet access capability
US20020176575A1 (en) * 2000-12-07 2002-11-28 Bahman Qawami System, method, and device for playing back recorded audio, video or other content from non-volatile memory cards, compact disks or other media
US6598161B1 (en) * 1999-08-09 2003-07-22 International Business Machines Corporation Methods, systems and computer program products for multi-level encryption
US6859535B1 (en) * 1998-10-16 2005-02-22 Matsushita Electric Industrial Co., Ltd. Digital content protection system
US6896709B1 (en) * 1998-11-19 2005-05-24 Sk Corporation Miniature fuel reformer and system using metal thin film
US6915434B1 (en) * 1998-12-18 2005-07-05 Fujitsu Limited Electronic data storage apparatus with key management function and electronic data storage method

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2997483B2 (en) 1989-11-08 2000-01-11 株式会社日立製作所 Verification data generation device
JP3080202B2 (en) * 1992-11-18 2000-08-21 日本電信電話株式会社 Ic credit card and ic card terminal
JPH06289782A (en) 1993-04-07 1994-10-18 Matsushita Electric Ind Co Ltd Mutual authentication method
CA2228014C (en) * 1995-07-31 2008-07-22 Verifone, Inc. Method and apparatus for operating resources under control of a security module or other secure processor
KR100250803B1 (en) 1995-09-05 2000-04-01 다니구찌 이찌로오 Data transformation apparatus and data transformation method
EP0802535B1 (en) 1995-10-09 2005-06-15 Matsushita Electric Industrial Co., Ltd. Information recording medium, information reproduction apparatus and information reproduction method
JPH09106429A (en) 1995-10-12 1997-04-22 Hitachi Ltd Electronic slip processing method
JPH09179951A (en) 1995-12-22 1997-07-11 Dainippon Printing Co Ltd Portable information recording medium and its system
EP0789361A3 (en) 1996-02-06 2001-01-03 Matsushita Electric Industrial Co., Ltd. Data reception apparatus, data transmission apparatus, information processing system, data reception method and information record medium storing the data reception method suitable for preventing illegal copy of documents
US5673316A (en) 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
JPH1065662A (en) 1996-04-01 1998-03-06 Sony Corp Data decoding method and its device, authenticating method, recording medium, disk producing method, recording method and recording device
CN1139067C (en) * 1996-05-15 2004-02-18 英特托拉斯技术公司 Method for obtaining controlled content or information of DVD and method for operating DVD apparatus
JPH10126406A (en) 1996-10-23 1998-05-15 Toyo Commun Equip Co Ltd Data cipher system in network
JPH10187826A (en) * 1996-12-19 1998-07-21 Nec Corp Forged card use preventing method, card reader/writer and forged card use preventing system
EP0851418B1 (en) 1996-12-26 2004-11-10 Kabushiki Kaisha Toshiba Reproducing apparatus for reproducing data recorded on a recording medium
JP3746146B2 (en) 1997-02-07 2006-02-15 株式会社東芝 Generating and decoding method and transmission and receiving apparatus of the encryption information
JPH10283280A (en) * 1997-04-07 1998-10-23 M V P Kk Multimedia electronic mail transmitting method and record medium to be used for the same
JPH10303880A (en) * 1997-05-01 1998-11-13 Digital Vision Lab:Kk Service providing system
JP3575951B2 (en) 1997-06-17 2004-10-13 株式会社東芝 The device authentication method, apparatus, and an authentication system
US6021419A (en) * 1997-09-16 2000-02-01 International Business Machines Corporation System for filtering broadcast digital information in accordance with channel identifiers stored in preference list which can be dynamically updated via command through network
FR2772532B1 (en) 1997-12-16 2000-01-07 Schlumberger Ind Sa Method for secure transmission of a message from a sending device to a receiving device
JPH11185006A (en) 1997-12-25 1999-07-09 Dainippon Printing Co Ltd Ic card
JPH11213552A (en) 1998-01-26 1999-08-06 Matsushita Electric Ind Co Ltd Data recording/reproducing method and data recording/ reproducing method
KR100611867B1 (en) * 1998-01-26 2006-08-11 마츠시타 덴끼 산교 가부시키가이샤 Method and system for data recording/reproducing, apparatus for recording/reproducing, and media for recording program
JP2001519930A (en) * 1998-02-04 2001-10-23 サンマイクロシステムズ インコーポレーテッド Efficient authentication and a method and apparatus for integrity checking using hierarchical hashing
US6834111B1 (en) 1998-04-01 2004-12-21 Matsushita Electric Industrial Co., Ltd. Data transmitting/receiving method, data transmitter, data receiver, data transmitting/receiving system, av content transmitting method, av content receiving method, av content transmitter, av content receiver, and program recording medium
DE69918284D1 (en) * 1998-04-17 2004-07-29 Iomega Corp to secure, encrypted electronic data to send to a special storage medium and copy to prevent unauthorized system
US6356753B1 (en) * 1998-04-24 2002-03-12 Ericsson Inc Management of authentication and encryption user information in digital user terminals
JPH11306088A (en) 1998-04-27 1999-11-05 Toppan Printing Co Ltd Ic card and ic card system
JP4208998B2 (en) * 1998-07-03 2009-01-14 パイオニア株式会社 Recording and reproducing system having a copy control function, a recording device and a reproducing device
US6304973B1 (en) * 1998-08-06 2001-10-16 Cryptek Secure Communications, Llc Multi-level security network system
JP2000196582A (en) 1998-12-25 2000-07-14 Nippon Telegr & Teleph Corp <Ntt> Method for recording, utilizing and information for preventing illegal use by employing storage media identifier
WO2000049764A1 (en) 1999-02-18 2000-08-24 Sun Microsystems, Inc. Data authentication system employing encrypted integrity blocks
US6366297B1 (en) * 1999-03-01 2002-04-02 3Com Corporation System and method for displaying modem information on a graphical user interface display
CN1236581C (en) 1999-03-15 2006-01-11 索尼公司 Data processing method, device and system for transmission of encrypted data
JP3992396B2 (en) 1999-03-31 2007-10-17 株式会社リコー Electronic document management device, an electronic document management method and a computer-readable recording medium recording a program for making a computer execute the method
JP4177517B2 (en) 1999-05-21 2008-11-05 株式会社東芝 Content processing systems and content protection method
JP2000341265A (en) 1999-05-28 2000-12-08 Matsushita Electric Ind Co Ltd Method for data recording and readout, recording device, readout device, and writing device
US6898709B1 (en) * 1999-07-02 2005-05-24 Time Certain Llc Personal computer system and methods for proving dates in digital data files
FR2804023B1 (en) * 2000-01-26 2002-09-20 Johnson & Johnson Consumer Fr Nutritional Supplement to base Blackcurrant pips oil

Patent Citations (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5065429A (en) * 1989-04-03 1991-11-12 Lang Gerald S Method and apparatus for protecting material on storage media
US5199073A (en) * 1990-10-30 1993-03-30 International Business Machines Corporation Key hashing in data processors
US5523641A (en) * 1992-05-27 1996-06-04 Nihon Musen Kabushiki Kaisha Surface acoustic wave device
US5446796A (en) * 1992-09-18 1995-08-29 Nippon Telegraph And Telephone Corporation Method and apparatus for settlement of accounts by IC cards
US5502765A (en) * 1992-09-18 1996-03-26 Nippon Telegraph And Telephone Corporation Method and apparatus for settlement of accounts by IC cards
US5396558A (en) * 1992-09-18 1995-03-07 Nippon Telegraph And Telephone Corporation Method and apparatus for settlement of accounts by IC cards
US5497418A (en) * 1992-10-09 1996-03-05 Nagra Plus S.A. Data processing system having a set of memory cards
US5546461A (en) * 1993-04-09 1996-08-13 Matsushita Electric Industrial Co., Ltd. Scramble system for use in digital video signal recording and reproducing system or transmission and receiving system, comprising scramble apparatus and descramble apparatus
US5450489A (en) * 1993-10-29 1995-09-12 Time Warner Entertainment Co., L.P. System and method for authenticating software carriers
US5715403A (en) * 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US5673319A (en) * 1995-02-06 1997-09-30 International Business Machines Corporation Block cipher mode of operation for secure, length-preserving encryption
US6253193B1 (en) * 1995-02-13 2001-06-26 Intertrust Technologies Corporation Systems and methods for the secure transaction management and electronic rights protection
US5680587A (en) * 1995-05-01 1997-10-21 Computer Performance Inc. Enhanced-performance floppy diskette subsystem
US5625693A (en) * 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
US5917910A (en) * 1995-10-16 1999-06-29 Sony Corporation Encrypting method and apparatus, recording method, decrypting method and apparatus, and recording medium
US5883958A (en) * 1996-04-01 1999-03-16 Sony Corporation Method and device for data decryption, a method and device for device identification, a recording medium, a method of disk production, and a method and apparatus for disk recording
US5915024A (en) * 1996-06-18 1999-06-22 Kabushiki Kaisha Toshiba Electronic signature addition method, electronic signature verification method, and system and computer program product using these methods
US6163647A (en) * 1996-12-02 2000-12-19 Nec Corporation Apparatus for synchronized playback of audio-video signals
US6058477A (en) * 1997-03-26 2000-05-02 Sony Corporation System and method for authentication, and device and method for authentication
US6298401B1 (en) * 1997-08-11 2001-10-02 Seagate Technology Llc Object oriented storage device having a disc drive controller providing an interface exposing methods which are invoked to access objects stored in a storage media
US6011849A (en) * 1997-08-28 2000-01-04 Syndata Technologies, Inc. Encryption-based selection system for steganography
US5991878A (en) * 1997-09-08 1999-11-23 Fmr Corp. Controlling access to information
US6055236A (en) * 1998-03-05 2000-04-25 3Com Corporation Method and system for locating network services with distributed network address translation
US6126071A (en) * 1998-05-25 2000-10-03 Mitsubishi Denki Kabushiki Kaisha IC memory card system for authenticating an IC memory card, and IC memory card used for the same
US6859535B1 (en) * 1998-10-16 2005-02-22 Matsushita Electric Industrial Co., Ltd. Digital content protection system
US6896709B1 (en) * 1998-11-19 2005-05-24 Sk Corporation Miniature fuel reformer and system using metal thin film
US6915434B1 (en) * 1998-12-18 2005-07-05 Fujitsu Limited Electronic data storage apparatus with key management function and electronic data storage method
US20020077177A1 (en) * 1999-04-08 2002-06-20 Scott Elliott Security system for video game system with hard disk drive and internet access capability
US6598161B1 (en) * 1999-08-09 2003-07-22 International Business Machines Corporation Methods, systems and computer program products for multi-level encryption
US20010004736A1 (en) * 1999-12-16 2001-06-21 Hideyuki Hirano Method for facilitating legitimate use of digital content
US20020176575A1 (en) * 2000-12-07 2002-11-28 Bahman Qawami System, method, and device for playing back recorded audio, video or other content from non-volatile memory cards, compact disks or other media

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8127150B2 (en) 2003-10-14 2012-02-28 Intel Corporation Data security
US20050081048A1 (en) * 2003-10-14 2005-04-14 Komarla Eshwari P. Data security
US7562230B2 (en) 2003-10-14 2009-07-14 Intel Corporation Data security
US20090254760A1 (en) * 2003-10-14 2009-10-08 Intel Corporation Data security
US20070237761A1 (en) * 2003-11-19 2007-10-11 Institut National De La Sante Et De La Recherche M Chimeric Anti Cd44 Antibodies and Their Use for Treating Acute Myeloid Leukemia
US8140675B2 (en) 2004-01-15 2012-03-20 Panasonic Corporation Content reproduction apparatus
US20100275016A1 (en) * 2004-10-20 2010-10-28 Zimmer Vincent J Data security
US20060085652A1 (en) * 2004-10-20 2006-04-20 Zimmer Vincent J Data security
US9135470B2 (en) * 2004-10-20 2015-09-15 Intel Corporation Data security
US7711965B2 (en) * 2004-10-20 2010-05-04 Intel Corporation Data security
US9654464B2 (en) 2004-10-20 2017-05-16 Intel Corporation Data security
US20070083467A1 (en) * 2005-10-10 2007-04-12 Apple Computer, Inc. Partial encryption techniques for media data
US20090290714A1 (en) * 2008-05-20 2009-11-26 Microsoft Corporation Protocol for Verifying Integrity of Remote Data
US20100088520A1 (en) * 2008-10-02 2010-04-08 Microsoft Corporation Protocol for determining availability of peers in a peer-to-peer storage system
US20100166176A1 (en) * 2008-12-29 2010-07-01 Lahouari Ghouti Elliptical polynomial-based message authentication code
US8139765B2 (en) * 2008-12-29 2012-03-20 King Fahd University Of Petroleum & Minerals Elliptical polynomial-based message authentication code
US20100250502A1 (en) * 2009-03-27 2010-09-30 Kiyokazu Saigo Method and apparatus for contents de-duplication

Also Published As

Publication number Publication date Type
DE60132962D1 (en) 2008-04-10 grant
KR20010108366A (en) 2001-12-07 application
US7373506B2 (en) 2008-05-13 grant
CN100423041C (en) 2008-10-01 grant
US8375206B2 (en) 2013-02-12 grant
US20020169971A1 (en) 2002-11-14 application
KR100653807B1 (en) 2006-12-05 grant
EP1195734A1 (en) 2002-04-10 application
CN100511329C (en) 2009-07-08 grant
EP1195734B1 (en) 2008-02-27 grant
US20100235633A1 (en) 2010-09-16 application
ES2301525T3 (en) 2008-07-01 grant
US7669052B2 (en) 2010-02-23 grant
EP1622302A3 (en) 2006-08-23 application
US20030233559A1 (en) 2003-12-18 application
WO2001054099A1 (en) 2001-07-26 application
EP1195734A4 (en) 2004-03-03 application
EP1624609B1 (en) 2011-08-24 grant
CA2365236A1 (en) 2001-07-26 application
DK1195734T3 (en) 2008-05-13 grant
EP1267515A3 (en) 2004-04-07 application
US20070136612A1 (en) 2007-06-14 application
KR20040096492A (en) 2004-11-16 application
KR100653806B1 (en) 2006-12-05 grant
KR20040053329A (en) 2004-06-23 application
KR100653802B1 (en) 2006-12-05 grant
KR20040053328A (en) 2004-06-23 application
KR20040053330A (en) 2004-06-23 application
EP1624609A2 (en) 2006-02-08 application
CN1818990A (en) 2006-08-16 application
EP1622302A2 (en) 2006-02-01 application
CN1779689A (en) 2006-05-31 application
KR20040096493A (en) 2004-11-16 application
CA2400786C (en) 2007-04-10 grant
KR100653801B1 (en) 2006-12-05 grant
KR20040058296A (en) 2004-07-03 application
KR20040097120A (en) 2004-11-17 application
CN1363077A (en) 2002-08-07 application
KR100653803B1 (en) 2006-12-05 grant
KR100653805B1 (en) 2006-12-05 grant
KR100456496B1 (en) 2004-11-10 grant
CA2400786A1 (en) 2001-07-26 application
DE60132962T2 (en) 2009-02-26 grant
EP1267515A2 (en) 2002-12-18 application
CN1420480A (en) 2003-05-28 application
KR100653804B1 (en) 2006-12-05 grant
EP1624609A3 (en) 2006-08-30 application
US20100005301A1 (en) 2010-01-07 application

Similar Documents

Publication Publication Date Title
US6950941B1 (en) Copy protection system for portable storage media
US7336791B2 (en) Information processing apparatus
US20080010450A1 (en) Content Control Method Using Certificate Chains
US20080034440A1 (en) Content Control System Using Versatile Control Structure
US7346170B2 (en) Information processing system and method
US7167564B2 (en) Information processing system and method
US6834333B2 (en) Data processing device, data storage device, data processing method, and program providing medium for storing content protected under high security management
US20080010455A1 (en) Control Method Using Identity Objects
US6748531B1 (en) Method and apparatus for confirming and revoking trust in a multi-level content distribution system
US20080313264A1 (en) Domain management for digital media
US20100275036A1 (en) Recording/reproducing system, recording medium device, and recording/reproducing device
US6886098B1 (en) Systems and methods for compression of key sets having multiple keys
US20020112161A1 (en) Method and system for software authentication in a computer system
US20080126801A1 (en) Method and apparatus for generating proxy-signature on right object and issuing proxy signature certificate
US20080022395A1 (en) System for Controlling Information Supplied From Memory Device
US6868404B1 (en) Digital data recording device, digital data memory device, and digital data utilizing device for converting management information which contains restrictive information using a different key in each management information send/receive session
US20030185397A1 (en) Information processing apparatus
US20130268771A1 (en) Digital rights management system and methods for accessing content from an intelligent storag
US20030009681A1 (en) Digital work protection system, recording medium apparatus, transmission apparatus, and playback apparatus
US6550011B1 (en) Media content protection utilizing public key cryptography
US7224804B2 (en) Information processing device, information processing method, and program storage medium
US20060083369A1 (en) Method and apparatus for sharing and generating system key in DRM system
US20050089164A1 (en) System and method for the production and distribution of copy-protected and use-protected electronic audio and visual media and the data contents thereof
US20020071553A1 (en) Data storage device, data recording method, data playback method, and program providing medium
US7845011B2 (en) Data transfer system and data transfer method