ES2301525T3 - Sistema de autentificacion de datos. - Google Patents

Sistema de autentificacion de datos. Download PDF

Info

Publication number
ES2301525T3
ES2301525T3 ES01901463T ES01901463T ES2301525T3 ES 2301525 T3 ES2301525 T3 ES 2301525T3 ES 01901463 T ES01901463 T ES 01901463T ES 01901463 T ES01901463 T ES 01901463T ES 2301525 T3 ES2301525 T3 ES 2301525T3
Authority
ES
Spain
Prior art keywords
data
integrity check
key
content
section
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.)
Expired - Lifetime
Application number
ES01901463T
Other languages
English (en)
Inventor
Tomoyuki Sony Corporation Asano
Yoshihito Sony Corporation ISHIBASHI
Taizo Sony Corporation SHIRAI
Toru Sony Corporation AKISHITA
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 Corp
Original Assignee
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
Priority claimed from JP2000013322A external-priority patent/JP2001203686A/ja
Priority claimed from JP2000015551A external-priority patent/JP2001211148A/ja
Priority claimed from JP2000016251A external-priority patent/JP2001211152A/ja
Priority claimed from JP2000015858A external-priority patent/JP2001209310A/ja
Priority claimed from JP2000016213A external-priority patent/JP2001211151A/ja
Priority claimed from JP2000016292A external-priority patent/JP2001211080A/ja
Priority claimed from JP2000016029A external-priority patent/JP2001211149A/ja
Application filed by Sony Corp filed Critical Sony Corp
Application granted granted Critical
Publication of ES2301525T3 publication Critical patent/ES2301525T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols 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 communications; Network security protocols 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 communications; Network security protocols 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 OR COUNTING
    • G06FELECTRIC 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 ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC 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 communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols 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 communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols 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 communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols 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 communications; Network security protocols
    • 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 communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols 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 communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols 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 communications; Network security protocols 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 communications; Network security protocols 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 communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols 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 communications; Network security protocols 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

Un aparato de procesamiento de datos para procesar datos de contenido proporcionados por un medio de registro o comunicación, cuyo aparato comprende: una sección (302, 401) de proceso criptográfico para ejecutar un proceso criptográfico sobre dichos datos de contenido; y una sección (306, 403) de control para ejecutar funciones de control para dicha sección (302, 401) de proceso criptográfico, y dicha sección (302, 401) de proceso criptográfico está configurada para generar una pluralidad de valores de comprobación de integridad parcial como valores de comprobación de integridad para una pluralidad correspondiente de conjuntos de datos parciales, cada uno de los cuales contiene uno o más datos parciales obtenidos por una sección constitutiva de datos de contenido dividiendo dichos datos de contenido en una pluralidad de partes, y para generar un valor de comprobación de integridad intermedia en base a una cadena de datos de conjunto de valores de comprobación de integridad parcial que contiene dicha pluralidad de valores de comprobación de integridad parcial, y utilizar el valor de comprobación de integridad intermedia generado para verificar toda la pluralidad de conjunto de datos parciales correspondientes a la pluralidad de valores de comprobación de integridad parcial que constituyen dicho conjunto de valores de comprobación de integridad parcial; en el que dicho valor de comprobación de integridad parcial se genera por medio de un proceso criptográfico con una clave de generación de valor de comprobación parcial aplicada al mismo, utilizando como mensaje datos parciales a comprobar; y dicho valor de comprobación de integridad intermedia se genera por medio de un proceso criptográfico con una clave de generación de valores de comprobación general aplicada al mismo, utilizando como mensaje una cadena de datos de conjunto de valores de comprobación de integridad parcial a comprobar; dicho valor de comprobación de integridad parcial es un código de autentificación de mensaje (MAC) generado en un modo DES-CBC utilizando como mensaje datos parciales a comprobar, dicho valor de comprobación de integridad intermedia es un código de autentificación de mensaje (MAC) generado en un modo DES-CBC utilizando como mensaje una cadena de datos de conjunto de valores de comprobación de integridad parcial a comprobar, y dicha sección de proceso criptográfico está configurada para ejecutar el proceso criptográfico en el modo de DES-CBS.

Description

Sistema de autentificación de datos.
Campo técnico
El presente invento se refiere a un aparato de procesamiento de datos, a un método de procesamiento de datos, y más en particular a un método y a un aparato para verificar que son válidos los datos que constituyen un contenido de datos, es decir, para comprobar si los datos han sido o no alterados indebidamente, así como a un método para impartir valores de verificación, y también a un aparato y a un método capaces de mejorar la seguridad generando claves individuales necesarias para procesamiento de cifrado utilizando claves maestras correspondientes a sus respectivas claves individuales. Además el presente invento crea una configuración que elimina el uso ilegal de datos de contenido, o más específicamente se refiere a un aparato y a un método capaces de identificar dispositivos de reproducción ilegal y eliminar el uso ilegal de los contenidos. Adicionalmente, el presente invento se refiere a un aparato y a un método capaces de establecer fácilmente contenidos solamente disponibles para el aparato de procesamiento de datos utilizando datos de contenido y datos también disponibles para otros aparatos de procesamiento de datos en base a información específica al aparato de procesamiento de datos, etc. Aun adicionalmente, el presente invento se refiere a un método, un aparato y un método de asignación de valores de verificación para verificar la validez de los datos que configuran contenidos de datos, es decir para verificar la presencia o ausencia de alteraciones indebidas.
Adicionalmente, el presente invento se refiere a un aparato de procesamiento de datos, a un método de generación de datos de contenido, y a un método de procesamiento de datos que realiza una configuración de datos de contenido que permite crear y utilizar datos de contenido con una gestión de alta seguridad en una configuración en la cual se aplica procesamiento de cifrado a datos que incluyen al menos información de voz, información de imagen y datos de programa, mediante cuyo método los datos se proporcionan a un usuario de contenidos junto con diversos tipos de informaciones de cabecera, y el usuario de contenidos realiza el procesamiento de reproducción, ejecución, o almacenamiento en un dispositivo de registro.
Aun adicionalmente, el presente invento se refiere a un aparato de procesamiento de datos, a un método de procesamiento de datos y a un método de generación de datos de contenido para crear una configuración para un procesamiento eficiente de reproducción en el caso en que los contenidos de datos son datos de voz comprimidos, datos de imagen, etc, y más específicamente para permitir disponer de una configuración de los datos de contenido en la cual se combinan datos comprimidos y un programa de procesamiento de expansión, para recuperar y extraer un programa de procesamiento de expansión aplicable basado en información de cabecera de contenidos de datos comprimidos en los cuales está almacenado un programa de procesamiento de expansión como información de cabecera para ejecutar procedimientos de procesamiento de reproducción.
Aun adicionalmente, el presente invento se refiere a una configuración y a un método para reproducir diversos contenidos tales como sonidos, imágenes, juegos o programas que están disponibles a través de medios de registro, tales como unidades de DVD (disco digital versátil) o CD (disco compacto) o medios de comunicación por radio o por cable, tales como CATV, Internet, o medios de comunicación por satélite, en un dispositivo de registro y reproducción que pertenece a un usuario, y para almacenar el contenido en un dispositivo de registro exclusivo, por ejemplo una tarjeta de memoria, un disco duro o un disco compacto del tipo CD-R, para realizar una configuración para imponer limitaciones de uso deseadas por el distribuidor del contenido cuando se utiliza un contenido almacenado en el dispositivo de registro, y proporcionar seguridad de tal modo que el contenido distribuido no sea utilizado ilegalmente por una tercera persona diferente de los usuarios regulares.
Antecedentes Descripción de la técnica relacionada
Diversos datos tales como programas de juego, datos de sonido, datos de imagen o programas de documentación (a los que se hará referencia posteriormente como "contenidos") se distribuyen actualmente a través de una red tal como Internet o a través de medios de almacenamiento distribuibles, tales como discos DVD o CD. Estos contenidos distribuibles pueden almacenarse en un dispositivo de registro tal como una tarjeta de memoria o un disco duro que está asociado a un aparato de registro de reproducción, tal como un computador personal (PC), o un aparato de juegos que pertenece a un usuario de modo que, una vez almacenados, los contenidos pueden ser reproducidos a partir de los medios de almacenamiento.
Los componentes principales de una tarjeta de memoria utilizada en un aparato de información convencional, tal como un aparato de juegos de vídeo o un computador personal, incluyen medios de conexión para controlar operaciones, un conector para conexión a una ranura conectada a los medios de conexión y formada en el aparato de información, una memoria no volátil conectada a los medios de control para almacenar datos, etc. La memoria no volátil dispuesta en la tarjeta de memoria comprende una memoria EEPROM (memoria de solo lectura eléctricamente borrable), una memoria rápida, etc.
Diversos contenidos tales como datos o programas que están almacenados en la tarjeta de memoria son invocados por la memoria no volátil en respuesta a una orden del usuario procedente de un cuerpo principal de aparato de información, tal como un aparato de juegos o un ordenador personal, que se utiliza como aparato de reproducción o en respuesta a la orden de un usuario proporcionada a través de medios de entrada conectados, siendo reproducidos los datos procedentes del cuerpo principal de aparato de información o de un dispositivo de imagen, altavoces, etc, que están conectados a dicho aparato.
Muchos contenidos de programa tales como programas de juegos, datos de música o datos de imagen, tienen en general sus derechos de distribución retenidos por sus creadores o vendedores. De este modo, en la distribución de estos contenidos se utiliza en general una configuración que impone limitaciones especificadas al uso; es decir, la utilización de los programas se permite solamente a usuarios regulares para evitar la copia no autorizada, etc; es decir, se toma en consideración la seguridad.
Un método para imponer limitaciones al uso por parte de un usuario es un proceso para cifrar un contenido distribuido. Este proceso comprende medios para distribuir diversos contenidos tales como datos de sonido, datos de imagen, o programas de juego que están cifrados, por ejemplo, a través de Internet y para descifrar un contenido cifrado distribuido solamente para personas confirmadas como usuarios regulares, correspondiendo los medios a una configuración para impartir una clave de descifrado.
Los datos cifrados pueden ser convertidos nuevamente en datos descifrados disponibles (texto claro) obtenidos mediante un proceso de descifrado basado en un procedimiento predeterminado. Es conocido convencionalmente tal método de cifrado y descifrado que utiliza una clave de cifrado para un proceso de cifrado de información mientras utiliza una clave de descifrado para tal proceso de descifrado.
Existen diversos tipos de aspectos de métodos de cifrado y descifrado que utilizan una clave de cifrado y una clave de descifrado; un ejemplo es el denominado criptosistema de clave común. El criptosistema de clave común utiliza una clave de cifrado común usada para un proceso de cifrado de datos y una clave de descifrado común utilizada para un proceso de descifrado de datos, e imparte estas claves comunes utilizadas para los procesos de cifrado y descifrado a usuarios regulares al tiempo que se excluyen los accesos de datos por usuarios ilegales que no tienen las claves. Un ejemplo representativo de este sistema de cifrado (criptosistema) es el DES (Data Encryption Standard: norma de cifrado de datos).
Las claves de cifrado y descifrado utilizadas para los procesos de cifrado y descifrado se obtienen, por ejemplo, aplicando una función unidireccional, tal como una función de comprobación aleatoria basada en una contraseña o código similar. La función unidireccional hace difícil determinar su entrada a partir de su salida. Por ejemplo, una contraseña decidida por un usuario se utiliza como entrada para aplicar una función unidireccional para generar claves de cifrado y descifrado en base a una salida de la función. La determinación de la contraseña a partir de las claves de cifrado y descifrado así obtenidas, que constituye los datos originales para las claves, es sustancialmente imposible.
Adicionalmente, un método denominado "sistema de cifrado de clave pública" utiliza diferentes algoritmos para un proceso basado en una clave de cifrado utilizada para cifrado y para un proceso basado en una clave de descifrado utilizada para el descifrado. El criptosistema de clave pública utiliza una clave pública disponible para usuarios no especificados, de modo que un documento cifrado para un individuo particular se descifra utilizando una clave pública emitida por este usuario particular. El documento cifrado con la clave pública puede descifrarse solamente con una clave secreta correspondiente a la clave pública utilizada para el proceso de descifrado. Puesto que la clave secreta es poseída por el individuo que emitió la clave pública, el documento cifrado con la clave pública puede ser descifrado solamente por individuos que tienen la clave secreta. Un sistema de cifrado de clave pública representativo es el sistema de cifrado RSA (Rivest-Shamir-Adleman).
La utilización de tal criptosistema permite el descifrado de contenidos cifrados solamente para usuarios regulares. Una configuración de distribución de contenidos convencionales que utiliza tal criptosistema se describirá resumidamente con referencia a la figura 1.
La figura 1 muestra un ejemplo de una configuración en la cual medios 10 de reproducción, tales como un computador personal o un aparato de juego, reproducen un programa, datos de sonido o vídeo, etc (contenido) obtenidos de medios de suministro de datos, tal como un DVD, un CD 30 o la red Internet 40 y en el que los datos obtenidos del DVD, CD 30, Internet 40, etc, se almacenan en medios 20 de almacenamiento tales como un disco flexible, una tarjeta de memoria, un disco duro, etc.
Los contenidos, tales como un programa o datos de audio o vídeo, se suministran a un usuario que tiene los medios 10 de reproducción. Un usuario regular obtiene datos de cifrado y también datos de clave que constituyen sus claves de cifrado y descifrado.
Los medios 10 de reproducción tienen una unidad central 12 de procesamiento para reproducir datos de entrada por medio de una sección 14 de procesado de reproducción. La sección 14 de procesado de reproducción descifra datos cifrados para reproducir un programa suministrado y el contenido, tal como datos de sonido o imagen.
El usuario regular graba el contenido, tal como el programa y los datos, en medios 20 de almacenamiento con el fin de utilizar nuevamente el programa suministrado. Los medios 10 de reproducción tienen una sección 13 de procesado de grabación para ejecutar este proceso de grabación de contenidos. La sección 13 de procesado de grabación cifra y memoriza los datos con el fin de evitar que los datos almacenados en los medios 20 de almacenamiento sean utilizados ilegalmente.
Se utiliza una clave de cifrado de contenidos para cifrar el contenido. La sección 13 de proceso de grabación utiliza la clave de cifrado de contenidos para cifrar el contenido y almacena entonces el contenido cifrado en una sección 21 de almacenamiento de los medios 20 de almacenamiento, tales como un disco flexible, una tarjeta de memoria o un disco duro.
Para obtener y reproducir el contenido almacenado de los medios 20 de almacenamiento, el usuario obtiene datos cifrados de los medios 20 de almacenamiento y hace que la sección 14 de proceso de reproducción de los medios 10 de reproducción ejecute el proceso de descifrado utilizando una clave de descifrado de contenidos, con el fin de obtener y reproducir datos descifrados a partir de los datos cifrados.
De acuerdo con el ejemplo convencional de configuración que se muestra en la figura 1, el contenido almacenado es cifrado en los medios 20 de almacenamiento (tales como un disco flexible o una tarjeta de memoria) y no puede ser así leído externamente. Sin embargo, cuando este disco flexible va a reproducirse utilizando medios de reproducción de otro aparato de información, tal como un computador personal o un aparato de juegos, la reproducción es imposible a no ser que los medios de reproducción tengan la misma clave de contenido, es decir la misma clave de descifrado para descifrar el contenido cifrado. Consiguientemente, para implementar un formato disponible para una pluralidad de aparatos de información, debe suministrarse a los usuarios una clave de descifrado de común.
La utilización de una clave de cifrado de contenidos común, sin embargo, significa que existirá una posibilidad mayor de distribuir desordenadamente la clave de proceso de cifrado a usuarios que no tienen una licencia regular. Consiguientemente, no puede evitarse la utilización ilegal del contenido por usuarios que no tienen la licencia regular, y será difícil excluir el uso ilegal en computadores personales, aparatos de juego, etc, que no tienen la licencia regular.
En caso de que la información de la clave salga de uno de los aparatos, la utilización de una clave de cifrado de contenidos y una clave de descifrado común puede provocar daños al sistema completo que utiliza las claves.
Adicionalmente, en un ambiente que utiliza una clave común como se ha descrito anteriormente, es posible copiar fácilmente, por ejemplo, un contenido creado en un cierto ordenador personal y grabado en medios de almacenamiento tales como una tarjeta de memoria o un disco flexible. En consecuencia, será posible una forma de uso en la que se utilice el disco flexible copiado en vez de los datos del contenido original, de modo que pueden crearse o manipularse un gran número de datos de contenido copiados disponibles para aparatos de información, tales como aparatos de juegos u ordenadores personales.
Se utiliza convenientemente un método que contiene un valor de comprobación de integridad en los datos de contenido para comprobar la validez de los datos, es decir para comprobar si han sido o no alterados y que hace a continuación que un dispositivo de registro y reproducción coteje un valor de comprobación de integridad generado en base a los datos a verificar con el valor de comprobación de integridad contenido en los datos para verificar los mismos.
El valor de comprobación de integridad para el contenido de datos, sin embargo, es creado en general para los datos completos, y la comparación del valor de comprobación de integridad generado para los datos completos requiere que se genere un valor de comprobación de integridad para los datos completos a comprobar. Por ejemplo, si ha de determinarse un valor de comprobación de integridad utilizando un código de autentificación de mensaje (MAC) generado en un modo DES-CBC, el proceso DES CBC debe ser ejecutado con los datos completos. La cantidad de tales cálculos aumenta linealmente con la longitud de los datos, reduciéndose desventajosamente la eficiencia de procesamiento.
El documento FR-A-2772532 describe la transmisión de un programa en forma cifrada, el desciframiento del programa, la división del programa descifrado en partes elementales y a continuación la aplicación de una propiedad lógica a cada parte elemental para producir un valor lógico que es indistintamente verdadero o falso. El valor lógico indica si el programa ha sido manipulado o no. Se considera auténtico el programa si cada valor lógico tiene el estado verdadero. En general el programa está dividido en instrucciones, y la propiedad lógica es "es la instrucción una instrucción ejecutable o no"; si cualquiera de las instrucciones es una instrucción no ejecutable, entonces el programa ha sido probablemente alterado fraudulentamente.
El documento EP-A-752786 describe la autentificación de aplicaciones transmitidas en un sistema de información interactivo para tratar de evitar que programas interactivos que son enviados puedan dañar un dispositivo del receptor. El proceso divide el programa transmitido en partes (módulos) y provee a cada módulo de un valor de división que puede ser utilizado para verificar la integridad del módulo. Crea también un módulo directorio relacionado con todos los módulos. Este módulo es portador del certificado de autenticidad y tiene su propia función de división. El certificado es comprobado en primer lugar para establecer que la entidad que lo envía es de confianza y si se demuestra que es auténtico, entonces se comprueba la función de división para ver si el módulo de directorio incluye errores. Si no es así, se comprueban los valores de división individuales para cada módulo para verificar su integridad.
Descripción del invento
El presente invento resuelve los problemas anteriores de la técnica convencional y crea, como primer objetivo, un aparato y un método de procesamiento de datos y un método de impartición de valores de verificación de datos, que confirman eficientemente la validez de los datos y ejecutan eficientemente un proceso de descarga para un dispositivo de registro después de la verificación, un proceso de reproducción ejecutado después de la verificación, y otros procesos, así como un programa que proporciona un medio para utilización en este aparato y estos métodos.
Adicionalmente, como técnicas para limitar la utilización de datos de contenido a usuarios autorizados, están disponibles diversos tipos de procesos de cifrado, tales como el cifrado de datos, descifrado de datos, verificación de datos y procesamiento de firmas. Sin embargo, la ejecución de estos tipos de procesos de cifrado requiere información secreta común, por ejemplo información de clave aplicada al cifrado y descifrado de datos de contenido o una clave de autentificación utilizada para autentificación a ser compartida entre dos aparatos, es decir aparatos entre los cuales se transfieren datos de contenido o aparatos entre los cuales se ejecuta un procesamiento de autentificación.
Por consiguiente, en caso de que se produzca una fuga de datos de clave, que correspondan a información secreta compartida, de cualquiera de los dos aparatos, los datos de cifrado de contenido que utilizan la información de clave compartida pueden ser descifrados también por una tercera parte que no tenga licencia, permitiendo así un uso ilegal de los contenidos. Lo mismo es cierto para el caso en que se produce una fuga de una clave de autentificación, lo que conducirá a establecer la autentificación para un aparato sin licencia. La fuga de claves, por consiguiente, tiene consecuencias que afectan perjudicialmente a todo el sistema.
En las reivindicaciones anexas se exponen diversos aspectos respectivos del presente invento.
Adicionalmente, una realización del aparato de procesamiento de datos tiene una sección de proceso criptográfico que está configurada para almacenar el valor de generación de valores de comprobación parcial de integridad y la clave de generación del valor de comprobación general de integridad.
Adicionalmente, una de las realizaciones del aparato de procesamiento de datos de acuerdo con el presente invento está caracterizada porque el proceso de criptografía tiene varios tipos de claves de generación de valores de comprobación parcial correspondientes a valores de comprobación parcial de integridad generados.
Adicionalmente, una de las realizaciones del aparato de procesamiento de datos de acuerdo con el presente invento está caracterizada porque el proceso de criptografía es un proceso de criptografía DES, y la sección de procesamiento de criptografía está configurada para ejecutar el proceso criptográfico DES.
Además, una realización del aparato de procesamiento de datos de acuerdo con el presente invento está caracterizada porque el valor de comprobación parcial de integridad es un código de autentificación de mensaje (MAC) generado en un modo DES-CBC utilizando datos parciales a comprobar, como mensaje, el valor intermedio es un código de autentificación de mensaje generado en un modo DES-CBC utilizando una cadena de datos de conjunto de valores de comprobación parcial de integridad a comprobar, como mensaje, y la sección de proceso criptográfico está configurada para ejecutar el proceso criptográfico en el modo DES-CBS.
Adicionalmente, una realización del aparato de procesamiento de datos de acuerdo con el presente invento está caracterizada porque en la configuración del proceso criptográfico basado en el modo DES-CBC de la sección de proceso criptográfico, se aplica un procedimiento DES triple solamente en parte de una cadena de mensaje a procesar.
Adicionalmente, una realización del aparato de procesamiento de datos de acuerdo con el presente invento está caracterizada porque el aparato de procesamiento de datos tiene una clave de firma, y la sección de proceso criptográfico está configurada para aplicar un valor generado a partir del valor intermedio por medio del proceso criptográfico aplicado y la clave de firma como valor de comparación para la verificación de datos.
Adicionalmente, una realización del aparato de procesamiento de datos de acuerdo con el presente invento está caracterizada porque el aparato de procesamiento de datos tiene una pluralidad de claves de firma diferentes como claves de firma, y la sección de proceso criptográfico está configurada para aplicar una clave de la pluralidad de claves de firma diferentes, que se selecciona dependiendo de una localización de los datos de contenido, al proceso criptográfico para el valor de comprobación de integridad intermedio para obtener el valor de comparación para verificación de datos.
Adicionalmente, una realización del aparato de procesamiento de datos de acuerdo con el presente invento está caracterizada porque el aparato de procesamiento de datos tiene una clave de firma común a todas las entidades de un sistema para ejecutar un proceso de verificación de datos, y una clave de firma específica de aparato particular de cada aparato que ejecuta un proceso de verificación de datos.
Adicionalmente, una realización del aparato de procesamiento de datos de acuerdo con el presente invento está caracterizada porque el valor de comprobación parcial de integridad contiene uno o más valores de comprobación de integridad de sección de cabecera generados para datos contenidos en la sección de cabecera que constituyen parcialmente datos de información, y uno o más valores de comprobación de integridad de contenido generados para datos de bloque de contenido que constituyen parcialmente los datos de información, y el proceso criptográfico está configurado para generar uno o más valores de comprobación de integridad de sección de cabecera para un conjunto parcial de datos en los datos intra sección de cabecera para ejecutar un proceso de comparación, generar uno o más valores de comprobación de integridad de contenido para un conjunto parcial de datos en los datos de sección intra contenido para ejecutar un proceso de comparación, y generar adicionalmente un valor de comprobación de integridad general basado en todos los valores de comprobación de integridad de sección de cabecera y en los valores de comprobación de integridad de contenido generados, para ejecutar un proceso de comparación con el fin de verificar los datos.
Adicionalmente, una realización del aparato de procesamiento de datos de acuerdo con el presente invento está caracterizada porque el valor de comprobación parcial de integridad contiene uno o más valores de comprobación de integridad de sección de cabecera generados para datos de sección intra cabecera que constituyen parcialmente datos de información, y el proceso criptográfico está configurado para generar uno o más valores de comprobación de integridad de sección de cabecera para un conjunto parcial de datos en los datos de sección intra cabecera para ejecutar un proceso de comparación y generar adicionalmente un valor de comprobación de integridad general en base a uno o más valores de comprobación de integridad de sección de cabecera generados y a los datos de bloque de contenido que constituyen parte de los datos, para ejecutar un proceso de comparación con el fin de verificar los
datos.
Adicionalmente, una realización del aparato de procesamiento de datos de acuerdo con el presente invento está caracterizada porque comprende además un dispositivo de registro para almacenar datos validados por la sección de proceso criptográfico.
Adicionalmente, una realización del aparato de procesamiento de datos de acuerdo con el presente invento está caracterizada porque la sección de control está configurada de modo que si en el proceso ejecutado por la sección de proceso criptográfico para cotejar el valor de comprobación parcial de integridad la comparación no se establece, la sección de control suspende el proceso para almacenar datos en el dispositivo de registro.
Adicionalmente, una realización del aparato de procesamiento de datos de acuerdo con el presente invento está caracterizada porque comprende además una sección de proceso de reproducción para reproducir datos validados por la sección de proceso criptográfico.
Adicionalmente, una realización del aparato de procesamiento de datos de acuerdo con el presente invento está caracterizada porque si en el proceso ejecutado por la sección de proceso criptográfico para cotejar el valor de comprobación parcial de integridad el cotejamiento no se establece con éxito, la sección de control suspende el proceso de reproducción en la sección de proceso de reproducción.
Adicionalmente, una realización del aparato de procesamiento de datos de acuerdo con el presente invento está caracterizada porque comprende medios de control para cotejar solamente los valores de comprobación de integridad de sección de cabecera en los datos durante el proceso ejecutado por la sección de proceso criptográfico para cotejar los valores de comprobación parcial de integridad y transmitir a la sección de proceso de reproducción para reproducción datos para los cuales se ha establecido el cotejamiento con éxito de los valores de comprobación de integridad de sección de cabecera.
Adicionalmente, una realización del método de procesamiento de datos de acuerdo con el presente invento está caracterizada porque el valor de comprobación parcial de integridad se genera aplicando diferentes tipos de claves de generación de valores de comprobación parcial correspondientes a valores de comprobación parcial de integridad generados.
Adicionalmente, una realización del método de procesamiento de datos de acuerdo con el presente invento está caracterizada porque el proceso criptográfico es un proceso criptográfico DES.
Adicionalmente, una realización del método de procesamiento de datos de acuerdo con el presente invento está caracterizada porque el valor de comprobación parcial de integridad es un código de autentificación de mensaje (MAC) generado en un modo DES-CBC utilizando datos parciales a comprobar, como mensaje, y el valor intermedio es un código de autentificación de mensaje (MAC) generado en un modo DES-CBC utilizando una cadena de datos de conjunto de valores de comprobación parcial de integridad a comprobar, como mensaje.
Adicionalmente, una realización del método de procesamiento de datos de acuerdo con el presente invento está caracterizada porque se aplica como valor de comparación para verificación de datos un valor generado a partir del valor intermedio por medio de un proceso criptográfico aplicado a claves de firma.
Adicionalmente, una realización del método de procesamiento de datos de acuerdo con el presente invento está caracterizada porque se aplican diferentes claves de firma al proceso criptográfico para el valor de comprobación de integridad intermedio dependiendo de una localización de los datos de contenido, para obtener el valor de cotejamiento para verificación de datos.
Adicionalmente, una realización del método de procesamiento de datos de acuerdo con el presente invento está caracterizada porque se selecciona y se utiliza como clave de firma, que depende de la localización del clave de descifrado de contenidos, una clave de firma común a todas las entidades de un sistema para ejecutar un proceso de verificación de datos, o una clave de firma específica de aparato particular para cada aparato que ejecuta un proceso de verificación de datos.
Adicionalmente, una realización del método de procesamiento de datos de acuerdo con el presente invento está caracterizada porque el valor de comprobación parcial de integridad contiene uno o más valores de comprobación de integridad de sección de cabecera generados para datos de sección intra cabecera que constituyen parcialmente datos de información, y uno o más valores de comprobación de integridad de contenido generados para datos dentro de la sección de contenido parcialmente que constituyen los datos de información, y un proceso de verificación de datos genera uno o más valores de comprobación de integridad de sección de cabecera para un conjunto parcial de datos en los datos de sección intra cabecera para ejecutar un proceso de cotejamiento; dicha realización genera uno o más valores de comprobación de integridad de contenido para un conjunto parcial de datos en los datos incluidos en la sección de contenido para ejecutar un proceso de cotejamiento; y adicionalmente genera un valor de comprobación de integridad general basado en todos los valores de comprobación de integridad de sección de cabecera y en los valores de comprobación de integridad de contenido generados, para ejecutar un proceso de cotejamiento con el fin de verificar los datos.
Adicionalmente, una realización del método de procesamiento de datos de acuerdo con el presente invento está caracterizada porque el valor de comprobación parcial de integridad contiene uno o más valores de comprobación de integridad de sección de cabecera generados para datos de sección intra cabecera que constituyen parcialmente datos de información, comprendiendo el proceso de verificación de datos la generación de uno o más valores de comprobación de integridad de sección de cabecera para un conjunto parcial de datos en los datos de sección intra cabecera, para ejecutar un proceso de cotejamiento; y adicionalmente la generación de un valor de comprobación de integridad general basado en uno o más valores de comprobación de integridad de sección de cabecera generados y a datos de bloque de contenido que constituyen parte de los datos de información, para ejecutar un proceso de cotejamiento con el fin de verificar los datos.
Adicionalmente, una realización del método de procesamiento de datos de acuerdo con el presente invento está caracterizada porque comprende adicionalmente un proceso para almacenar datos validados, después de la verificación de datos.
Adicionalmente, una realización del método de procesamiento de datos de acuerdo con el presente invento está caracterizada porque si en el proceso de cotejamiento del valor de comprobación parcial de integridad no se establece una comparación favorable, el control se ejecuta de tal modo que se suspende el proceso para almacenar datos en el dispositivo de registro.
Adicionalmente, una realización del método de procesamiento de datos de acuerdo con el presente invento está caracterizada porque comprende adicionalmente un proceso de reproducción de datos para reproducir datos después de su verificación.
Adicionalmente, una realización del método de procesamiento de datos de acuerdo con el presente invento está caracterizada porque si en el proceso para cotejar el valor de comprobación parcial de integridad no se establece dicho cotejamiento, se ejecuta una acción de control para suspender el proceso de reproducción ejecutado en la sección de proceso de reproducción.
Adicionalmente, una realización del método de procesamiento de datos de acuerdo con el presente invento está caracterizada porque dicho método coteja solamente los valores de comprobación de integridad de sección de cabecera en los datos durante el proceso para cotejar los valores de comprobación parcial de integridad, y transmite a la sección de proceso de reproducción para reproducción datos para los cuales se ha establecido con éxito el cotejamiento de los valores de comprobación de integridad de sección de cabecera.
El medio de suministro de programa de acuerdo con el presente invento es, por ejemplo, un medio para crear un programa de computador en un computador en forma legible para un sistema de computador para fines generales que pueda ejecutar diversos códigos de programa. Una forma del medio es un medio de almacenamiento, tal como un disco compacto, un disco flexible o un medio MO, o un medio de transmisión tal como una red, y no está limitado específicamente a estos medios.
Tal medio de suministro de programa define una relación cooperativa estructural o funcional entre un programa de computador y un medio de suministro para realizar una función predeterminada del programa de computador en un sistema de computador. En otras palabras, se presenta un funcionamiento cooperativo en el sistema de computador instalando el programa de computador en el sistema de computador a través del medio de suministro, y pueden obtenerse efectos operacionales similares a otros aspectos del presente invento.
Se verán ahora otros objetos, características específicas y ventajas del presente invento por la explicación detallada basada en la realización y dibujos anexos del presente invento que se describen posteriormente.
Como se ha descrito anteriormente, de acuerdo con el aparato y método de procesamiento de datos y con el método de de impartición de valores de verificación de datos del presente invento, se utilizan valores de comprobación parcial de integridad generados como valores de comprobación de integridad para un conjunto parcial de datos que contiene uno o más datos parciales obtenidos dividiendo los datos de contenido en una pluralidad de segmentos, para un proceso de cotejamiento para verificar los datos parciales, y se utilizan valores de comprobación de integridad de verificación de valores de comprobación parcial de integridad para verificar un conjunto de valores de comprobación parcial de integridad que comprende una combinación de una pluralidad de valores de comprobación parcial de integridad para un proceso de cotejamiento para verificar la integridad de una pluralidad de conjuntos de datos parciales correspondientes a una pluralidad de valores de comprobación parcial de integridad que constituyen un conjunto de valores de comprobación parcial de integridad. Consiguientemente, en comparación con una configuración para impartir un solo valor de comprobación de integridad a los datos de contenido completos, se consigue una verificación parcial y todo el proceso de verificación es eficiente debido a la utilización de los valores de comprobación parcial de integridad.
Adicionalmente, de acuerdo con el aparato y método de procesamiento de datos y con el método de método de impartición de valores de verificación de datos del presente invento, el proceso de verificación puede ejecutarse dependiendo de cómo se utilicen los datos de contenido, por ejemplo si los datos han de ser descargados o reproducidos; por ejemplo, puede omitirse un proceso de verificación para una porción de datos que difícilmente esté manipulada. Por consiguiente, se consigue una verificación eficiente dependiendo del modo en que se utilicen los datos.
Adicionalmente, el aparato de procesamiento de datos y el método de procesamiento de datos del presente invento están configurados de tal modo que no se almacenan en una sección de almacenamiento claves individuales necesarias para ejecutar el procesamiento de cifrado, tal como el cifrado de datos, el descifrado de datos, la verificación de datos, el procesamiento de autentificación y el procesamiento de firmas, almacenándose en la sección de almacenamiento claves maestras para generar estas claves individuales, la sección de procesamiento de cifrado del aparato de procesamiento de datos extrae las claves maestras correspondientes a estas claves individuales, tales como claves de cifrado y claves de autentificación de la sección de almacenamiento según se requiera, ejecuta el procesamiento de cifrado aplicando un algoritmo DES, etc, en base a las claves maestras y datos de identificación extraídos del aparato o datos y genera claves individuales, tales como una clave de cifrado y claves de autentificación, y por consiguiente el presente invento elimina la posibilidad de que las propias claves individuales se fuguen de la sección de almacenamiento y potencia la seguridad de un sistema de procesamiento de cifrado porque la adquisición de las claves individuales requerirá una pluralidad de segmentos de información, tales como segmentos de información tanto del algoritmo de generación de claves individuales como de claves maestras, datos de identificación del aparato o datos de información. Además, incluso si se produce una fuga de una clave individual por alguna razón, la extensión del daño está limitada al margen de la clave individual, lo cual no conducirá al colapso del sistema completo.
Adicionalmente, el aparato de procesamiento de datos, el sistema de procesamiento de datos y el método de procesamiento de datos del presente invento están configurados de tal modo que se generan secuencialmente claves individuales en base a los datos de identificación del aparato o datos, lo cual elimina la necesidad de mantener una lista de claves aplicadas a aparatos individuales en un aparato de control, facilitándose el control del sistema y potenciando también la seguridad.
Adicionalmente, de acuerdo con el aparato de procesamiento de datos, el método de procesamiento de datos y el método de generación de datos de contenido del presente invento, se almacena en los datos de contenido información de datos de identificación de dispositivos ilegales, es ejecutada por el registrador/reproductor una operación de cotejamiento entre una lista de dispositivos legales y el identificador de registrador/reproductor del registrador/reproductor que intenta utilizar el contenido antes de la utilización del contenido, y en el caso en que el resultado del cotejamiento muestre que algunas entradas de la lista de dispositivos ilegales coinciden con el identificador de registrador/reproductor, se interrumpe el procesamiento subsiguiente, por ejemplo el descifrado de datos de contenidos, la descarga o el procesamiento de reproducción, etc, haciendo así posible evitar que un reproductor, etc, haya adquirido ilegalmente una clave utilizando contenidos ilegalmente.
Adicionalmente, el aparato de procesamiento de datos, el método de procesamiento de datos y el método de generación de datos de contenido del presente invento adoptan una configuración que permite que los datos de contenido incluyan valores de comprobación junto con la lista de dispositivos ilegales en los datos de contenido, haciendo posible evitar la manipulación de la propia lista y crear una configuración de utilización de datos de contenido con seguridad aumentada.
Adicionalmente, el aparato de procesamiento de datos y el método de procesamiento de datos del presente invento permiten que un aparato de procesamiento de datos, tal como un registrador/reproductor y un ordenador personal, almacenen una clave especifica de aparato, particular para el aparato de procesamiento de datos, y una clave común de sistema, que es común a otros aparatos de procesamiento de datos que utilizan datos de contenido, haciendo posible procesar contenidos de acuerdo con restricciones de utilización de contenidos. El aparato de procesamiento de datos utiliza selectivamente estas dos claves de acuerdo con las restricciones de utilización de contenidos. Por ejemplo, en caso de que los contenidos estén disponibles solamente para el aparato de procesamiento de datos, se utiliza la clave específica para el aparato de procesamiento de datos, mientras que en caso de que los contenidos estén disponibles también para otros sistemas, se genera un valor de comprobación para los datos de contenido y se realiza un proceso de cotejamiento utilizando la clave común de sistema. Es posible describir y reproducir los datos cifrados solamente cuando el cotejamiento está establecido, permitiendo así el procesamiento de acuerdo con restricciones de utilización de contenidos, por ejemplo contenidos disponibles solamente para el aparato de procesamiento de datos o contenidos disponibles en común para el sistema, etc.
Además, el aparato de procesamiento de datos, el método de procesamiento de datos y el método de asignación de valores de verificación de datos de contenido del presente invento están configurados para generar un valor de comprobación de contenido en unidades de datos de bloque de contenido, ejecutar el procesamiento de cotejo sobre el valor de comprobación de contenido generado, generar un valor intermedio de contenido en base a los datos de bloque de contenido a verificar, y generar un valor de comprobación de contenido a través del proceso de cifrado aplicando una clave de generación de valor de comprobación de contenido, haciendo así posible una verificación eficiente en comparación con el procesamiento convencional de todos los datos.
Adicionalmente, el aparato de procesamiento de datos, el método de procesamiento de datos, y el método de asignación de valores de verificación de datos de contenido del presente invento permiten la verificación en unidades de bloques de contenido y un procesamiento de verificación simplificado de acuerdo con el proceso de descarga y el proceso de reproducción, etc, proporcionando una verificación eficiente de acuerdo con el modo de uso.
Además, puesto que el aparato de procesamiento de datos, el método de generación de datos de contenido y el método de procesamiento de datos del presente invento están concebidos para tener la configuración proporcionada con la pluralidad de bloques de contenido en los datos de contenido y permitir el procesamiento de cifrado para una unidad de cada bloque de contenido, y tienen también la configuración en la cual la clave utilizada para el cifrado de contenido está cifrada adicionalmente y almacenada en la sección de cabecera, incluso si, por ejemplo, existe una pluralidad de bloques de contenido y están mezclados bloques que requieren procesamiento de cifrado con bloques que no requieren procesamiento de cifrado, se hace posible disponer de una estructura de datos arbitraria que se acopla a cada bloque.
Adicionalmente, de acuerdo con el aparato de procesamiento de datos, el sistema de procesamiento de datos y el método de procesamiento de datos del presente invento, haciendo que la configuración del bloque de contenido sea una configuración regular, por ejemplo una configuración que tenga una longitud de datos uniforme, o una configuración en la cual estén dispuestos alternativamente el bloque de cifrado y el bloque que no requiere cifrado, puede ejecutarse de inmediato el procesamiento de descifrado, etc, del bloque de contenido, y pueden proporcionarse datos de contenido de cifrado adecuados para el procesamiento correspondiente al contenido de los datos de contenido, por ejemplo reproducción de datos musicales, etc.
Adicionalmente, el aparato de procesamiento de datos, el método de procesamiento de datos y el método de generación de datos de contenido pueden ejecutar eficientemente el procesamiento de reproducción en caso de que el contenido corresponda a datos de voz comprimidos, datos de imagen, etc. Es decir, haciendo que la configuración de los datos de contenido sea una configuración en la cual se combinan datos comprimidos y un programa de procesamiento de expansión, el procesamiento de expansión, al cual se aplica un programa de procesamiento de expansión incidental para datos de contenido comprimidos, se hace posible en el aparato de procesamiento de reproducción, y puede evitarse una situación en la cual el programa de procesamiento de expansión no existe en el aparato de procesamiento de reproducción y no puede realizarse la reproducción.
Además, de acuerdo con el aparato de procesamiento de datos, el método de procesamiento de datos y los medios de generación de datos de contenido, puesto que la configuración del datos de contenido es una configuración en la cual el aparato de procesamiento de reproducción determina el programa de procesamiento de expansión aplicable a los datos de contenido comprimidos en base a la información de cabecera, y el aparato de procesamiento de reproducción recupera adicionalmente un programa aplicable de los medios de registro accesibles o medios similares y ejecuta el procesamiento de expansión haciendo que los datos de contenido sean una combinación de datos comprimidos y la sección de cabecera que almacena el tipo de programa de procesamiento de compresión o, si el contenido tiene el programa de procesamiento de expansión, un combinación del programa de procesamiento de expansión y la cabecera que almacena el tipo del programa, no necesita ser ejecutado por un usuario un procesamiento de recuperación de programa, y se hace posible un procesamiento de reproducción
eficiente.
Breve descripción de los dibujos
La figura 1 es una vista que muestra la configuración de un sistema de procesamiento de datos convencional.
La figura 2 es una vista que representa la configuración de un aparato de procesamiento de datos al cual se aplica el presente invento.
La figura 3 es una vista que muestra la configuración de un aparato de procesamiento de datos al cual se aplica el presente invento.
La figura 4 es una vista que representa un formato de datos de los datos de contenido en un medio o vía de comunicación.
La figura 5 es una vista que muestra una política de uso contenida en una cabecera de datos de contenido.
La figura 6 es una vista que representa información de bloque contenida en una cabecera de datos de contenido.
La figura 7 es una vista que representa un método de generación de firmas electrónicas que utiliza el protocolo DES.
La figura 8 es una vista que muestra un método de generación de firmas electrónicas que utiliza el procedimiento DES triple.
La figura 9 es una vista útil para explicar el aspecto del procedimiento DES triple.
La figura 10 es una vista que representa un método de generación de firmas electrónicas que utiliza parcialmente el procedimiento DES triple.
La figura 11 es una vista que muestra un flujo de proceso de generación de firmas electrónicas.
La figura 12 es una vista que muestra un flujo de proceso de generación de firmas electrónicas.
La figura 13 es una vista útil para explicar una secuencia de proceso de autentificación mutua que utiliza una técnica de criptografía simétrica.
La figura 14 es una vista útil para explicar un certificado de clave pública.
La figura 15 es una vista útil para explicar una secuencia de proceso de autentificación mutua que utiliza una técnica de criptografía asimétrica.
La figura 16 es una vista que muestra un flujo de proceso de un proceso de cifrado que utiliza criptografía de curva elíptica.
La figura 17 es una vista que muestra un flujo de proceso de un proceso de descifrado que utiliza criptografía de curva elíptica.
La figura 18 es una vista que muestra como se mantienen datos en un dispositivo de registro y reproducción.
La figura 19 es una vista que muestra como se retienen datos en un dispositivo de registro.
La figura 20 es una vista que muestra un flujo de proceso de autentificación mutua entre el dispositivo de registro y reproducción y el dispositivo de registro.
La figura 21 es una vista que muestra la relación entre una clave maestra del dispositivo de registro y reproducción y una clave maestra correspondiente del dispositivo de registro.
La figura 22 es una vista que representa un flujo de proceso de un proceso de descarga de contenidos.
La figura 23 es una vista útil para explicar un método para generar un valor A: ICVa de comprobación de integridad.
La figura 24 es una vista útil para explicar un método para generar un valor B: ICVb de comprobación de integridad.
La figura 25 es una vista útil para explicar un método para generar un valor de comprobación de integridad total y un valor de comprobación de integridad singular para el dispositivo de registro y reproducción.
La figura 26 es una vista que muestra un formato de datos de contenido almacenados en el dispositivo de registro (campo de localización = 0).
La figura 27 es una vista que muestra un formato de datos de contenido almacenados en el dispositivo de registro (campo de localización = 1).
La figura 28 es una vista que muestra un flujo de proceso de un proceso de reproducción de contenido.
La figura 29 es una vista útil para explicar un método mediante el cual el dispositivo de registro ejecuta órdenes.
La figura 30 es una vista útil para explicar un método mediante el cual el dispositivo de registro ejecuta órdenes en un proceso de almacenamiento de contenido.
La figura 31 es una vista útil para explicar un método mediante el cual el dispositivo de registro ejecuta órdenes en un proceso de reproducción de contenido.
La figura 32 es una vista útil para explicar la configuración de un formato de datos de contenido de tipo 0.
La figura 33 es una vista útil para explicar la configuración de un formato de datos de contenido de tipo 1.
La figura 34 es una vista útil para explicar la configuración de un formato de datos de contenido de tipo 2.
La figura 35 es una vista útil para explicar la configuración de un formato de datos de contenido de tipo 3.
La figura 36 es una vista útil para explicar un método para generar un valor de comprobación de integridad de contenido (IDVi) para el formato de tipo 0.
La figura 37 es una vista útil para explicar un método para generar un valor de comprobación de integridad de contenido (IDVi) para el formato de tipo 1.
La figura 38 es una vista útil para explicar un valor de comprobación de integridad total singular para el dispositivo de registro y reproducción para los formatos de tipos 2 y 3.
La figura 39 es una vista que muestra un proceso para descargar un contenido de los tipos 0 o 1 de formato.
La figura 40 es una vista que muestra un proceso para descargar un contenido del formato de tipo 2.
La figura 41 es una vista que muestra un proceso para descargar un contenido del formato de tipo 3.
La figura 42 es una vista que muestra un proceso para reproducir un contenido del formato de tipo 0.
La figura 43 es una vista que muestra un proceso para reproducir un contenido del formato de tipo 1.
La figura 44 es una vista que muestra un proceso para reproducir un contenido del formato de tipo 2.
La figura 45 es una vista que muestra un proceso para reproducir un contenido del formato de tipo 3.
La figura 46 es una vista (1) útil para explicar un método mediante el cual un generador de contenidos y un verificador de contenidos generan valores de comprobación de integridad y ejecutan el proceso de verificación utilizando los mismos.
La figura 47 es una vista (2) útil para explicar un método mediante el cual un generador de contenidos y un verificador de contenidos generan valores de comprobación de integridad y ejecutan el proceso de verificación utilizando los mismos.
La figura 48 es una vista (3) útil para explicar un método mediante el cual un generador de contenidos y un verificador de contenidos generan valores de comprobación de integridad y ejecutan el proceso de verificación utilizando los mismos.
La figura 49 es una vista útil para explicar un método para generar individualmente diversas claves utilizando claves maestras.
La figura 50 es una vista (ejemplo 1) que representa un ejemplo de un proceso ejecutado por un proveedor de contenidos y un usuario en combinación con el método para generar individualmente diversas claves utilizando claves maestras.
La figura 51 (ejemplo 2) es una vista que representa un ejemplo de un proceso ejecutado por un proveedor de contenidos y un usuario en combinación con el método para generar individualmente diversas claves utilizando claves maestras.
La figura 52 es una vista útil para explicar una configuración para ejecutar un proceso de localización utilizando diferentes claves maestras.
La figura 53 es una vista (ejemplo 3) que muestra un ejemplo de un proceso ejecutado por el proveedor de contenidos y el usuario en combinación con el método para generar individualmente diversas claves utilizando claves maestras.
La figura 54 es una vista (ejemplo 4) que muestra un ejemplo de un proceso ejecutado por el proveedor de contenidos y el usuario en combinación con el método para generar individualmente diversas claves utilizando claves maestras.
La figura 55 es una vista (ejemplo 5) que muestra un ejemplo de un proceso ejecutado por el proveedor de contenidos y el usuario en combinación con el método para generar individualmente diversas claves utilizando claves maestras.
La figura 56 es una vista que representa un flujo de un proceso para almacenar una clave criptográfica con el procedimiento DES triple utilizando el algoritmo DES simple.
La figura 57 es una vista que muestra un flujo de proceso de reproducción de contenido (ejemplo 1) basado en niveles de prioridad.
La figura 58 es una vista que muestra un flujo de proceso de reproducción de contenido (ejemplo 2) basado en niveles de prioridad.
La figura 59 es una vista que muestra un flujo de proceso de reproducción de contenido (ejemplo 3) basado en niveles de prioridad.
La figura 60 es una vista útil para explicar una configuración para ejecutar un proceso para descifrar (descomprimir) datos comprimidos durante el proceso de reproducción de contenido.
La figura 61 es una vista que muestra un ejemplo de la configuración de un contenido (ejemplo 1).
La figura 62 es una vista que muestra un flujo de proceso de reproducción en el ejemplo 1 de la configuración del contenido.
La figura 63 es una vista que muestra un ejemplo de la configuración de un contenido (ejemplo 2).
La figura 64 es una vista que representa un flujo de proceso de reproducción en el ejemplo 2 de la configuración del contenido.
La figura 65 es una vista que muestra un ejemplo de la configuración de un contenido (ejemplo 3).
La figura 66 es una vista que representa un flujo de proceso de reproducción en el ejemplo 3 de la configuración del contenido.
La figura 67 es una vista que muestra un ejemplo de la configuración de un contenido (ejemplo 4).
La figura 68 es una vista que representa un flujo de proceso de reproducción en el ejemplo 4 de la configuración del contenido.
La figura 69 es una vista útil para explicar un proceso para generar y almacenar datos a guardar.
La figura 70 es una vista que representa un flujo de proceso para un ejemplo (ejemplo 1) del proceso para almacenar datos a guardar.
La figura 71 es una vista que representa la configuración de un fichero de gestión de datos (ejemplo 1) utilizada durante un proceso para almacenar y reproducir datos a guardar.
La figura 72 es una vista que muestra un flujo de proceso para un ejemplo (ejemplo 1) del proceso para reproducir datos a guardar.
La figura 73 es una vista que muestra un flujo de proceso para un ejemplo (ejemplo 2) del proceso para almacenar datos a guardar.
La figura 74 es una vista que muestra un flujo de proceso para un ejemplo (ejemplo 2) del proceso para reproducir datos a guardar.
La figura 75 es una vista que muestra un flujo de proceso para un ejemplo (ejemplo 3) del proceso para almacenar datos a guardar.
La figura 76 es una vista que representa la configuración de un fichero de gestión de datos (ejemplo 2) utilizado durante el proceso para almacenar y reproducir datos a guardar.
La figura 77 es una vista que muestra un flujo de proceso para un ejemplo (ejemplo 3) del proceso para reproducir datos a guardar.
La figura 78 es una vista que muestra un flujo de proceso para un ejemplo (ejemplo 4) del proceso para almacenar datos a guardar.
La figura 79 es una vista que muestra un flujo de proceso para un ejemplo (ejemplo 4) del proceso para reproducir datos a guardar.
La figura 80 es una vista que muestra un flujo de proceso para un ejemplo (ejemplo 5) del proceso para almacenar datos a guardar.
\newpage
La figura 81 es una vista que representa la configuración de un fichero de gestión de datos (ejemplo 3) utilizado durante el proceso para almacenar y reproducir datos a guardar.
La figura 82 es una vista que muestra un flujo de proceso para un ejemplo (ejemplo 5) del proceso para reproducir datos a guardar.
La figura 83 es una vista que muestra un flujo de proceso para un ejemplo (ejemplo 6) del proceso para almacenar datos a guardar.
La figura 84 es una vista que representa la configuración de un fichero de gestión de datos (ejemplo 4) utilizado durante el proceso para almacenar y reproducir datos a guardar.
La figura 85 es una vista que muestra un flujo de proceso para un ejemplo (ejemplo 6) del proceso para reproducir datos a guardar.
La figura 86 es una vista útil para explicar una configuración para excluir usuarios de contenido no válidos (revocación).
La figura 87 es una vista que muestra un flujo de un proceso (ejemplo 1) para excluir usuarios de contenido no válidos (revocación).
La figura 88 es una vista que muestra un flujo de un proceso (ejemplo 2) para excluir usuarios de contenido no válidos (revocación).
La figura 89 es una vista útil para explicar la configuración del chip de seguridad (ejemplo 1).
La figura 90 es una vista que muestra un flujo de proceso para un método de fabricación de un chip de seguridad.
La figura 91 es una vista útil para explicar la configuración del chip de seguridad (ejemplo 2).
La figura 92 es una vista que representa un flujo de un proceso para inscribir datos en el chip de seguridad (ejemplo 2).
La figura 93 es una vista que representa un flujo de un proceso para comprobar datos inscritos en el chip de seguridad (ejemplo 2).
Modo idóneo de poner en práctica el invento
Se describirán a continuación las realizaciones del presente invento. La descripción procederá en el orden de los puntos siguientes:
(1)
Configuración del Aparato de Procesamiento de Datos
(2)
Formato de Datos de Contenido
(3)
Esquema de los Procesos de Criptografía Aplicables al Presente Aparato de Procesamiento de Datos
(4)
Configuración de los Datos Almacenados en el Aparato de Registro de Reproducción
(5)
Configuración de los Datos Almacenados en el Dispositivo de Registro
(6)
Proceso de Autentificación Mutua entre el Dispositivo de Registro y Reproducción y el Dispositivo de Registro
(6-1)
Esquema del Proceso de Autentificación Mutua
(6-2)
Conmutación a Bloque de Claves durante la Autentificación Mutua
(7)
Proceso para Descargar Datos del Dispositivo de Registro y reproducción al Dispositivo de Registro
(8)
Proceso Ejecutado por el Dispositivo de Registro y Reproducción para Reproducir Información del Dispositivo de Registro
(9)
Proceso de Intercambio de Claves después de la Autentificación Mutua
(10)
Formatos de Datos de Contenido Plurales y Procesos de Descarga y Reproducción Correspondientes a cada Formato
(11)
Aspecto del Proceso Ejecutado por el Proveedor de Contenidos para Generar Valores de Comprobación (ICV)
(12)
Configuración de Generación de Claves de Proceso Criptográfico Basada en Claves Maestras.
(13)
Control de Intensidad de Criptografía en un Proceso Criptográfico
(14)
Proceso de Activación de Programa Basado en Prioridad de Activación en Política de Tratamiento en Datos de Contenido
(15)
Configuración de Contenido y Proceso de Reproducción (Descompresión)
(16)
Proceso para Generar y Almacenar Datos a Guardar en el Dispositivo de Registro y Reproducción de dichos Datos
(17)
Configuración para Excluir (Revocar) Aparatos Ilegales
(18)
Configuración de Chip Segura y Método de Fabricación para la Misma
(1) Configuración del Aparato de Procesamiento de Datos
La figura 2 representa un diagrama de bloques que muestra la configuración general de una realización de un aparato de procesamiento de datos de acuerdo con el presente invento. Los componentes principales del aparato de procesamiento de datos son un dispositivo 300 de registro y reproducción y un dispositivo 400 de registro.
El dispositivo 300 de registro y reproducción comprende, por ejemplo, un computador personal (PC), un aparato de juegos, etc. El dispositivo 300 de registro y reproducción tiene una sección 301 de control para realizar un proceso de control de unificación que incluye el control de la comunicación entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro durante un proceso criptográfico en el dispositivo 300 de registro y reproducción, una sección 302 de proceso de criptografía de dispositivo de registro y reproducción responsable de todo el proceso criptográfico, un controlador 303 de dispositivo de registro para ejecutar un proceso de autentificación con el dispositivo 400 de registro conectado al dispositivo 300 de registro y reproducción para leer e inscribir datos, una sección 304 de lectura para al menos leer datos de un medio 500, tal como un DVD, y una sección 305 de comunicaciones para transmitir y recibir datos a y desde el exterior, como se muestra en la figura 2.
El dispositivo 300 de registro y reproducción descarga y reproduce datos de contenido a y desde el dispositivo 400 de registro controlado por la sección 301 de control. El dispositivo 400 de registro es un medio de almacenamiento que preferiblemente puede instalarse y extraerse del dispositivo 300 de registro y reproducción, por ejemplo, una tarjeta de memoria, y tiene una memoria externa 402 que comprende una memoria no volátil, tal como una EEPROM (memoria de solo lectura borrable eléctricamente) o una memoria rápida, un disco duro o una memoria de acceso aleatorio con baterías.
El dispositivo 300 de registro y reproducción tiene una sección 304 de lectura como interfaz a la cual pueden aplicarse datos de contenido almacenados en el medio de almacenamiento representado en el lado izquierdo de la figura 2, por ejemplo un DVD (disco digital versátil), un CD (disco compacto), un FD (disco flexible) o un HDD (disco duro), y una sección 305 de comunicaciones como interfaz a la cual pueden aplicarse datos de contenido distribuidos por una red, tal como Internet, con el fin de recibir una entrada de un contenido procedente del
exterior.
El dispositivo 300 de registro y reproducción tiene una sección 302 de proceso de criptografía para ejecutar un procesamiento de autentificación, y procesos de cifrado y descifrado, un proceso de verificación de datos, y otros procesos relacionados con la descarga de datos de contenido aplicados exteriormente, a través de la sección 304 de lectura o la sección 305 de comunicaciones, al dispositivo 400 de registro, o para reproducir y ejecutar datos de contenido procedentes del dispositivo 400 de registro. La sección 302 de proceso de criptografía comprende una sección 306 de control para controlar toda la sección 302 de proceso de criptografía, una memoria interna 307 que retiene información tal como las claves para el proceso de criptografía y que han sido procesadas para evitar que los datos sean leídos con facilidad de la misma exteriormente, y una sección 308 de cifrado/descifrado para ejecutar los procesos de cifrado y descifrado, generar y verificar datos de autentificación, generar números aleatorios,
etc.
La sección 301 de control transmite una orden de inicialización al dispositivo 400 de registro a través del controlador 303 de dispositivo de registro, por ejemplo cuando el dispositivo 400 de registro está instalado en el dispositivo 300 de registro y reproducción, o para ejecutar un proceso de mediación para diversos procesos tales como la autentificación mutua entre la sección 308 de cifrado/descifrado de la sección 302 de proceso de criptografía de dispositivo de registro y reproducción y la sección 406 de cifrado/descifrado de la sección 401 de proceso de criptografía de dispositivo de registro, un proceso de cotejo de valores de comprobación de integridad, y procesos de cifrado y descifrado. Cada uno de estos procesos se describirá con detalle en la última parte.
La sección 302 de proceso de criptografía ejecuta el procesamiento de autentificación, los procesos de cifrado y descifrado, el proceso de verificación de datos, y otros procesos, como se ha descrito anteriormente, y comprende la sección 306 de control de criptografía, la memoria interna 307 y la sección 308 de cifrado/descifrado.
La sección 306 de control de proceso de criptografía ejecuta el control de todo el proceso de criptografía, tal como el procesamiento de autentificación y los procesos de cifrado/descifrado ejecutados por el dispositivo 300 de registro y reproducción, por ejemplo procesos de activación de una marca indicadora de compleción de autentificación cuando se ha completado el procesamiento de autentificación ejecutado entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro, ordenando la ejecución de diversos procesos ejecutados en la sección 308 de cifrado/descifrado de la sección 302 de proceso de criptografía de sección de registro y reproducción, por ejemplo un proceso de descarga y un proceso para generar valores de comprobación de integridad para datos de contenido reproducidos, y ordenando la ejecución de un proceso para generar diversos datos de clave.
La memoria interna 307 almacena datos de clave, datos de identificación, y otros datos requeridos para diversos procesos tales como el proceso de autentificación mutua, el proceso de cotejamiento de valores de comprobación de integridad, y los procesos de cifrado/descifrado que se ejecutan en el dispositivo 300 de registro y reproducción, como se describe posteriormente con detalle.
La sección 308 de cifrado/descifrado utiliza datos de clave, etc, almacenados en la memoria interna 307 para ejecutar el procesamiento de autentificación, y los procesos de cifrado y descifrado, la generación y verificación de valores de comprobación de integridad predeterminados o firmas electrónicas, la verificación de datos, la generación de números aleatorios, etc, en la descarga de datos de contenido aplicados exteriormente al dispositivo 400 de registro o en la reproducción y ejecución de datos de contenido almacenados en el dispositivo 400 de registro.
En este caso, la memoria interna 307 de la sección 302 de proceso de criptografía de dispositivo de registro y reproducción retiene información importante, tal como claves de criptografía, y debe así estar configurada para que sus datos puedan leerse fácilmente desde el exterior. De este modo, la sección de proceso de criptografía está configurada como una memoria resistente a manipulación caracterizada por restringir lecturas externas no válidas, por cuanto comprende un chip semiconductor que esencialmente rechaza accesos externos y tiene una estructura multicapa, una memoria interna dispuesta entre capas de relleno de aluminio o material similar o dispuesta en la capa más baja, y un margen estrecho de tensiones y/o frecuencias de funcionamiento. Esta configuración se describirá con más detalle posteriormente.
Adicionalmente a estas funciones de procesamiento de criptografía, el dispositivo 300 de registro y reproducción comprende una unidad 106 central de procesamiento principal (CPU) una memoria 107 de acceso aleatorio (RAM), una memoria 108 de solo lectura (ROM), una sección 109 de procesamiento de audio y vídeo (AV), una interfaz 110 de entrada, una interfaz 111 de transmisión paralelo de entrada/salida (PIO), y una interfaz 112 de transmisión serie de entrada/salida (SIO).
La unidad 106 central de procesamiento principal, la memoria 107 de acceso aleatorio y la memoria 108 de solo lectura equivalen a un componente que funciona como sistema de control para el cuerpo principal del dispositivo 300 de registro y reproducción, y principalmente funciona como una sección de procesamiento de reproducción para reproducir datos descifrados por la sección 302 de proceso de criptografía de dispositivo de registro y reproducción. Por ejemplo, la unidad 106 central de procesamiento principal ejecuta una función de control para la reproducción y ejecución de contenidos, tal como la salida de datos de contenido leídos del dispositivo de registro y descifrados a continuación, para la sección 109 de procesamiento de audio y vídeo bajo control de la sección 301 de control.
La memoria 107 de acceso aleatorio se utiliza como memoria de almacenamiento principal para diversos procesos ejecutados por la unidad 106 central de procesamiento principal y como área de trabajo para estos procesos. La memoria 108 de solo lectura almacena un programa básico para el arranque de un sistema operativo, o programa similar, activado por la unidad 106 central de procesamiento principal, y otros datos.
La sección 109 de procesamiento de audio y vídeo tiene un mecanismo de procesamiento de compresión y descompresión, específicamente un decodificador MPEG2, un decodificador ATRAC, un decodificador MP3, etc, para ejecutar procesos para transferir datos a un aparato de salida de datos, tal como un dispositivo de visualización o unos altavoces (no representados) asociados y conectados al cuerpo principal del dispositivo de registro y reproducción.
La interfaz 110 de entrada da salida a datos de entrada desde diversos medios de entrada conectados, tales como un controlador, un teclado y un ratón, hacia la unidad 106 central de procesamiento principal. La unidad 106 central de procesamiento principal ejecuta un proceso de acuerdo con una orden emitida por un usuario a través del controlador, en base a un programa de juegos que se está ejecutando, etc.
La interfaz 111 de transmisión paralelo de entrada/salida y la interfaz 112 de transmisión serie de entrada/salida se utilizan como dispositivos de almacenamiento para una tarjeta de memoria o un cartucho de juegos y como interfaz de conexión a un dispositivo electrónico portátil, etc.
La unidad 106 central de procesamiento principal ejecuta también funciones de control en el almacenamiento como datos a guardar, ajuste de datos, etc, para un juego que se está ejecutando o programa similar. Durante este proceso, se transfieren datos almacenados a la sección 301 de control, lo cual hace que la sección 302 de proceso de criptografía de dispositivo de registro y reproducción ejecute procesos de criptografía para los datos a guardar, según se requiera, y almacena a continuación los datos cifrados en el dispositivo 400 de registro. Estos procesos de criptografía se describirán posteriormente con detalle.
El dispositivo 400 de registro es un medio de almacenamiento que preferiblemente puede instalarse y extraerse del dispositivo 300 de registro y reproducción, y comprende, por ejemplo, una tarjeta de memoria. El dispositivo 400 de registro tiene una sección 401 de proceso de criptografía de dispositivo o registro y la memoria externa 402.
La sección 401 de proceso de criptografía de dispositivo o registro ejecuta la secuencia de proceso de autentificación mutua, procesos de cifrado y descifrado, un proceso de verificación de datos, y otros procesos que se ejecutan entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro en la descarga de datos de contenido del dispositivo 300 de registro y reproducción o en la reproducción de datos de contenido para su transferencia desde el dispositivo 400 de registro hasta el dispositivo 300 de registro y reproducción, y tiene una sección de control, una memoria interna, una sección de cifrado/descifrado, y otras secciones similarmente a la sección de proceso criptográfico del dispositivo 300 de registro y reproducción. Los detalles se mostrarán en la figura 3. La memoria externa 402 comprende una memoria no volátil que incluye una memoria rápida, tal como una memoria de solo lectura eléctricamente borrable, un disco duro, o una memoria de acceso aleatorio con baterías, etc, para almacenar datos de contenido cifrados o información similar.
La figura 3 es una vista que muestra esquemáticamente la configuración de datos de entrada de un medio 500 y medios 600 de comunicación, que son medios de suministro de datos de los cuales recibe datos el aparato de procesamiento de datos de acuerdo con el presente invento, y dicha figura se centra en la configuración del dispositivo 300 de registro y reproducción que recibe una entrada de un contenido de los medios 500 y 600 de suministro de contenidos y de disposiciones para el proceso criptográfico en el dispositivo 400 de registro.
El medio 500 es, por ejemplo, un medio de disco óptico, un medio de disco magnético, un medio de cinta magnética, un medio semiconductor, etc. Los medios 600 de comunicación son capaces de establecer comunicación de datos, por ejemplo a través de Internet, cable, o satélite.
En la figura 3, el dispositivo 300 de registro y reproducción verifica datos de entrada por parte del medio 500 o los medios 600 de comunicación, cuyos corresponden a un contenido que presenta un formato predeterminado como se muestra en la figura 3, almacenándose el contenido verificado en el dispositivo 400 de registro.
Como se muestra en las secciones del medio 500 y los medios 600 de comunicación en la figura 3, los datos de contenido tienen los siguientes componentes:
Identificación de Contenido: identificación de contenido como identificador para datos de contenido.
Política de uso: una política de uso que contiene información constituyente de datos de contenido, por ejemplo los tamaños de una sección de cabecera, y una sección de contenido que constituye los datos de contenido, una versión de formato, un tipo de contenido que indica si el contenido es un programa o datos, un campo de localización que indica si el contenido puede utilizarse solamente en un aparato que tiene descargado el contenido, o también en otros aparatos.
Tabla de información de bloques: tabla de información de bloques que comprende el número de bloques de contenido, un tamaño de bloque, una marca indicadora de cifrado que indica la presencia de partes cifradas, y otros componentes.
Datos de clave: datos de clave que comprenden una clave de cifrado para cifrar la tabla de información de bloques descrita anteriormente, una clave de contenido para cifrar un bloque de contenido, etc.
Bloque de contenido: bloque de contenido que comprende datos de programa, datos de música o imagen u otros datos a ser reproducidos realmente.
Se explicarán los datos de contenido posteriormente con detalle adicional con referencia a la figura 4 y figuras subsiguientes.
Los datos de contenido son cifrados por la clave de contenido (a la que se hará referencia posteriormente como "Kcon") y son suministrados a continuación al dispositivo 300 de registro y reproducción desde el medio 500 o los medios 600 de comunicación. El contenido puede ser almacenado en la memoria externa del dispositivo 400 de registro a través del dispositivo 300 de registro y reproducción.
Por ejemplo, el dispositivo 400 de registro utiliza una clave (a la que se hace referencia posteriormente como "clave de almacenamiento" (Kstr) singular y almacenada en su memoria interna 405 para cifrar el contenido constituyente de los datos de contenido, la tabla de información de bloques de los datos de contenido como información de cabecera, información sobre diversas claves, tales como la clave de contenido (Kcon), antes de almacenar estos datos en la memoria externa 402. Para descargar los datos de contenido desde el dispositivo 300 de registro y reproducción hasta el dispositivo 400 de registro o permitir que el dispositivo 300 de registro y reproducción reproduzca los datos de contenido almacenados en el dispositivo 400 de registro, se requieren procedimientos predeterminados, tales como una secuencia de proceso de autentificación mutua entre los aparatos y los procesos de cifrado y descifrado de datos de contenido. Estos procesos se explicarán con detalle posteriormente.
El dispositivo 400 de registro tiene la sección 401 de proceso de criptografía y la memoria externa 402, y la sección 401 de proceso de criptografía tiene una sección 403 de control, una sección 404 de comunicación, la memoria interna 405, una sección 406 de cifrado/descifrado, y una sección 407 de control de memoria externa.
El dispositivo 400 de registro es responsable de todo el proceso criptográfico, controla la memoria externa 402, y comprende la sección 401 de proceso de criptografía de dispositivo de registro para interpretar una orden procedente del dispositivo 300 de registro y reproducción y ejecutar un proceso, y la memoria externa 402 que retiene contenidos e información similar.
La sección 401 de proceso de criptografía de dispositivo de registro tiene la sección 403 de control para controlar la sección 401 de proceso de criptografía de dispositivo de registro, la sección 404 de comunicación para transmitir y recibir datos a y desde el dispositivo 300 de registro y reproducción, la memoria interna 405 que retiene información tal como claves para el proceso criptográfico y que ha sido procesada para evitar que se lean datos externamente con facilidad de ella, y la sección 406 de cifrado/descifrado para ejecutar los procesos de cifrado y descifrado, generar y verificar datos de autentificación, generar números aleatorios, etc, y finalmente la sección 407 de control de memoria externa para leer e inscribir datos desde y a la memoria externa 402.
La sección 403 de control ejecuta el control de todos los procesos criptográficos, tales como el proceso de autentificación y los procesos de cifrado/descifrados ejecutados por el dispositivo 400 de registro, por ejemplo procesos para activar una marca indicadora de autentificación completada cuando el proceso de autentificación ejecutado entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro se ha completado, ordenar la ejecución de diversos procesos ejecutados en la sección 406 de cifrado/descifrado de la sección 401 de proceso de criptografía de dispositivo de registro, por ejemplo un proceso de descarga y un proceso para generar valores de comprobación de integridad para datos de contenido reproducidos, y ordenar la ejecución de un proceso para generar diversos datos de clave.
La memoria interna 405 comprende una memoria que tiene una pluralidad de bloques para almacenar una pluralidad de conjuntos de datos de clave, datos de identificación, u otros datos que se requieren para diversos procesos tales como el proceso de autentificación mutua, el proceso de cotejamiento de valores de comprobación de integridad, y el proceso de cifrado y descifrado ejecutado por el dispositivo 400 de registro, como se describe posteriormente con detalle.
La memoria interna 405 de la sección 401 de proceso de criptografía de dispositivo de registro, como la memoria interna 307 de la sección 302 de proceso de criptografía de dispositivo de registro y reproducción descrita anteriormente, retiene información importante, tal como claves criptográficas, y debe estar así configurada para no tener sus datos expuestos a ser leídos externamente con facilidad. De este modo, la sección 401 de proceso de criptografía de dispositivo de registro del dispositivo 400 de registro está caracterizada para restringir lecturas no válidas externas porque comprende un chip semiconductor que esencialmente rechaza accesos externos y tiene una estructura multicapa, una memoria interna dispuesta entre capas de relleno de aluminio, o metal similar, y dispuesta en la capa más baja, y una gama estrecha de tensiones y/o frecuencias de funcionamiento. A este respecto, la sección 302 de proceso de criptografía de dispositivo de registro y reproducción puede ser configurada por programa para evitar que se fugue fácilmente hacia el exterior información secreta para claves.
La sección 406 de cifrado/descifrado utiliza datos de clave, etc, almacenados en la memoria interna 405 para ejecutar el proceso de verificación de datos, los procesos de cifrado y descifrado, la generación y verificación de valores de comprobación de integridad predeterminados o firmas electrónicas, la generación de números aleatorios, etc, en la descarga de datos de contenido del dispositivo 300 de registro y reproducción, la reproducción de datos de contenido almacenados en la memoria externa 402 del dispositivo 400 de registro, o la ejecución de procesos de autentificación mutua entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de regis-
tro.
La sección 404 de comunicación está conectada al controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción para descargar o reproducir datos de contenido o comunicar datos de transferencia entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro durante el proceso de autentificación mutua de acuerdo con el control de la sección 301 de control del dispositivo 300 de registro y reproducción, o el control de la sección 403 de control del dispositivo 400 de registro.
(2) Formato de Datos de Contenido
A continuación, utilizando las ilustraciones de la figura 4 o la figura 6, se explicará el formato de datos de los datos almacenados en el medio 500 del sistema de acuerdo con el presente invento o comunicados a través de los medios 600 de comunicación de datos.
La configuración representada en la figura 4 muestra el formato del bloque completo de datos de contenido, la configuración representada en la figura 5 muestra los detalles de la "política de uso" que constituye parcialmente la sección de cabecera de los datos de contenido, y la configuración representada en la figura 6 muestra detalles de la "tabla de información de bloques" que constituye parcialmente la sección de cabecera del contenido.
Se explicará un ejemplo representativo del formato de datos aplicado al sistema de acuerdo con el presente invento, pero pueden utilizarse para el presente sistema diferentes tipos de formatos de datos, tales como formatos correspondientes a programas de juego y formatos adecuados para el procesamiento en tiempo real de datos de música o similares. Se describirán posteriormente con detalle adicional los aspectos de este formato, en la sección "(10) Formatos de Datos de Contenido Plurales y Procesos de Descarga y Reproducción Correspondientes a Cada Formato".
En el formato de datos representado en la figura 4, los elementos representados en gris indican datos cifrados, los elementos encerrados por rectángulos dobles indican datos de comprobación de manipulación, y los otros elementos representados en blanco indican datos de texto claro que no están cifrados. Las claves de cifrado de la sección de cifrado están representadas a la izquierda de los cuadros. En el ejemplo ilustrado en la figura 4, algunos de los bloques (datos de bloque de contenido) de la sección de contenido contienen datos cifrados, mientras que los otros contienen datos no cifrados. Esta forma varía dependiendo de los datos de contenido, y todos los datos de bloque de contenido contenidos en los datos pueden estar cifrados.
Como se muestra en la figura 4, el formato de datos está dividido en la sección de cabecera y la sección de contenido, y la sección de cabecera comprende un identificador de contenido, una política de uso, un valor A de comprobación de integridad (al que se hace referencia posteriormente como "ICVa"), una clave de tabla de información de bloques (a la que se hace referencia posteriormente como "Kbit"), una clave Kcon de contenido, una tabla de información de bloques (a la que se hace referencia posteriormente como "BIT"), un valor B de comprobación de integridad (ICVb), y un valor de comprobación de integridad total (ICVt), y la sección de contenido comprende una pluralidad de bloques de contenido (por ejemplo, contenidos cifrados y no cifrados).
En este caso, la información individual indica un identificador de contenido para identificar un contenido. La política de uso comprende una longitud de cabecera que indica el tamaño de la sección de cabecera, una longitud de contenido que indica el tamaño de la sección de contenido, una versión de formato que indica información de versión para el formato, un tipo de formato que indica el tipo de formato, un tipo de contenido que indica el tipo de contenido, es decir si se trata de un programa o de datos, una prioridad de operación que indica una prioridad para activación si el tipo de contenido corresponde a un programa, un campo de localización que indica si el contenido descargado de acuerdo con este formato puede utilizarse solamente en un aparato que ha descargado el contenido o también en otros aparatos similares, un permiso de copia que indica si el contenido descargado de acuerdo con este formato puede ser copiado del aparato que ha descargado el contenido a otro aparato similar, un permiso de desplazamiento que indica si el contenido descargado de acuerdo con este formato puede desplazarse desde el aparato que ha descargado el contenido hasta otro aparato similar, un algoritmo de cifrado que indica un algoritmo utilizado para cifrar bloques de contenido en la sección de contenido, un modo de cifrado que indica un método para el funcionamiento del algoritmo utilizado para cifrar el contenido en la sección de contenido, y un método de comprobación de integridad que indica un método para generar valores de comprobación de integridad, como se muestra con detalle en la figura 5.
Las partidas de datos descritas anteriormente registradas en la política de uso se proponen solamente a modo de ejemplo y puede registrarse información diversa de política de uso dependiendo del aspecto de los datos de contenido correspondientes. El identificador se describe con detalle posteriormente, por ejemplo en "(17) Configuración para Excluir (Revocar) Aparatos Ilegales". Es posible también establecer una configuración para excluir el uso del contenido suministrado por el aparato ilegal registrando el contenido de un aparato ilegal de registro y reproducción como datos y comprobando el instante en que se inicia el uso.
El valor A de comprobación de integridad (ICVa) se utiliza para verificar que el identificador de contenido o la política de uso no han sido manipulados. Funciona como valor de comprobación parcial para datos en vez de para los datos de contenido completos, es decir como valor de comprobación parcial de integridad. La clave Kbit de la tabla de información de bloques de datos se utiliza para cifrar una tabla de información de bloques, y la clave Kcon de contenido se utiliza para cifrar bloques de contenido. La clave Kbit de la tabla de información de bloques de datos y la clave Kcon de contenido están cifradas con una clave de distribución (a la que se hará referencia posteriormente como Kdis) en el medio 500 y en los medios 600 de comunicación.
La figura 6 muestra con detalle la tabla de información de bloques. La tabla de información de bloques de la figura 6 comprende datos cifrados en su totalidad con la clave Kbit de la tabla de información de bloques de datos como se observa en la figura 4. La tabla de información de bloques comprende un número de bloque que indica el número de bloques de contenido e información relativa a N bloques de contenido, como se muestra en la figura 6. La tabla de información de bloques comprende una longitud de bloque, una marca indicadora de cifrado que indica si el bloque ha sido o no cifrado, una marca indicadora ICV que indica si deben calcularse o no valores de comprobación de integridad, y un valor de comprobación de integridad de contenido (ICVi).
El valor de comprobación de integridad de contenido se utiliza para verificar que no ha sido manipulado cada bloque de contenido. Se explicará posteriormente un método para generar un valor de comprobación de integridad de contenido en "(10) Formatos de Datos de Contenido Plurales y Procesos de Descarga y Reproducción Correspondientes a Cada Formato". La clave Kbit de la tabla de información de bloques de datos utilizada para cifrar la tabla de información de bloques está cifrada además con la clave Kdis de distribución.
Se describirá continuamente el formato de datos en la figura 4. El valor B de comprobación de integridad (ICVb) se utiliza para verificar que la clave Kbit de la tabla de información de bloques de datos, la clave Kcon de contenido y la tabla de información de bloques no han sido manipuladas. Funciona como valor de comprobación para datos parciales en vez de para todos los datos de contenido, es decir como valor de comprobación parcial de integridad. El valor ICVt de comprobación de integridad total se utiliza para verificar los valores de comprobación de integridad ICVa e ICVb, los valores de comprobación de integridad ICVi para cada bloque de contenido (si este ha sido activado), sus valores de comprobación parcial de integridad, o todos los datos a comprobar, no han sido manipu-
lados.
En la figura 6 pueden establecerse arbitrariamente la longitud de bloque, la marca indicadora de cifrado y la marca indicadora de valor de comprobación de integridad, pero pueden establecerse ciertas reglas. Por ejemplo, pueden repetirse con una longitud fija áreas cifradas y texto claro, todos los datos de contenido pueden estar cifrados, o la tabla de información de bloques puede estar comprimida. Adicionalmente, para permitir la utilización de diferentes claves Kcon de contenido para diferentes bloques de contenido, la clave Kcon de contenido puede estar contenida en el bloque de contenido en vez de en la sección de cabecera. Se describirán con detalle adicional ejemplos del formato de datos de contenido en la sección "(10) Formatos de Datos de Contenido Plurales y Procesos de Descarga y Reproducción Correspondientes a Cada Formato".
(3) Esquema de Procesos Criptográficos Aplicables al Presente Aparato de Procesamiento de Datos
A continuación se explicarán los aspectos de diversos procesos de criptografía aplicables al aparato de procesamiento de datos de acuerdo con el presente invento. La descripción de los procesos criptográficos expuestos en la sección "(3) Esquema de Procesos Criptográficos Aplicables al Presente Aparato de Procesamiento de Datos" corresponden a un esquema del aspecto de un proceso criptográfico en el que se basan diversos procesos ejecutados por el presente aparato de procesamiento de datos que se describirán específicamente posteriormente, por ejemplo, en las secciones "a. proceso de autentificación entre el dispositivo de registro y reproducción y el dispositivo de registro", "b. proceso de descarga para el dispositivo dedicado a la carga de contenidos", y "c. proceso para reproducir contenido almacenado en el dispositivo de registro". Se describirán con detalle cada uno de los procesos específicos ejecutados por el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro en el apartado (4) y apartados subsiguientes.
Se describirá un esquema de los procesos criptográficos aplicables al aparato de procesamiento de datos, en el orden siguiente:
(3-1)
Autentificación de Mensaje Basada en un Criptosistema de Clave Común
(3-2)
Firma Electrónica Basada en un Criptosistema de Clave Pública
(3-3)
Verificación de Firma Electrónica en Base a un Criptosistema de Clave Pública
(3-4)
Autentificación Mutua Basada en un Criptosistema de Clave Común
(3-5)
Certificado de Clave Pública
(3-6)
Autentificación Mutua Basada en un Criptosistema de Clave Pública
(3-7)
Proceso de Cifrado Utilizando Criptografía de Curva Elíptica
(3-8)
Proceso de Descifrado Utilizando Criptografía de Curva Elíptica
(3-9)
Proceso de Generación de Números Aleatorios
\vskip1.000000\baselineskip
(3-1) Autentificación de Mensaje Basada en un Criptosistema de Clave Común
En primer lugar se explicará un proceso para generar datos de detección de manipulación utilizando un método de criptografía de clave común. Los datos de detección de manipulación se añaden a datos a detectar en lo que se refiere a manipulaciones con el fin de comprobar adulteraciones y autentificar a un creador.
Por ejemplo, se generan como datos de detección de manipulación los valores de comprobación de integridad A y B y el valor de comprobación de integridad total en la estructura de datos descrita en la figura 4, que están encerrados en cuadros dobles, el valor de comprobación de contenido almacenado en cada bloque en la tabla de información de bloques representada en la figura 6, etc.
A continuación se explicará como ejemplo de un método para generar y procesar datos de firma electrónica, la utilización del sistema DES, que es un criptosistema de clave común.
Se explicará con referencia a la figura 7 un método para generar una firma electrónica utilizando un procedimiento DES general. En primer lugar, antes de generar una firma electrónica, un mensaje al cual ha de añadirse la firma electrónica se divide en conjuntos de ocho octetos (los segmentos del mensaje dividido se denominan posteriormente M1, M2, ..., MN). Un valor inicial (al que se hace referencia posteriormente como "IV") y el segmento M1 son combinados en función lógica "O" exclusiva (se hace referencia al resultado como "I1"). A continuación, la información I1 se aplica como entrada a la sección de cifrado DES, que cifra dicha información utilizando una clave (a la que se hace referencia posteriormente como "K1") (la salida se denomina "E1"). Subsiguientemente, la salida E1 y el segmento M2 se combinan en función lógica "O" exclusiva, y la salida I2 se aplica como entrada a la sección de cifrado DES, que la cifra utilizando la clave K1 (se hace referencia a la salida como "E2"). Este proceso se repite para cifrar todos los mensajes obtenidos por medio de la división en segmentos. La salida final EN es una firma electrónica. Este valor se denomina en general MAC (Código de Autentificación de Mensaje) utilizado para comprobar un mensaje en cuanto a manipulaciones. Adicionalmente, tal sistema para encadenar textos cifrados se denomina sistema de encadenamiento de bloques cifrados (CBC).
La salida del valor de código de autentificación de mensaje en el ejemplo de generación ilustrado en la figura 7 puede utilizarse como valor de comprobación de integridad A o B o como valor de comprobación de integridad total en la estructura de datos representada en la figura 4 delimitada por dobles cuadros, o como valor ICV1 a ICVN de comprobación de contenido almacenado en cada bloque en la tabla de información de bloques representada en la figura 6. En la verificación del valor de código de autentificación de mensaje, verificador genera un código utilizando un método similar al utilizado para su generación original, y la verificación se determina como con éxito si se obtiene el mismo valor.
Además, en el ejemplo representado en la figura 7, el valor inicial IV se combina en función lógica "O" exclusiva con el primer mensaje M1 de ocho octetos, pero el valor inicial IV puede ser nulo y no se somete a tal combinación lógica.
La figura 8 muestra la configuración de un método para mejorar el valor de código de autentificación de mensaje que tiene seguridad mejorada en comparación con el obtenido mediante el método de generación de valor de código de autentificación de mensaje ilustrado en la figura 7. La figura 8 muestra un ejemplo en el que en vez de utilizarse el procedimiento DES simple de la figura 7, se utiliza para generar el valor de código de autentificación de mensaje el procedimiento DES triple.
Las figuras 9A y 9B muestran un ejemplo de una configuración detallada de cada uno de los componentes del procedimiento DES triple representado en la figura 8. Existen dos aspectos diferentes de la configuración del procedimiento triple DES representado en la figura 9. La figura 9(a) muestra un ejemplo que utiliza dos claves de criptografía, en el que el procesamiento se realiza en el orden de un proceso de cifrado con una clave 1, un proceso de descifrado con una clave K2, y un proceso de cifrado con la clave K1. Los dos tipos de claves se utilizan en el orden K1, K2 y K1. La figura 9 (b) muestra un ejemplo que utiliza tres claves de criptografía, en el que el procesamiento se realiza en el orden de un proceso de cifrado con la clave 1, un proceso de cifrado con la clave 2, y un proceso de cifrado con una clave 3. Los tres tipos de claves se utilizan en el orden K1, K2 y K3. La pluralidad de procesos se ejecuta así continuamente para mejorar la intensidad de la seguridad en comparación con el proceso DES simple. La configuración del proceso DES triple, sin embargo, tiene la desventaja de que requiere un tiempo de procesamiento tres veces mayor que el correspondiente al proceso DES simple.
La figura 10 muestra un ejemplo de una configuración de generación de valores de código de autentificación de mensaje obtenida mejorando la configuración de proceso DES triple descrita en las figuras 8 y 9. En la figura 10, el proceso de cifrado para cada uno de los mensajes de principio a fin de una cadena de mensajes a la cual ha de añadirse una firma electrónica, está basado en el sistema DES simple, mientras que solamente el proceso de cifrado para el último mensaje se basa en la configuración DES triple representada en la figura 9 (a).
La configuración ilustrada en la figura 10 reduce el tiempo requerido para generar el valor de código de autentificación de mensaje para el mensaje hasta un valor casi igual al tiempo requerido para el proceso de generación de valores de código de autentificación de mensaje del sistema DES simple, con seguridad mejorada en comparación con el sistema que utiliza el valor de código de autentificación de mensaje basado en la configuración DES simple. Además, la configuración DES triple para el último mensaje puede ser como la representada en la figura
9 (b).
(3-2) Firma Electrónica Basada en un Criptosistema de Clave Pública
Se ha descrito el método para la generación de datos de firma electrónica si se utiliza el sistema de cifrado de clave común como sistema de cifrado, pero se describirá con referencia a la figura 11 un criptosistema de clave común como sistema de cifrado. El proceso representado en la figura 11 corresponde a un flujo de proceso de generación de datos de firma electrónica utilizando un algoritmo digital de curva elíptica (EC-DSA), IEEE P1363/D3. Se explicará un ejemplo que utiliza la criptografía de curva elíptica (a la que se hace referencia posteriormente como "ECC") como criptografía de clave publica. Adicionalmente a la criptografía de curva elíptica, el aparato de procesamiento de datos de acuerdo con el presente invento puede utilizar, por ejemplo, el procedimiento RSA (Rivest, Shamir, Adleman; ANSI X9.31) de criptografía, que es un criptosistema de clave pública similar).
Se describirán cada una de las operaciones ilustradas en la figura 11. En la operación S1 se establecen las siguientes definiciones: el símbolo p de referencia indica una característica, a y b indican coeficientes de una curva elíptica de ecuación y^{2} = x^{3} + ax + b, G indica un punto base de la curva elíptica, r indica el dígito del punto G, y Ks indica una clave secreta (0 < Ks < r). En la operación S2 se calcula un valor de cálculo de clave para el mensaje M para obtener el valor f = (M) de cálculo de clave.
A continuación se explicará un método para la determinación de un valor de cálculo de clave utilizando una función de cálculo de clave. La función de cálculo de clave recibe un mensaje como entrada, lo comprime en datos de una longitud en bits predeterminada, y da salida a los datos comprimidos como valor de cálculo de clave. El valor de cálculo de clave está caracterizado porque es difícil predecir una entrada a partir de un valor de cálculo de clave (salida), porque cuando cambia un bit de la entrada de datos a la función de cálculo de clave, cambian muchos bits del valor de cálculo de clave, y porque es difícil encontrar datos de entrada diferentes con el mismo valor de cálculo de clave. La función de cálculo de clave puede ser una función MD4, MD5, SHA-1, o DES-CBC similar a la descrita en la figura 7 u otras figuras. En este caso, el valor de código de autentificación de mensaje (MAC) correspondiente al valor ICV de comprobación de integridad, que es el valor de salida final, es el valor de cálculo de clave.
Subsiguientemente, en la operación S3, se genera un número aleatorio u (0 < u < r), y en la operación S4 el punto base se multiplica por u para obtener las coordenadas V (Xv, Yv). Una suma y una multiplicación por dos en la curva elíptica se definen del modo siguiente:
\quad
Si P=(Xa, Ya), Q=(Xb, Yb), R=(Xc, Yc)=P+Q,
\quad
Cuando P\neqQ (suma),
\quad
Xc=\lambda^{2}-Xa-Xb
\quad
Yc= \lambdax(Xa-Xc)-Ya
\quad
\lambda =(Yb-Ya)/(Xb-Xa)
\quad
Cuando P=Q (multiplicación por 2),
\quad
Xc= \lambda^{2}-2Xa
\quad
Yc= \lambdax(Xa-Xc)-Ya
\lambda=(3(Xa)^{2}+a)/(2Ya)
......(1)
Estas operaciones se utilizan para multiplicar el punto G por u (aunque la velocidad de cálculo es baja, se muestra a continuación el método de cálculo que se comprende con mayor facilidad. Se calcula G, 2xG, 4xG, ..., se expande en binario el valor u, y al valor correspondiente a 2^{I}xG (valor obtenido multiplicando G por 2i) se le añaden bits 1 (i indica una posición de bit contada desde un bit menos significativo)).
En la operación S5, se calcula c=Xvmod, y en la operación S6 se determina si el resultado es cero. Si el resultado no es cero, entonces en la operación S7 se calcula d=[(f+cKs)/u]mod r, y en la operación S8 se determina si d es cero. Si d no es cero, entonces en la operación S9 se generan como salida c y d como datos de firma electrónica. Cuando se supone que r indica la longitud de 160 bits, los datos de firma electrónica tienen una longitud de 320 bits. Si c es 0 en la operación S6, el proceso retorna a la operación S3 para regenerar un nuevo número aleatorio. Similarmente, si el valor de d es 0 en la operación S8, el proceso retorna también a la operación S3 para regenerar un nuevo número aleatorio.
(3-3) Verificación de la Firma Electrónica en Base a un Criptosistema de Clave Pública
A continuación se describirá con referencia a la figura 12 un método para verificar una firma electrónica utilizando el criptosistema de clave pública. En la operación S11, se establecen las siguientes definiciones: el símbolo M de referencia indica un mensaje, el símbolo p de referencia indica una característica, los símbolos a y b de referencia indican coeficientes de una curva elíptica definida por la ecuación y^{2} = x^{3} + ax + b, el símbolo G de referencia indica un punto base sobre la curva elíptica, el símbolo r de referencia indica el dígito de G, y los símbolos G y Ks x G de referencia indican claves públicas (0 < Ks < r). En la operación S12 se verifica que los datos c y d de firma electrónica cumplen las inecuaciones 0 < c < r y 0 < d < r. Si los datos cumplen estas condiciones, entonces en la operación S13 se calcula un valor de cálculo de clave para el mensaje M para obtener el valor f = (M) de cálculo de clave. A continuación, en la operación S14 se calcula h = 1/d mod r, y en la operación S15 se calculan las expresiones h1 = fh mod r y h2 = ch mod r.
En la operación S16, los valores h1 y h2 ya calculados se utilizan para calcular P = (Xp, Yp) = h1 x G + H2.Ks x G. Un verificador de firmas electrónicas conoce las claves públicas G y Ks x G y puede realizar así una multiplicación escalar de un punto de la curva elíptica de un modo similar a la operación S4 de la figura 11. Entonces, se determina si P es un punto situado en el infinito, y si no es así el proceso continúa hasta la operación S18 (la determinación de si P es un punto del infinito puede realizarse realmente en la operación S16. Es decir, cuando P = (X, Y) y Q = (X, -Y) se suman, no puede calcularse el valor \lambda, lo que indica que P + Q es un punto en el infinito). En la operación S18 se calcula Xp mod r y se compara con los datos c de firma electrónica. Finalmente, si estos valores son iguales, el proceso continúa hasta la operación S19 para determinar que la firma electrónica es correcta.
Si se determina que la firma electrónica es correcta, los datos no han sido manipulados y que una persona que retiene la clave secreta correspondiente a las claves públicas ha generado la firma electrónica.
Si los datos c o d de la firma no cumplen las condiciones 0 < c < r o 0 < d < r en la operación S12, el proceso continúa hasta la operación S20. Adicionalmente, si P es un punto del infinito en la operación S17, el proceso continúa también hasta la operación S20. Adicionalmente, si el valor de Xp mod r no es igual al de los datos c de firma en la operación S18, el proceso continúa hasta la operación S20.
Si se determina en la operación S20 que la firma es incorrecta, esto indica que los datos recibidos han sido manipulados o no han sido generados por la persona que retiene la clave secreta correspondiente a los claves públicas.
(3-4) Autentificación Mutua Basada en un Criptosistema de Clave Común
A continuación se explicará con referencia a la figura 13 un método de autentificación mutua que utiliza un criptosistema de clave común. En esta figura, el criptosistema de clave común es el sistema DES, pero puede utilizarse cualquier criptosistema de clave común similar al que se ha descrito anteriormente. En la figura 13, B genera en primer lugar un número aleatorio Rb de 64 bits y transmite este número y su propio identificador ID(b) a la unidad A. Al recibir los datos, genera un nuevo número aleatorio Ra de 64 bits, cifra los datos en el modo DES CBC en el orden Ra, Rb, e ID(b) utilizando una clave Kab, y retorna estas secciones de información a la unidad B. De acuerdo con la configuración del proceso en modo DES CBC representada en la figura 7, los parámetros Ra, Rb e ID(b) corresponden a M1, M2 y M3 y la salidas E1, E2 y E3 son textos cifrados cuando un valor inicial IV es igual a 0.
Al recibir los datos, B descifra los datos recibidos con la clave Kab. Para descifrar los datos recibidos, el texto cifrado E1 se descifra en primer lugar con la clave Kab para obtener el número aleatorio Ra. A continuación, el texto cifrado E2 es descifrado con la clave Kab, y el resultado y la sección E1 de información se combinan en función lógica "O" exclusiva para obtener el número aleatorio Rb. Finalmente, el texto cifrado E3 es descifrado con la clave Kab y el resultado y E2 son combinados en función lógica "O" exclusiva para obtener el identificador ID(b). De los números Ra, Rb e ID(b) así obtenidos, Rb e ID(b) se comprueban en cuanto a igualdad con los transmitidos por B. Si la verificación tiene éxito, B autentifica a A.
A continuación, la parte B genera una clave de sesión (a la que se hará referencia posteriormente como "Kses") utilizada después de la autentificación (esta se genera utilizando un número aleatorio). Los números Rb, Ra y la clave Kses se cifran en el modo DES CBC, en este orden, utilizando la clave Kab y se retornan a continuación a la parte A.
Al recibir los datos, la parte A descifra los datos recibidos con la clave Kab. El método para descifrar los datos recibidos es similar al ejecutado por la parte B, de modo que se omite su descripción detallada. De los datos Rb, Ra y Kses así obtenidos, los números Rb y Ra se comprueban en cuanto a igualdad con los transmitidos por la parte A. Si la verificación tiene éxito, la parte A autentifica a la parte B. Después que A y B se han autentificado mutuamente, se utiliza la clave Kses como clave común para comunicación secreta después del proceso de autentificación.
Si se encuentra ilegalidad o no igualdad durante la verificación de los datos recibidos, se considera que la autentificación mutua ha fallado y el proceso se aborta.
(3-5) Certificado de Clave Pública
A continuación, se explicará el certificado de clave pública con referencia a la figura 14. El certificado de clave pública es emitido por una Autoridad Certificadora (CA) para el criptosistema de clave pública. Cuando un usuario envía su propio identificador, una clave pública, etc, a la autoridad emisora de certificados, añade información, tal como su propio identificador y un plazo de validez, a los datos enviados por el usuario y además añade su firma a ellos para generar un certificado de clave pública.
El certificado de clave pública ilustrado en la figura 14 contiene el número de versión del certificado, el número secuencial del certificado asignado al usuario del certificado por la autoridad emisora de certificados, un algoritmo y parámetros utilizados para la firma electrónica, el nombre de la autoridad emisora de certificados, el plazo de validez del certificado, el nombre del usuario del certificado (identificador de usuario), la clave pública y la firma electrónica del usuario del certificado.
La firma electrónica corresponde a datos generados aplicando la función de cálculo de clave a la totalidad del número de versión del certificado, el número secuencial del certificado asignado al usuario del certificado por la autoridad emisora de certificados, el algoritmo y parámetros utilizado para la firma electrónica, el nombre de la autoridad emisora de certificados, el plazo de validez del certificado, el nombre del usuario del certificado, y la clave pública del usuario del certificado, para generar un valor de cálculo de clave, y utilizando a continuación la clave secreta de la autoridad emisora de certificados para este valor. Por ejemplo, el flujo de proceso descrito en la figura 11 se aplica a la generación de la firma electrónica.
La autoridad emisora de certificados emite el certificado de clave pública representada en la figura 14, actualiza el certificado de clave pública para el cual ha expirado el plazo válido, y crea, gestiona y distribuye una lista de usuarios ilegales para excluir a los usuarios que han cometido una ilegalidad (este proceso se denomina "revocación"). Genera también claves públicas y secretas según se requiera.
Por otra parte, para utilizar este certificado de clave pública, el usuario utiliza la clave pública de la autoridad emisora de certificados en poder del mismo para verificar la firma electrónica que figura en el certificado de clave pública, y después de haber sido verificada con éxito la firma electrónica, extrae la clave pública del certificado de clave pública y la utiliza. De este modo, todos los usuarios que utilizan el certificado de clave pública conservan una clave pública común de la autoridad emisora de certificados. El método para la verificación de la autoridad electrónica ha sido ya descrito en la figura 12, de modo que se omite su descripción detallada.
(3-6) Autentificación Mutua Basada en un Criptosistema de Clave Pública
A continuación se describirá con referencia a la figura 15 un método para autentificación mutua que utiliza una criptografía de curva elíptica de 160 bits, que es un tipo de criptografía de clave pública. En esta figura, el criptosistema de clave pública es el sistema ECC, pero puede utilizarse cualquier criptosistema de clave pública similar como se ha descrito anteriormente. Adicionalmente, la longitud de la clave no está limitada a 160 bits. En la figura 15, la parte B genera en primer lugar y transmite el número aleatorio Rb de 64 bits a la parte A. Al recibir los datos, A genera un nuevo número aleatorio Ra de 64 bits y un número aleatorio Ak inferior a la característica p. Si a continuación multiplica por Ak un punto base G para determinar un punto Av = Ak x G, genera una firma electrónica A.Sig para Ra, Rb y Av (coordenadas X e Y) y retorna estos datos a la parte B junto con el certificado de clave pública de la parte A. En este caso, puesto que los números Ra y Rb contienen cada uno 64 bits y las coordenadas X e Y del punto Av contienen cada una 160 bits, la firma electrónica se aplica al total de 448 bits. Se ha descrito en la figura 11 el método para generar la firma electrónica, de modo que se omite su descripción detallada. El certificado de clave pública se ha explicado también en la figura 14, de modo que se omite su descripción detallada.
Al recibir el certificado de clave pública de la parte A, los números Ra, Rb, Av y la firma electrónica A.Sig, la parte B verifica que el número aleatorio Rb transmitido por A coincide con el generado por B. Si se determina que coinciden, la parte B verifica la firma electrónica en el certificado de clave pública de A utilizando la clave pública de la autoridad emisora de certificados, y extrae la clave pública de la parte A. La verificación del certificado de clave pública se ha explicado con referencia a la figura 14, de modo que se omite su descripción detallada. La parte B utiliza entonces la clave pública de A obtenida para verificar la firma electrónica A.Sig. Se ha explicado en la figura 12 el método para verificar la firma electrónica, de modo que se omite su descripción detallada. Una vez que ha sido verificada con éxito la firma electrónica, la parte B autentifica a la parte A.
A continuación, la parte B genera un nuevo número aleatorio Bx menor que la característica p. Multiplica entonces el punto base G por Bk para determinar un punto Bv = Bk x G, genera una firma electrónica B.Sig para Rb, Ra y Bv (coordenadas X e Y), y retorna estos datos a la parte A junto con el certificado de clave pública de la parte B.
Al recibir el certificado de clave pública de la parte B, Rb, Ra, Av y la firma electrónica B.Sig, A verifica que el número Ra transmitido por B coincide con el generado por A. Si de determina que coinciden, la parte A verifica la firma electrónica que figura en el certificado de clave pública de la parte B utilizando la clave pública de la autoridad emisora de certificados, y extrae la clave pública de la parte B. La parte A utiliza entonces la clave pública de la parte B obtenida para verificar la firma electrónica B.Sig. Una vez que ha sido verificada con éxito la firma electrónica, la parte A autentifica a la parte B.
Si ambas partes A y B se han autentificado con éxito entre sí, la parte B calcula el producto Bk x Av (puesto que Bk es un número aleatorio pero Av es un punto de la curva elíptica, el punto de la curva elíptica debe ser sometido a multiplicación escalar), y la parte A calcula el producto Ak x Bv de modo que los 64 bits de orden inferior de cada una de las coordenadas X de estos puntos se utilizan como clave de sesión para comunicación subsiguiente (si la criptografía de clave común utiliza una longitud de clave de 64 bits). Por supuesto, la clave de sesión puede ser generada a partir de las coordenadas Y, o pueden no utilizarse los 64 bits de orden inferior. En la comunicación secreta después de la autentificación mutua, no solamente los datos transmitidos están cifrados con la clave de sesión, sino que puede añadirse a ellos una firma electrónica.
Si se encuentra ilegalidad o falta de igualdad durante la verificación de la firma electrónica o datos recibidos, se considera que la autentificación mutua ha fallado y el proceso se aborta.
(3-7) Proceso de Cifrado Utilizando Criptografía de Curva Elíptica
Se explicará a continuación con referencia a la figura 16 un proceso de cifrado utilizando criptografía de curva elíptica. En la operación S21, se establecen las siguientes definiciones: los símbolos Mx y My de referencia indican mensajes, el símbolo p de referencia indica una característica, los símbolos a y b de referencia indican coeficientes de curva elíptica (curva elíptica: y^{2} = x^{3} + ax + b), el símbolo G de referencia designa un punto base en la curva elíptica, el símbolo r de referencia indica el dígito de G, y los símbolos G y Ks x G indican claves públicas (0 < Ks < r). En la operación S22 se genera el número aleatorio u, de modo que 0 < u < r. En la operación S23 se calculan las coordenadas de V multiplicando por u la clave pública Ks x G. La multiplicación escalar sobre la curva elíptica se ha explicado en la operación S4 de la figura 11, y se omite así su descripción. En la operación S24, la coordenada X de V se multiplica por Mx y se divide a continuación por p para determinar un resto X0. En la operación S25, la coordenada Y de V se multiplica por My y se divide a continuación por p para determinar un resto Yo. Si la longitud del mensaje es inferior al número de bits, el valor My comprende un número aleatorio y la sección de descifrado lo descarta. En la operación S26 se calcula el producto u x G, y en la operación S27 se obtiene un texto cifrado u x G, (X0, Y0).
\vskip1.000000\baselineskip
(3-8) Proceso de Descifrado Utilizando Criptografía de Curva Elíptica
A continuación se describirá con referencia a la figura 17 un proceso de descifrado que utiliza la criptografía de curva elíptica. En la operación S31 se establecen las siguientes definiciones: Los símbolos u x G y (X0, Y0) de referencia indican datos de texto cifrados, el símbolo p de referencia indica una característica, los símbolos a y b de referencia indican coeficientes de curva elíptica (curva elíptica: y^{2} = x^{3} + ax + b), el símbolo G de referencia indica un punto base en la curva elíptica, el símbolo r de referencia indica dígito de G, y el símbolo Ks de referencia indica una clave secreta (0 < Ks < r). En la operación S32 los datos cifrados u x G se multiplican por un valor correspondiente a la clave secreta Ks para determinar las coordenadas de V (Xv, Yv). En la operación S33, la coordenada X del punto (X0, Y0) se extrae de los datos cifrados y se calcula X1 = X0 / Xv mod p. En la operación S34, se extrae la coordenada Y y se calcula la expresión Y1 = Y0 / Yv mod p. En la operación S35 se determina que X1 es Mx e Y1 es My para obtener un mensaje. En este punto, si el valor My no se utiliza para el mensaje, Y1 se descarta.
De este modo, cuando la clave secreta es Ks, la clave pública es G, y se calcula el producto Ks x G, la clave utilizada para el cifrado y la clave utilizada para el descifrado pueden ser diferentes.
Otro ejemplo conocido de la criptografía de clave pública es el sistema RSA, pero se omite su descripción detallada (se describen sus detalles en PKCS #1 Versión 2).
\vskip1.000000\baselineskip
(3-9) Proceso de Generación de Números Aleatorios
A continuación se explicará un método para generar un número aleatorio. Los métodos de generación de números aleatorios incluyen un método de generación de números aleatorios intrínseco que amplifica el ruido térmico para generar un número aleatorio a partir de la salida resultante de un convertidor de analógico a digital, y un método de generación de números pseudoaleatorios que combina una pluralidad de circuitos lineales en la forma de secuencias M. Es conocido también un método que utiliza criptografía de clave común, tal como el sistema DES. En este ejemplo, se describirá el método de generación de números pseudoaleatorios que utiliza el sistema DES (ANSI X9.17 base).
En primer lugar, el valor de 64 bits (para un número menor de bits, los bits de orden superior se ponen a cero) obtenido de datos tales como el tiempo, se define como D, la información de clave utilizada para el sistema DES triple se define como Kr, y una semilla para generar un número aleatorio se define como S. A continuación, se calcula el número aleatorio R del modo siguiente:
I=Triple-DES(Kr, D)
......(2-1)
I=Triple-DES(Kr,S^{\Phi}I)
......(2-2)
I=Triple-DES(Kr,R^{\Phi}I)
......(2-3)
En este caso, Triple-DES ( ) es una función que utiliza un primer argumento como información de clave criptográfica y que cifra el valor de un segundo argumento en base al procedimiento Triple-DES. La operación ^{\Phi} es una combinación lógica "O" exclusiva ejecutada cada 64 bits. El último valor S se actualiza como semilla.
Si se generan continuamente números aleatorios, se repiten los cálculos de las ecuaciones (2-2) y (2-3).
Se han descrito los aspectos de diversos procesos criptográficos aplicables al aparato de procesamiento de datos de acuerdo con el presente invento. A continuación se describirán con detalle procesos específicos en el presente aparato de procesamiento de datos.
\vskip1.000000\baselineskip
(4) Configuración de Datos Almacenados en el Dispositivo de Registro y Reproducción
La figura 18 es una vista útil para explicar el contenido de datos retenido en la memoria interna 307 configurada en la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción representado en la figura 3.
Como se muestra en la figura 18, la memoria interna 307 almacena las siguientes claves y datos:
MKake: clave maestra de autentificación del dispositivo de registro para generar una clave de autentificación e intercambio de claves (a la que se hará referencia posteriormente como "Kake") requerida para un proceso de autentificación mutua ejecutado entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro (véase la figura 3).
IVake: valor inicial para la clave de autentificación del dispositivo de registro.
MKdis: clave maestra para una clave de distribución para generar una clave Kdis de distribución.
IVdis: valor inicial de generación de clave de distribución.
Kicva: clave de generación de valor de comprobación de integridad en la parte A, para generar el valor ICVa de comprobación de integridad.
Kicvb: clave de generación de valor de comprobación de integridad en la parte B, para generar el valor ICVb de comprobación de integridad.
Kicvc: clave de generación de valor de comprobación de integridad de contenido para generar el valor ICVi de comprobación de integridad (i = 1 a N) para cada bloque de contenido.
Kicvt: clave de generación de valor de comprobación de integridad total para generar el valor ICVt de comprobación de integridad total.
Ksys: clave de firma de sistema utilizada para añadir una firma común o valor de comprobación de integridad a un sistema de distribución.
Kdev: clave de firma del dispositivo de registro y reproducción que varía dependiendo del dispositivo de registro y reproducción y que es utilizada por el dispositivo de registro y reproducción para añadir una firma o valor de comprobación de integridad.
IVmem: valor inicial que se utiliza para un proceso criptográfico para autentificación mutua u operación similar. Este valor es compartido por el dispositivo de registro.
Estas claves y datos se almacenan en la memoria interna 307 configurada en la sección 302 de proceso criptográfico del dispositivo de registro y reproducción.
\vskip1.000000\baselineskip
(5) Configuración de Datos Almacenados en el Dispositivo de Registro
La figura 19 es una vista que muestra como se almacenan los datos en el dispositivo de registro. En esta figura, la memoria interna 405 está dividida en una pluralidad de bloques (en este ejemplo, N) cada uno de los cuales almacena las siguientes claves y datos:
IDmen: información de identificación del dispositivo de registro que es singular para el dispositivo de registro.
Kake: clave de autentificación que se utiliza para autentificación mutua con el dispositivo 300 de registro y reproducción.
IVmem: valor inicial que se utiliza en un proceso criptográfico para autentificación mutua u operación similar.
Kstr: clave de almacenamiento, que es una clave criptográfica para la tabla de información de bloques y otros datos de contenido.
Kr: clave de generación de números aleatorios.
S: semilla
Cada uno de estos datos están retenidos en el bloque correspondiente. Una memoria externa 402 almacena una pluralidad de datos de contenido (en este ejemplo, M); dicha memoria retiene los datos descritos en la figura 4 como se muestra, por ejemplo, en la figura 26 o 27. Se describirá posteriormente la diferencia de configuración entre las figuras 26 y 27.
\newpage
(6) Proceso de Autentificación Mutua entre el Dispositivo de Registro y Reproducción y el Dispositivo de Registro (6-1) Esquema del Proceso de Autentificación Mutua
La figura 20 es un diagrama de flujo que muestra un procedimiento para un proceso de autentificación entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro. En la operación S41, el usuario ha insertado el dispositivo 400 de registro en el dispositivo 300 de registro y reproducción. Sin embargo, si el dispositivo 400 de registro es capaz de establecer comunicación sin contacto, no necesita ser insertado en el dispositivo de regis-
tro.
Cuando el dispositivo 400 de registro se pone en el dispositivo 300 de registro y reproducción, medios de detección de dispositivo de registro (no representados) en el dispositivo 300 de registro y reproducción representado en la figura 3 notifican a la sección 301 de control que el dispositivo 400 de registro ha sido instalado. Entonces, en la operación S42 la sección 301 de control del dispositivo 300 de registro y reproducción transmite una orden de inicialización al dispositivo 400 de registro a través del controlador 303 de dispositivo de registro. Al recibir la orden, el dispositivo 400 de registro hace que la sección 403 de control de la sección 401 de proceso criptográfico del dispositivo de registro reciba la orden a través de la sección 404 de comunicación y borre una marca indicadora de compleción de autentificación si se ha activado. Es decir, se establece un estado de ausencia de autentificación.
Entonces, en la operación S43, la sección 301 de control del dispositivo 300 de registro y reproducción transmite una orden de inicialización a la sección 302 de proceso criptográfico del dispositivo de registro y reproducción. En este momento, transmite también un número de puertos de inserción del dispositivo de registro. Cuando se transmite el número de puertos de inserción del dispositivo de registro, incluso si están conectados varios dispositivos 400 de registro al dispositivo 300 de registro y reproducción, el dispositivo 300 de registro y reproducción puede ejecutar simultáneamente el proceso de autentificación con estos dispositivos 400 de registro y transmitir a ellos y desde ellos los datos de recepción.
Al recibir la orden de inicialización, la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción hace que su sección 306 de control borre la marca de autentificación completa correspondiente al número de puerto de inserción del dispositivo de registro si ha sido activada. Es decir, se establece un estado de no autentificación.
A continuación, en la operación S44 la sección 301 de control del dispositivo 300 de registro y reproducción especifica un número de bloque de clave utilizado por la sección 401 de proceso criptográfico del dispositivo de registro. Se describirán posteriormente detalles del número de bloque de clave. En la operación S45, la sección 301 de control del dispositivo 300 de registro y reproducción lee la información IDmem de identificación de dispositivo de registro almacenada en el bloque de clave en la memoria interna 405 del dispositivo 400 de registro. En la operación S46, la sección 301 de control del dispositivo 300 de registro y reproducción transmite la información IDmem de identificación de dispositivo de registro a la sección 302 de proceso criptográfico del dispositivo de registro y reproducción para generar la clave Kake de autentificación en base a la información IDmem de identificación de dispositivo de registro. La clave Kake de autentificación se genera, por ejemplo, del modo siguiente:
Kake = DES(MKake, IDmem^{\Phi}IVake)
...... (3)
En este caso, MKake indica la clave maestra correspondiente a la clave de autentificación de dispositivo de registro utilizada para generar la clave Kake de autentificación requerida para el proceso de autentificación mutua ejecutado entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro (véase la figura 3), almacenándose la clave maestra en la memoria interna 307 del dispositivo 300 de registro y reproducción, como se ha descrito anteriormente. Adicionalmente, el valor IDmem indica la información de identificación de dispositivo de registro singular para el dispositivo 400 de registro. Adicionalmente, IVake indica la clave inicial correspondiente a la clave de autentificación del dispositivo de registro. Adicionalmente, en la anterior ecuación, la función DES ( ) indica una operación que utiliza un primer argumento como clave criptográfica y cifra el valor de un segundo argumento basado en el algoritmo DES. La operación ^{\Phi} indica una función lógica "O" exclusiva que se ejecuta cada
64 bits.
Si, por ejemplo, se aplica la configuración DES representada en las figuras 7 u 8, el mensaje M ilustrado en las figuras 7 y 8 corresponde a la información: IDmem de identificación de dispositivo de registro, la clave K1 corresponde a la clave maestra para la clave: MKake de autentificación de dispositivo, el valor inicial IV corresponde al valor: IVake, y la salida obtenida es la clave Kake de autentificación.
A continuación, en la operación S47 se realizan el proceso de autentificación mutua y el proceso para generar la clave Kses de sesión. La autentificación mutua es ejecutada entre la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción y la sección 406 de cifrado/descifrado de la sección 401 de proceso criptográfico del dispositivo de registro; la sección 301 de control del dispositivo 300 de registro y reproducción media entre ellas.
El proceso de autentificación mutua puede ser ejecutado como se ha descrito anteriormente en la figura 13. En la configuración representada en la figura 13, A y B corresponden al dispositivo 300 de registro y reproducción y al dispositivo 400 de registro, respectivamente. En primer lugar, la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción genera el número aleatorio Rb y transmite este número y la información IDdev de identificación de dispositivo de registro y reproducción, que es su propia identificación, a la sección 401 de proceso criptográfico del dispositivo de registro del dispositivo 400 de registro. La información IDdev de identificación de dispositivo de registro y reproducción es un identificador singular de un dispositivo de reproducción y se almacena en una sección de memoria configurada en el dispositivo 300 de registro y reproducción. La información IDdev de identificación de dispositivo de registro y reproducción puede registrarse en la memoria interna de la sección 302 de proceso criptográfico del dispositivo de registro y reproduc-
ción.
Al recibir el número aleatorio Rb y la información IDdev de identificación de dispositivo de registro y reproducción, la sección 401 de proceso criptográfico del dispositivo de registro del dispositivo 400 de registro genera un nuevo número aleatorio Ra de 64 bits, cifra los datos en el modo DES CBC en el orden Ra, Rb, y la información IDdev de identificación de dispositivo de registro y reproducción utilizando la clave Kake de autentificación, y retorna estos valores a la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción. Por ejemplo, de acuerdo con la configuración representada en la figura 7 del proceso en modo DES CBC, Ra, Rb e IDdev corresponden a M1, M2 y M3, respectivamente, y cuando el valor inicial es IV = IVmem, las salidas E1, E2 y E3 son textos cifrados.
Al recibir los textos cifrados E1, E2 y E3, la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción descifra los datos recibidos con la clave Kake de autentificación. Para descifrar los datos recibidos, se descifra en primer lugar el texto cifrado E1 con la clave Kake de autentificación y el resultado y el valor inicial IVmem se combinan en función lógica "O" exclusiva para obtener el número aleatorio Ra. A continuación, se descifra el texto cifrado E2 con la clave Kake de autentificación, y el resultado y el texto cifrado E1 se combinan en función lógica "O" exclusiva para obtener el número aleatorio Rb. Finalmente, el texto cifrado E3 es descifrado con la clave Kake de autentificación, y el resultado y el texto cifrado E2 se combinan en función lógica "O" exclusiva para obtener la información IDdev de identificación de dispositivo de registro y reproducción. De los valores Ra, Rb y la información IDdev de identificación de dispositivo de registro y reproducción así obtenidos, Rb y la información IDdev de identificación de dispositivo de registro y reproducción se comprueban para ver si guardan igualdad con los valores transmitidos por el dispositivo 300 de registro y reproducción. Si la verificación tiene éxito, la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción autentifica al dispositivo 400 de registro.
A continuación, la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción genera una clave de sesión (a la que se hará referencia posteriormente como "Kses") utilizada después de la autentificación (esta clave se genera utilizando un número aleatorio). Las claves Rb, Ra y Kses son cifradas en el modo DES CBC, en este orden, utilizando la clave Kake y el valor inicial IVmem y son retornadas a continuación a la sección 401 de proceso criptográfico del dispositivo 400 de registro.
Al recibir los datos, la sección 401 de proceso criptográfico del dispositivo de registro del dispositivo 400 de registro, descifra los datos recibidos con la clave Kake. El método para descifrar los datos recibidos es similar al ejecutado por la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción, de modo que se omite su descripción detallada. De los datos Ra, Rb y Kses así obtenidos, Rb y Ra son comprobados en cuanto a igualdad con los transmitidos por el dispositivo 400 de registro. Si se verifican con éxito, la sección 401 de proceso criptográfico del dispositivo de registro del dispositivo 400 de registro autentifica el dispositivo 300 de registro y reproducción. Después que estos dispositivos se han autentificado mutuamente, la clave Kses de sesión es utilizada como clave común para comunicación secreta después del proceso de autentificación.
Si se encuentra ilegalidad o no igualdad durante la verificación de los datos recibidos, se considera que ha fallado la autentificación mutua y el proceso se aborta.
Si la autentificación mutua ha tenido éxito, el proceso continúa desde la operación S48 hasta la operación S49 en la que la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción almacena la clave Kses de sesión y en la que se activa la marca de autentificación completa, indicando que se ha completado la autentificación mutua. Adicionalmente, si ha fallado la autentificación mutua, el proceso continúa hasta la operación S50, la clave Kses de sesión es descartada y se borra la marca de autentificación completa. Si la marca indicadora ha sido ya borrada, no se requiere necesariamente el proceso de borrado.
Si el dispositivo 400 de registro está eliminado del puerto de inserción de dispositivo de registro, los medios de detección de dispositivo de registro en el dispositivo 300 de registro y reproducción notifican a la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción que ha sido eliminado el dispositivo 400 de registro. En respuesta a esto, la sección 301 de control del dispositivo 300 de registro y reproducción ordena a la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción que borre la marca de autentificación completa correspondiente al número de puerto de inserción del dispositivo de registro. En respuesta a esto, la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción borra la marca de autentificación completa correspondiente al número de puerto de inserción del dispositivo de registro.
Se ha descrito el ejemplo en el que se ejecuta el proceso de autentificación mutua de acuerdo con el procedimiento ilustrado en la figura 13, pero el presente invento no está limitado al ejemplo descrito anteriormente de proceso de autentificación, sino que el proceso puede ser ejecutado, por ejemplo, de acuerdo con el procedimiento de autentificación mutua descrito anteriormente en la figura 15. Alternativamente, en el procedimiento que se muestra en la figura 13, la parte A puede establecerse como dispositivo 300 de registro y reproducción, la parte B puede establecerse como dispositivo 400 de registro, y el identificador que la parte B (dispositivo 400 de registro) entrega primero a la parte A (dispositivo 300 de registro y reproducción) puede establecerse como información de identificación de dispositivo de registro en el número de bloque de clave en el dispositivo de registro. Son aplicables diversos procesos al procedimiento del proceso de autentificación ejecutado en el presente invento, y el presente invento no está limitado al proceso de autentificación descrito anteriormente.
(6-2) Bloque de Claves de Conmutación durante la Autentificación Mutua
El proceso de autentificación mutua en el aparato de procesamiento de datos de acuerdo con el presente invento está caracterizado parcialmente porque el proceso de autentificación se ejecuta configurando una pluralidad de bloques de claves (por ejemplo, N) en el lado del dispositivo 400 de registro y permitiendo que el dispositivo 300 de registro y reproducción especifique uno de ellos (operación S44 en el flujo de proceso de la figura 20). Como se ha descrito anteriormente en la figura 18, la memoria interna 405 configurada en la sección 401 de proceso criptográfico del dispositivo de registro del dispositivo 400 de registro, tiene una pluralidad de bloques de clave formados que almacenan diversos datos diferentes tales como datos de clave e información de identificación. El proceso de autentificación mutua ejecutado entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro, como se describe en la figura 20, es realizado fuera de uno de la pluralidad de bloques de clave del dispositivo 400 de registro en la figura 19.
Las configuraciones convencionales para ejecutar un proceso de autentificación mutua entre un medio de registro y un dispositivo de reproducción utilizan en general una clave común de autentificación para la autentificación mutua. De este modo, cuando ha de cambiarse la clave de autentificación para cada destino de producto (país) o cada producto, deben cambiarse los datos de clave requeridos para procesos de autentificación para el lado del dispositivo de registro y reproducción y para el lado del dispositivo de registro en ambos dispositivos. Consiguientemente, los datos de clave requeridos para un proceso de autentificación almacenados en un dispositivo de registro y reproducción de nueva venta no corresponden a los datos de clave requeridos para el proceso de autentificación almacenado en un dispositivo de registro y reproducción vendido anteriormente, de modo que el nuevo dispositivo de registro y reproducción no puede acceder a una versión antigua del dispositivo de registro. En caso contrario, se produce una situación similar en la relación entre una nueva versión del dispositivo de registro y la versión antigua del dispositivo de registro y reproducción.
En el aparato de procesamiento de datos de acuerdo con el presente invento, los bloques se almacenan en el dispositivo 400 de registro como una pluralidad de diferentes conjuntos de claves como se muestra en la figura 19. El dispositivo de registro y reproducción tiene un bloque de clave a aplicar al proceso de autentificación, es decir un conjunto de bloques de clave, por ejemplo, para cada destino de producto (país), cada producto, tipo de dispositivo, versión, o aplicación. Esta información de conjunto se almacena en la sección de memoria del dispositivo de registro y reproducción, por ejemplo en la memoria interna 307 de la figura 3 u otros elementos de almacenamiento del dispositivo 300 de registro y reproducción, y la sección 301 de control accede a dicha información durante el proceso de autentificación para especificar un bloque de clave de acuerdo con ello.
La clave maestra Mkake para la clave de autentificación del dispositivo de registro en la memoria interna 307 del dispositivo 300 de registro y reproducción, se activa de acuerdo con los parámetros de ajuste para un bloque de clave especificado y puede corresponder solamente a ese bloque de clave especificado; no establece autentificación mutua con cualquiera de los bloques de clave diferentes del especificado.
Como puede verse en la figura 19, la memoria interna 405 del dispositivo 400 de registro tiene N bloques de clave (1 a N) activados que almacenan cada uno información de identificación de dispositivo de registro, una clave de autentificación, un valor inicial, una clave de almacenamiento, una clave de generación de números aleatorios, y un código de semilla; cada bloque de clave almacena al menos datos de clave de autentificación como datos que varían dependiendo del bloque de clave.
En el ejemplo específico en que bloques de clave que comprenden una pluralidad de diferentes datos de clave son configurados en el dispositivo de registro, por ejemplo, se activan diferentes números de bloques de clave a especificar para diferentes tipos del dispositivo 300 de registro y reproducción (un tipo instalado, un tipo portátil, etc), o se activan diferentes bloques de clave especificados para diferentes aplicaciones. Adicionalmente, pueden establecerse diferentes bloques de clave para territorios diferentes; por ejemplo, el bloque de clave número 1 se especifica para dispositivos de registro y reproducción vendidos en Japón, y el bloque de clave número 2 se especifica para dispositivos de registro y reproducción vendidos en USA. Con tal configuración, un contenido que se utiliza en territorios diferentes y que está almacenado en cada dispositivo de registro con una clave de almacenamiento diferente, no puede utilizarse en un dispositivo de registro y reproducción con ajustes de clave diferentes incluso si un dispositivo de registro, tal como una tarjeta de memoria, es transferido desde USA a Japón o viceversa, evitándose así la distribución ilegal o desordenada del contenido almacenado en la memoria. Específicamente, esto sirve para excluir un estado en el que una clave Kcon de contenido cifrada con diferentes claves Kstr de almacenamiento pueda ser utilizado mutuamente en dos países diferentes.
Además, al menos uno de los bloques 1 a N de clave en la memoria interna 405 del dispositivo 400 de registro representado en la figura 19, por ejemplo el bloque de clave número N, puede ser compartido por cualquiera de los dispositivos 300 de registro y reproducción.
Por ejemplo, cuando se almacenan en todos los aparatos el bloque de clave número N y la clave maestra Mkake para la clave de autentificación del dispositivo de registro que es capaz de autentificación, los contenidos pueden distribuirse con independencia del tipo de dispositivo 300 de registro y reproducción, del tipo de aplicación, o del país de destino. Por ejemplo, un contenido cifrado almacenado en una tarjeta de memoria con la clave de almacenamiento almacenada en el bloque de clave número N puede ser utilizado en cualquiera de los aparatos. Por ejemplo, datos musicales, etc, pueden ser descifrados y reproducidos de una tarjeta de memoria cifrando los datos con la clave de almacenamiento en un bloque de clave compartido almacenando dichos datos en la tarjeta de memoria, y poniendo a punto la tarjeta de memoria, por ejemplo, en un dispositivo portátil de reproducción de sonido que almacena la clave maestra Mkake para la clave de autentificación del dispositivo de registro, que está también compartida.
La figura 21 muestra un ejemplo de la utilización del dispositivo de registro del presente aparato de procesamiento de datos, que tiene una pluralidad de bloques de clave. Un dispositivo 2101 de registro y reproducción es un producto vendido en Japón y tiene una clave maestra que establece un proceso de autentificación con los bloques de clave número 1 y número 4 en el dispositivo de registro. Un dispositivo 2102 de registro y reproducción es un producto vendido en USA y tiene una clave maestra que establece un proceso de autentificación con los bloques de clave número 2 y número 4 en el dispositivo de registro. Un dispositivo 2103 de registro y reproducción es un producto vendido en USA y tiene una clave maestra que establece un proceso de autentificación con los bloques de clave número 3 y número 4 en el dispositivo de registro.
Por ejemplo, el dispositivo 2101 de registro y reproducción establece autentificación con los bloques de clave 1 o 4 en el dispositivo A 2104 en el dispositivo de registro para almacenar, en la memoria externa, contenidos cifrados a través de la clave de almacenamiento almacenada en ese bloque de clave. El dispositivo 2102 de registro y reproducción establece autentificación con el bloque de clave 2 o 4 en el dispositivo B 2105 de registro para almacenar en la memoria externa contenidos cifrados mediante la clave de almacenamiento almacenada en ese bloque de clave. El dispositivo 2103 de registro y reproducción establece autentificación con el bloque de clave 3 o 4 en el dispositivo C 2106 de registro para almacenar, en la memoria externa, contenidos cifrados mediante la clave de almacenamiento almacenada en ese bloque de clave. Entonces, si el dispositivo A 2104 en el dispositivo de registro está instalado en el dispositivo 2102 de registro y reproducción o en el dispositivo 2103 de registro y reproducción, no está disponible un contenido cifrado con la clave de almacenamiento del bloque de clave número 1, porque no se establece autentificación entre el dispositivo 2102 de registro y reproducción (o el dispositivo 2103 de registro y reproducción) y el bloque de clave número 1. Por otra parte, un contenido cifrado con la clave de almacenamiento del bloque de clave número 4 está disponible porque se establece autentificación entre el dispositivo 2102 de registro y reproducción (o el dispositivo 2103 de registro y reproducción) y el bloque de clave número 4.
Como se ha descrito anteriormente, en el aparato de procesamiento de datos de acuerdo con el presente invento, los bloques de clave que comprenden la pluralidad de diferentes conjuntos de claves están configurados en el dispositivo de registro, mientras que el dispositivo de registro y reproducción almacena la clave maestra que permite la autentificación para un bloque de clave particular, permitiendo así la fijación de restricciones en la utilización de contenidos que dependen de diferentes formas de uso.
Además, una pluralidad de bloques de clave, por ejemplo de 1 a k, pueden especificarse en un dispositivo de registro y reproducción, mientras que una pluralidad de bloques p y q de clave pueden especificarse en los otros dispositivos de registro y reproducción. Adicionalmente, puede estar dispuesta una pluralidad de bloques de clave compartibles
(7) Procesos para Descargar Datos del Dispositivo de Registro y Reproducción al Dispositivo de Registro
A continuación, se explicará un proceso para descargar un contenido desde el dispositivo 300 de registro y reproducción hasta la memoria externa del dispositivo 400 de registro en el presente aparato de procesamiento de datos.
La figura 22 es un diagrama de flujo útil para explicar un procedimiento para descargar un contenido desde el dispositivo 300 de registro y reproducción hasta el dispositivo 400 de registro. En esta figura, se supone que el proceso de autentificación mutua descrito anteriormente ha sido completado entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro.
En la operación S51, la sección 301 de control del dispositivo 300 de registro y reproducción utiliza la sección 304 de lectura para leer datos de un formato predeterminado del medio 500 que almacena contenidos o utiliza la sección 305 de comunicación para recibir datos de los medios 600 de comunicación de acuerdo con un formato predeterminado. A continuación, la sección 301 de control del dispositivo 300 de registro y reproducción transmite la sección de cabecera (véase la figura 4) de los datos a la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción.
A continuación, en la operación S52, la sección 306 de control de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción, que ha recibido la cabecera en la operación S51, hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción calcule el valor A de comprobación de integridad. El valor A de comprobación de integridad se calcula de acuerdo con el método de cálculo de valores de comprobación de integridad descrito en la figura 7, utilizando como clave la clave Kicva de generación de valor A de comprobación de integridad almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción y utilizando el identificador de contenido y la política de uso como mensaje, como se muestra en la figura 23. El valor inicial puede ser IV = 0 o puede ser el valor inicial IVa de generación de valor A de comprobación de integridad que puede ser utilizado y está almacenado en la memoria interna 307 de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción. Finalmente, el valor A de comprobación de integridad y el valor ICVa de comprobación almacenado en la cabecera se comparan entre sí, y si son iguales, el proceso continúa hasta la operación S53.
Como se ha descrito anteriormente en la figura 4, el valor A de comprobación, ICVa, se utiliza para verificar que el identificador de contenido y la política de uso no se han alterado fraudulentamente. Si el valor A de comprobación de integridad calculado de acuerdo con el método de cálculo de valores de comprobación de integridad descrito en la figura 7 utilizando como clave la clave Kicva de generación de valor A de comprobación de integridad almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción y utilizando como mensaje el identificador de contenido y la política de uso, es igual al valor ICVa de comprobación almacenado en la cabecera, se determina que el identificador de contenido y la política de uso no se han alterado.
A continuación, en la operación S53, la sección 306 de control de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción genere la clave Kdis de distribución. La clave Kdis de distribución es generada, por ejemplo, del modo siguiente:
Kdis=DES (MKdis, ContentID^{\Phi}IVdis)
...... (4)
En este caso, el valor MKdis indica la clave maestra para la clave de distribución para generar la clave Kdis de distribución, almacenándose la clave maestra en la memoria interna del dispositivo 300 de registro y reproducción como se ha descrito anteriormente. Adicionalmente, el identificador de contenido corresponde a información de identificación para la sección de cabecera de los datos de contenido, y el valor IVdis indica el valor inicial para la clave de distribución. Adicionalmente, en la anterior ecuación, DES ( ) indica una función que utiliza un primer argumento como clave criptográfica y que cifra el valor de un segundo argumento. La operación ^{\Phi} indica una función lógica "O" exclusiva ejecutada cada 64 bits.
En la operación S54, la sección 306 de control de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción utiliza la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción, así como la clave Kdis de distribución generada en la operación S53, para descifrar la clave Kbit de tabla de información de bloques y la clave Kcon de contenido de contenido (véase la figura 4) almacenada en la sección de cabecera de los datos obtenidos del medio 500 a través de la sección 304 de lectura o recibida de los medios 600 de comunicación a través de la sección 305 de comunicación. Como se muestra en la figura 4, la clave Kbit de tabla de información de bloques y la clave Kcon de contenido están cifradas de antemano con la clave Kdis de distribución en un medio tal como un DVD o un CD o en una vía de comunicación tal como Internet.
Adicionalmente, en la operación S55, la sección 306 de control de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción utiliza la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción para descifrar la tabla de información de bloques (BIT) con la clave Kbit de tabla de información de bloques descifrada en la operación S54. La tabla de información de bloques, como se muestra en la figura 4, está cifrada de antemano con la clave Kbit de tabla de información de bloques en un medio tal como un DVD o un CD o en una vía de comunicación tal como Internet.
Adicionalmente, en la operación S56, la sección 306 de control de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción divide la clave Kbit de tabla de información de bloques, la clave Kcon de contenido, y la tabla de información de bloques, en segmentos de ocho octetos, que son todos combinados en función lógica "O" exclusiva (puede utilizarse cualquier operación tal como una suma o una resta). A continuación, la sección 306 de control de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción calcule el valor B de comprobación de integridad. El valor B de comprobación de integridad se genera utilizando como clave la clave Kicvb de generación de valor B de comprobación de integridad almacenado en la memoria interna 307 de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción, para descifrar el valor de función lógica "O" exclusiva calculado anteriormente en base al proceso DES, como se muestra en la figura 24. Finalmente, el valor B de comprobación de integridad y el valor ICVb de la cabecera son comparados entre sí, y si son iguales, el procesa continúa hasta la operación S57.
Como se ha descrito anteriormente en la figura 4, el valor B de comprobación (ICVb) se utiliza para verificar que la clave Kbit de tabla de información de bloques, la clave Kcon de contenido, y la tabla de información de bloques no han sido alteradas. Si el valor B de comprobación de integridad generado utilizando como clave la clave Kicvb de generación de valor B de comprobación de integridad almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción, dividiendo la clave Kbit de tabla de información de bloques, la clave Kcon de contenido y la tabla de información de bloques en segmentos de ocho octetos, combinando en función lógica "O" exclusiva estos datos y cifrando los datos obtenidos aplicando la función lógica "O" exclusiva en base al proceso DES, es igual al valor de comprobación (ICVb) almacenado en la cabecera, se determina que no han sido manipuladas la clave Kbit de tabla de información de bloques, la clave Kcon de contenido y la tabla de información de bloques.
En la operación S57, la sección 306 de control de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción calcule un valor de comprobación de integridad intermedio. El valor intermedio se calcula de acuerdo con el método de cálculo de valores de comprobación de integridad descrito en la figura 7, utilizando como clave la clave Kicvt de generación de valor de comprobación de integridad total almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción y utilizando los valores A y B de comprobación de integridad y todos los valores de comprobación de integridad de contenido retenidos como mensaje. El valor inicial puede ser IV=0 o puede utilizarse el valor inicial IVt de generación de valores de comprobación de integridad total que está almacenado en la memoria interna 307 de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción. Adicionalmente, el valor de comprobación de integridad intermedio generado se almacena en la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción según se requiera.
El valor de comprobación de integridad intermedia se genera utilizando los valores A y B de comprobación de integridad y todos los valores de comprobación de integridad de contenido como mensaje, y los datos verificados por cada uno de estos valores de comprobación de integridad pueden ser verificados cotejándolos con el valor de comprobación de integridad intermedia. En esta realización, sin embargo, pueden generarse independientemente una pluralidad de valores de comprobación de integridad diferentes, es decir los valores ICVt de comprobación de integridad total singulares para el dispositivo 300 de registro y reproducción en base al valor de comprobación de integridad intermedio, de modo que el proceso para verificar la ausencia de manipulación, cuyo proceso se ejecuta para datos compartidos para el sistema completo, y el proceso de verificación para identificar datos ocupados solamente por cada dispositivo 300 de registro y reproducción después del proceso de descarga, pueden ser ejecutados con posibilidad de distinción. Estos valores de comprobación de integridad se describirán posteriormente.
La sección 306 de control de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción calcule el valor ICVt de comprobación de integridad total. El valor ICVt de comprobación de integridad total se genera utilizando como clave una clave Ksys de firma de sistema almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción, para descifrar el valor de comprobación de integridad intermedio en base al procedimiento DES. Finalmente, el valor ICVt de comprobación de integridad total y el contenido en la cabecera almacenada en la operación S51 se comparan entre sí, y si son iguales, el proceso continúa hasta la operación S58. La clave Ksys de firma de sistema es común para una pluralidad de dispositivos de registro y reproducción, es decir el sistema completo que ejecuta el proceso de registrar y reproducir ciertos datos.
Como se ha descrito anteriormente en la figura 4, el valor ICVt de comprobación de integridad total se utiliza para verificar que el valor A de comprobación de integridad, el valor B de comprobación de integridad (ICVb) y el valor de comprobación de integridad para cada bloque de contenido no han sido manipulados. De este modo, si el valor ICVt de comprobación de integridad total generado por medio del proceso descrito anteriormente es igual al valor ICVt de comprobación de integridad total almacenado en la cabecera, se determina que no han sido manipulados el valor A de comprobación de integridad ni el valor B de comprobación de integridad (ICVb) para cada bloque de contenido.
A continuación, en la operación S58, la sección 301 de control del dispositivo 300 de registro y reproducción extrae información de bloque de contenido de la tabla de información de bloques y comprueba si ha de verificarse cualquier bloque de contenido. Si ha de verificarse algún bloque de contenido, el valor de comprobación de integridad de contenido ha sido almacenado en la información de bloque en la cabecera.
Si ha de verificarse algún bloque de contenido, la sección 301 de control lee este bloque de contenido del medio 500 utilizando la sección 304 de lectura del dispositivo 300 de registro y reproducción o el bloque recibido de los medios 600 de comunicación utilizando la sección 305 de comunicación del dispositivo 300 de registro y reproducción, y transmite el bloque de contenido a la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción. Al recibir el bloque de contenido, la sección 306 de control de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor de contenido intermedio.
El valor de contenido intermedio se genera utilizando la clave Kcon de contenido descifrada en la operación S54 para descifrar un bloque de contenido en el modo DES CBC, separando los datos resultantes en segmentos de 8 octetos, y combinando en función lógica "O" exclusiva todos estos segmentos (puede utilizarse cualquier operación lógica, tal como una suma o una resta).
A continuación, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor de comprobación de integridad de contenido. El valor de comprobación de integridad de contenido se genera utilizando como clave la clave Kicvc de generación de valores de comprobación de integridad de contenido almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, para descifrar el valor de contenido intermedio en base al algoritmo DES. A continuación, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción compara este valor de comprobación de integridad de contenido con el valor de comprobación de integridad del bloque de contenido recibido de la sección 301 de control del dispositivo 300 de registro y reproducción en la operación S51, y transfiere el resultado a la sección 301 de control del dispositivo 300 de registro y reproducción. Al recibir el resultado y si la verificación ha tenido éxito, la sección 301 de control del dispositivo 300 de registro y reproducción extrae el siguiente bloque de contenido a verificar y hace que la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción verifique este bloque de contenido. Se repiten procesos de verificación similares hasta que se verifican todos los bloques de contenido. El valor inicial puede ser IV = 0 o puede utilizarse el valor inicial IVc de generación de valores de comprobación de integridad de contenido que está almacenado en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, si el extremo de generación de cabecera utiliza los mismos ajustes. Adicionalmente, todos los valores de comprobación de integridad de contenido comprobados se retienen en la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción. Adicionalmente, la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción vigila el orden en el cual se verifican los bloques de contenido para considerar que la autentificación ha fallado si el orden es incorrecto o si se hace que se verifique el mismo bloque de contenido dos veces o más. Si todos los bloques de contenido han sido verificados con éxito, el proceso avanza hasta la operación S59.
A continuación, en la operación S59, la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción cifre la clave Kbit de información de bloques y la clave Kcon de contenido descifrada en la operación S54, utilizando la clave Kses de sesión que ha quedado disponible durante la autentificación mutua. La sección 301 de control del dispositivo 300 de registro y reproducción lee la clave Kbit de información de bloques y la clave Kcon de contenido de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción, descifrándose la clave Kbit de información de bloques y la clave Kcon de contenido utilizando la clave Kses de sesión. La sección 301 de control transmite estos datos al dispositivo 400 de registro a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción.
Entonces, en la operación S60, al recibir la clave Kbit de información de bloques y la clave Kcon de contenido transmitidas por el dispositivo 300 de registro y reproducción, el dispositivo 400 de registro hace que la sección 406 de cifrado/descifrado de la sección 401 de proceso criptográfico de dispositivo de registro descifre los datos recibidos utilizando la clave Kses de sesión que se ha hecho disponible durante la autentificación mutua y cifre nuevamente los datos descifrados con la clave Kstr de almacenamiento singular para el dispositivo de registro que está almacenada en la memoria interna 405 de la sección 401 de proceso criptográfico de dispositivo de registro. Finalmente, la sección 301 de control del dispositivo 300 de registro y reproducción lee la clave Kbit de información de bloques y la clave Kcon de contenido del dispositivo 400 de registro a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción, recifrándose con la clave Kstr de almacenamiento la clave Kbit de información de bloques y la clave Kcon de contenido. Estas claves son sustituidas a continuación por la clave Kbit de información de bloques y la clave Kcon de contenido cifradas con la clave Kdis de distribución.
En la operación S61, la sección 301 de control del dispositivo 300 de registro y reproducción extrae el campo de localización de la política de uso incluida en la sección de cabecera de los datos para determinar si el contenido descargado puede ser utilizado solamente en este dispositivo 300 de registro y reproducción (en este caso, el campo de localización está puesto a 1) o también por otros dispositivos 300 de registro y reproducción similares (en este caso, el campo de localización está puesto a 0). Si el resultado de la determinación muestra que el campo de localización está puesto a 1, el proceso avanza hasta la operación S62.
En la operación S62, la sección 301 de control del dispositivo 300 de registro y reproducción hace que la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción calcule el valor de comprobación de integridad singular para el dispositivo de registro y reproducción. El valor de comprobación de integridad singular para el dispositivo de registro y reproducción se genera utilizando como clave una clave Kdev de firma de dispositivo de registro y reproducción almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, para descifrar el valor de comprobación de integridad intermedia en base al algoritmo DES, reteniéndose en la operación S58 el valor de comprobación de integridad intermedia. El valor ICVdev de comprobación de integridad calculado, singular para el dispositivo de registro y reproducción, sustituye al valor ICVt de comprobación de integridad total.
Como se ha descrito anteriormente, la clave Ksys de firma del sistema se utiliza para añadir una firma común o ICV al sistema de distribución, y la clave Kdev de firma de dispositivo de registro y reproducción varía dependiendo del dispositivo de registro y reproducción y es utilizada por el dispositivo de registro y reproducción para añadir una firma común o valor ICV. Es decir, los datos firmados con la clave Ksys de firma del sistema son comprobados con éxito por un sistema (dispositivo de registro y reproducción) que tiene la misma clave de firma de sistema, o sea tales datos tienen el mismo valor ICVt de comprobación de integridad total para ser compartibles. Sin embargo, si los datos están firmados con la clave Kdev de firma de dispositivo de registro y reproducción, puesto que esta clave de firma es singular para el dispositivo de registro y reproducción, los datos firmados con la clave Kdev de firma de dispositivo de registro y reproducción, es decir los datos almacenados en un dispositivo de registro después de la firma no pueden ser reproducidos si se hace un intento de reproducir dichos datos después de insertar este dispositivo de registro en otro dispositivo de registro y reproducción; es decir, se produce un error debido a la presencia de valores ICVdev de comprobación de integridad desiguales singulares para el dispositivo de registro y reproducción.
De este modo, en el aparato de procesamiento de datos de acuerdo con el presente invento, el ajuste del campo de localización permite ajustar arbitrariamente los contenidos, para que sean compartidos en todo el sistema o utilizados solamente por dispositivos de registro y reproducción particulares.
En la operación S63, la sección 301 de control del dispositivo 300 de registro y reproducción almacena el contenido en la memoria externa 402 del dispositivo 400 de registro.
La figura 26 es una vista que muestra como está almacenado el contenido en el dispositivo de registro si el campo de localización está puesto a 0. La figura 27 es una vista que muestra como está almacenado el contenido en el dispositivo de registro si el campo de localización está puesto a 1. La única diferencia entre las figuras 26 y 4 se refiere a si la clave Kbit de información de bloques y la clave Kcon de contenido están cifradas con la clave Kdis de distribución o con la clave Kstr de almacenamiento. La diferencia entre las figuras 27 y 26 es que el valor de comprobación de integridad calculado a partir del valor de comprobación de integridad intermedia está cifrado con la clave Ksys de firma del sistema en la figura 26, mientras que está cifrado con la clave Kdev de firma de dispositivo de registro y reproducción singular para el dispositivo de registro y reproducción en la figura 27.
En el flujo de proceso de la figura 22, si la verificación del valor A de comprobación de integridad ha fallado en la operación S52, si la verificación del valor B de comprobación de integridad ha fallado en la operación S56, si la verificación del valor ICVt de comprobación de integridad total ha fallado en la operación S57, o si la verificación del valor de comprobación de integridad de contenido del bloque de contenido ha fallado en la operación S58, entonces el proceso avanza hasta la operación S64 para visualizar un error predeterminado.
Adicionalmente, si el campo de localización es 0 en la operación S61, el proceso salta hasta la operación S62 para avanzar hasta la operación S63.
(8) Proceso Ejecutado por el Dispositivo de Registro y Reproducción para Reproducir Información Almacenada en el Dispositivo de Registro
A continuación se describe un proceso ejecutado por el dispositivo 300 de registro y reproducción para reproducir información de contenido almacenada en la memoria externa 402 del dispositivo 400 de registro.
La figura 28 es un diagrama de flujo útil para explicar un procedimiento ejecutado por el dispositivo 300 de registro y reproducción para leer un contenido del dispositivo 400 de registro y utilizarlo. En la figura 28 se supone que se ha completado la autentificación mutua entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro.
En la operación S71, la sección 301 de control del dispositivo 300 de registro y reproducción utiliza el controlador 303 de dispositivo de registro para leer el contenido de la memoria externa 402 del dispositivo 400 de registro. La sección 301 de control del dispositivo 300 de registro y reproducción transmite entonces la sección de cabecera de los datos a la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción. La operación S72 es similar a la operación S52 descrita en la sección "(7) Proceso la Descarga del Dispositivo de Registro y Reproducción al Dispositivo de Registro"; en esta operación, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, que ha recibido la cabecera, hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor A de comprobación de integridad. El valor A de comprobación de integridad se calcula de acuerdo con un método de cálculo de valores ICV similar al descrito en la figura 7, utilizando como clave la clave Kicva de generación de valor A de comprobación de integridad almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción y utilizando el identificador ID de contenido y la política de uso como mensaje, como se muestra en la figura 23 descrita anteriormente.
Como se ha descrito anteriormente, el valor ICVa de comprobación de integridad se utiliza para verificar que el identificador de contenido y la política de uso no se han manipulado. Si el valor ICVa de comprobación de integridad calculado de acuerdo con el método de cálculo de valores ICV descrito en la figura 7, utilizando como clave la clave Kicva de generación de valor A de comprobación de integridad almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción y utilizando como mensaje el identificador de contenido y la política de uso, es igual al valor ICVa de comprobación almacenado en la cabecera, se determina que no han sido manipulados el identificador de contenido ni la política de uso almacenados en el dispositivo 400 de registro.
A continuación, en la operación S73, la sección 301 de control del dispositivo 300 de registro y reproducción toma la clave Kbit de información de bloques y la clave Kcon de contenido de la sección de cabecera de lectura y transmite entonces estos datos al dispositivo 400 de registro a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción. Al recibir la clave Kbit de información de bloques y la clave Kcon de contenido transmitidas por el dispositivo 300 de registro y reproducción, el dispositivo 400 de registro hace que la sección 406 de cifrado/descifrado de la sección 401 de proceso criptográfico de dispositivo de registro descifre los datos recibidos con la clave Kstr de almacenamiento singular para el dispositivo de registro que está almacenada en la memoria interna 405 del sección 401 de proceso criptográfico de dispositivo de registro y vuelva a cifrar entonces los datos descifrados utilizando la clave Kses de sesión que se ha hecho disponible durante la autentificación mutua. Entonces, la sección 301 de control del dispositivo 300 de registro y reproducción lee la clave Kbit de información de bloques y la clave Kcon de contenido del dispositivo 400 de registro a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción, cifrándose nuevamente la clave Kbit de información de bloques y la clave Kcon de contenido con la clave Kses de sesión tomada del dispositivo 400 de registro.
A continuación, en la operación S74, la sección 301 de control del dispositivo 300 de registro y reproducción transmite la clave Kbit de información de bloques y la clave Kcon de contenido recibidas a la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción, recifrándose la clave Kbit de información de bloques y la clave Kcon de contenido con la clave Kses de sesión.
Al recibir la clave Kbit de información de bloques y la clave Kcon de contenido recifradas con la clave Kses de sesión, la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción descifre la clave Kbit de información de bloques y la clave Kcon de contenido cifradas con la clave Kses de sesión, utilizando la clave Kses de sesión que se ha quedado disponible durante la autentificación mutua. La sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace entonces que la sección 308 de cifrado/descifrado descifre la tabla de información de bloques recibida en la operación S71, utilizando la clave Kbit de información de bloques descifrada.
La sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción sustituye la clave Kbit de información de bloques descifrada, la clave Kcon de contenido, y la tabla de información de bloques (BIT) por los valores recibidos en la operación S71 para su retención. Adicionalmente, la sección 301 de control del dispositivo 300 de registro y reproducción lee la tabla de información de bloques descifrada de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción.
La operación S75 es similar a la operación S56 descrita en la sección "(7) Proceso para la Descarga del Dispositivo de Registro y Reproducción al Dispositivo de Registro". La sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción divide la clave Kbit de información de bloques, la clave Kcon de contenido, y la tabla de información de bloques (BIT) leídas del dispositivo 400 de registro, en segmentos de ocho octetos y a continuación combina en función lógica "O" exclusiva todos ellos. La sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace entonces que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor B de comprobación de integridad (ICVb). El valor B de comprobación de integridad (ICVb) se genera utilizando como clave la clave Kicvb de generación de valor B de comprobación de integridad almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, para cifrar el resultado de la operación lógica "O" exclusiva calculado anteriormente en base al algoritmo DES, como se muestra en la figura 24 descrita anteriormente. Finalmente, el valor B de comprobación y el valor B de comprobación de integridad (ICVb) de la cabecera se comparan entre sí, y si son iguales, el proceso avanza hasta la operación S76.
Como se ha descrito anteriormente, el valor B de comprobación de integridad (ICVb) se utiliza para verificar que la clave Kbit de información de bloques, la clave Kcon de contenido y la tabla de información de bloques (BIT) no han sido manipuladas. Si el valor B de comprobación de integridad (ICVb) generado utilizando como clave la clave Kicvb de generación de valor B de comprobación de integridad almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, dividiendo la clave Kbit de información de bloques, la clave Kcon de contenido y la tabla de información de bloques (BIT) leída del dispositivo 400 de registro, en segmentos de ocho octetos, combinando en función lógica "O" exclusiva estos datos y recifrando los datos obtenidos de la función lógica "O" exclusiva en base al algoritmo DES, es igual al valor: ICVb de comprobación almacenado en la cabecera de los datos leídos del dispositivo 400 de registro, se determina que la clave Kbit de información de bloques, la clave Kcon de contenido y la tabla de información de bloques (BIT) no han sido manipuladas.
En la operación S76, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor de comprobación de integridad intermedia. El valor intermedio se calcula de acuerdo con el método de cálculo de valores ICV descrito en la figura 7, utilizando como clave la clave Kicvt de generación de valores de comprobación de integridad total almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción y utilizando como mensaje los valores A y B de comprobación de integridad y todos los valores de comprobación de integridad de contenido retenidos. El valor inicial puede ser IV = 0 o puede utilizarse el valor inicial IVt de generación de valores de comprobación de integridad total que está almacenado en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción. Adicionalmente, el valor de comprobación de integridad intermedia generado se almacena en la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción según se requiera.
A continuación, en la operación S77, la sección 301 de control del dispositivo 300 de registro y reproducción extrae el campo de localización de la política de uso contenida en la sección de cabecera de los datos leídos de la memoria externa 402 del dispositivo 400 de registro, para determinar si el contenido descargado puede ser utilizado solamente en este dispositivo 300 de registro y reproducción (en este caso, el campo de localización está puesto a 1) o también por otros dispositivos 300 de registro y reproducción similares (en este caso el campo de localización está puesto a 0). Si el resultado de la determinación muestra que el campo de localización está puesto a 1, es decir está establecido de tal modo que el contenido descargado puede ser utilizado solamente en este dispositivo 300 de registro y reproducción, el proceso continúa hasta la operación S80. Si el campo de localización está puesto a 0, es decir está establecido de tal modo que el contenido puede ser utilizado también por otro dispositivo 300 de registro y reproducción similar, entonces el proceso avanza hasta la operación S78. La operación S77 puede ser realizada por la sección 302 de proceso criptográfico de dispositivo de registro y reproducción.
En la operación S78, se calcula el valor ICVt de comprobación de integridad total del mismo modo que en la operación S58 descrita en la sección "(7) Proceso Para la Descarga del Dispositivo de Registro y Reproducción al Dispositivo de Registro". Es decir, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor ICVt de comprobación de integridad total. El valor ICVt de comprobación de integridad total es generado utilizando como clave una clave Ksys de firma del sistema almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, para cifrar el valor de comprobación de integridad intermedia en base al algoritmo DES, como se muestra en la figura 25 descrita anteriormente.
Entonces, el proceso continúa hasta la operación S79 para comparar el valor ICVt de comprobación de integridad total generado en la operación S78 con el valor ICVt incluido en la cabecera almacenada en la operación S71. Si los valores son iguales, el proceso continúa hasta la operación S82.
Como se ha descrito anteriormente, el valor ICVt de comprobación de integridad total se utiliza para verificar que los valores ICVa e ICVb de comprobación de integridad y todos los valores de comprobación de integridad de bloque de contenido no han sido manipulados. De este modo, si el valor de comprobación de integridad total generado por medio del proceso descrito anteriormente es igual al valor: ICVt de comprobación de integridad almacenado en la cabecera, se determina que los valores ICVa e ICVb de comprobación de integridad y todos los valores de comprobación de integridad de bloque de contenido no han sido manipulados en los datos almacenados en el dispositivo 400 de registro.
Si el resultado de la determinación realizada en la operación S77 muestra que el campo de localización está activado de tal modo que el contenido descargado puede ser utilizado solamente en este dispositivo 300 de registro y reproducción, es decir está puesto a 1, el proceso avanza hasta la operación S80.
En la operación S80, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor ICVdev de comprobación de integridad singular para el dispositivo de registro y reproducción. El valor ICVdev de comprobación de integridad singular para el dispositivo de registro y reproducción es generado, como se ha mostrado en la figura 25 descrita anteriormente, utilizando como clave una clave Kdev de firma de dispositivo de registro y reproducción singular para el dispositivo de registro y reproducción almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, para cifrar el valor de comprobación de integridad intermedia en base al algoritmo DES, reteniéndose en la operación S58 el valor de comprobación de integridad intermedia. En la operación S81, el valor ICVdev de comprobación de integridad singular para el dispositivo de registro y reproducción calculado en la operación S80 se compara con el valor ICVdev de comprobación de integridad almacenado en la operación S71, y si son iguales, el proceso continúa hasta la operación S82.
De este modo, los datos firmados con la misma clave Ksys de firma del sistema son comprobados con éxito por un sistema (dispositivo de registro y reproducción) que tiene la misma clave de firma de sistema, es decir tales datos tienen el mismo valor ICVt de comprobación de integridad total para ser compartibles. Sin embargo, si los datos están firmados con la clave Kdev de firma de dispositivo de registro y reproducción, puesto que esta clave de firma es singular para el dispositivo de registro y reproducción, los datos firmados con la clave Kdev de firma de dispositivo de registro y reproducción, es decir los datos almacenados en un dispositivo de registro después de la operación de firma no pueden ser reproducidos si se hace un intento de reproducirlos después de haber insertado este dispositivo de registro y reproducción en otro dispositivo de registro y reproducción; o sea, se produce un error debido a una desigualdad en el valor ICVdev de comprobación de integridad singular para el dispositivo de registro y reproducción. Consiguientemente, el ajuste del campo de localización permite que el contenido sea activado arbitrariamente a fin de ser compartido en todo el sistema o utilizado solamente por dispositivos de registro y reproducción particulares.
En la operación S82, la sección 301 de control del dispositivo 300 de registro y reproducción extrae información de bloque de contenido de la tabla de información de bloques (BIT) leída en la operación S74 y comprueba si ha de cifrarse algún bloque de contenido. Si ha de cifrarse algún bloque de contenido, la sección 301 de control lee el bloque de contenido de la memoria externa 402 del dispositivo 400 de registro a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción y transmite entonces el bloque de contenido a la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción. Al recibir el bloque de contenido, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción descifre el contenido, al tiempo que hace que la sección 308 de cifrado/descifrado calcule el valor de comprobación de integridad de contenido en la operación S83 si ha de verificarse el bloque de contenido.
La operación S83 es similar a la operación S58 descrita en la sección "(7) Proceso para la Descarga del Dispositivo de Registro y Reproducción al Dispositivo de Registro". La sección 301 de control del dispositivo 300 de registro y reproducción extrae información de bloque de contenido de la tabla de información de bloques (BIT) y determina a partir del valor de comprobación de integridad de contenido almacenado si ha de verificarse algún bloque de contenido. Si ha de verificarse algún bloque de contenido, la sección 301 de control recibe este bloque de contenido de la memoria externa 402 del dispositivo 400 de registro y transmite dicho bloque a la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción. Al recibir el bloque de contenido, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor de contenido intermedio.
El valor de contenido intermedio es generado utilizando la clave Kcon de contenido descifrada en la operación S74 para descifrar el bloque de contenido de entrada en el modo DES CBC, separar los datos resultantes en segmentos de ocho octetos, y realizar una operación lógica "O" exclusiva con todos estos segmentos.
A continuación, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor de comprobación de integridad de contenido. El valor de comprobación de integridad de contenido se genera utilizando como clave la clave Kicvc de generación de valores de comprobación de integridad de contenido almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, para cifrar el valor de contenido intermedio en base al procedimiento DES. A continuación, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción compara este valor de comprobación de integridad de contenido con el valor ICV incluido en el bloque de contenido recibido de la sección 301 de control del dispositivo 300 de registro y reproducción en la operación S71, y transfiere el resultado a la sección 301 de control del dispositivo 300 de registro y reproducción. Al recibir el resultado y si la verificación ha tenido éxito, la sección 301' de control del dispositivo 300 de registro y reproducción extrae el siguiente bloque de contenido a verificar y hace que la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción verifique este bloque de contenido. Se repiten procesos de verificación similares hasta que se verifican todos los bloques de contenido. El valor inicial puede ser IV = 0 o puede utilizarse el valor inicial IVc de generación de valores de comprobación de integridad de contenido que está almacenado en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción. Adicionalmente, todos los valores de comprobación de integridad de contenido comprobados son retenidos en la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción. Adicionalmente, la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción vigila el orden en el cual se verifican los bloques de contenido para considerar que la autentificación ha fallado si el orden es incorrecto o si se ha hecho que se verifique el mismo bloque de contenido dos veces o más.
La sección 301 de control del dispositivo 300 de registro y reproducción recibe el resultado de la comparación del valor de comprobación de integridad de contenido (si no ha de verificarse ningún bloque de contenido, todos los resultados de las comparaciones tendrán éxito), y si la verificación ha tenido éxito, se extrae el contenido descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción. El sistema extrae entonces el siguiente bloque de contenido a verificar y hace que la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción descifre este bloque de contenido. Se repiten procesos de verificación similares hasta que se han descifrado todos los bloques de contenido.
En la operación S83, si la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción determina después del proceso de verificación que los valores de comprobación de integridad de contenido no son iguales, considera que la verificación ha fallado y evita el descifrado de los contenidos restantes. Adicionalmente, la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción vigila el orden en el cual se descifran los bloques de contenido para considerar que el descifrado ha fallado si el orden es incorrecto o si se descifra el mismo bloque de contenido dos veces o más.
Si la verificación del valor A de comprobación de integridad ha fallado en la operación S72, si la verificación del valor B de comprobación de integridad (ICVb) ha fallado en la operación S75, si la verificación del valor ICVt de comprobación de integridad total ha fallado en la operación S79, si la verificación del valor ICVdev de comprobación de integridad singular para el dispositivo de registro y reproducción ha fallado en la operación S81, o si la verificación de valor de comprobación de integridad de bloque de contenido ha fallado en la operación S81, entonces el proceso continúa hasta la operación S84 para visualizar un error predeterminado.
Como se ha descrito anteriormente, no solamente pueden cifrarse, ocultarse, o comprobarse en cuanto a manipulaciones datos o contenidos importantes cuando el contenido es descargado o utilizado, sino que incluso si los datos grabados en un medio de registro simplemente se copian en otro medio de registro, puede evitarse que el contenido sea descifrado correctamente porque la clave Kbit de tabla de información de bloques para descifrar la tabla de información de bloques (BIT) y la clave Kcon de contenido para descifrar el contenido se almacenan con una clave Kstr de almacenamiento singular para el medio de registro. Más específicamente, por ejemplo, en la operación S74 de la figura 28, el otro dispositivo de registro no puede descifrar los datos correctamente porque cada dispositivo de registro descifra datos cifrados con una clave Kstr de almacenamiento diferente.
(9) Proceso de Intercambio de Claves después de la Autentificación Mutua
El aparato de procesamiento de datos de acuerdo con el presente invento está caracterizado parcialmente porque el dispositivo 400 de registro puede utilizarse solamente después del proceso de autentificación mutua descrito anteriormente entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro, y porque la forma de utilización del dispositivo de registro está limitada.
Por ejemplo, para evitar que un usuario genere un dispositivo de registro, tal como una tarjeta de memoria, en el cual se almacena un contenido por medio de un procedimiento de copia ilegal o similar y activando este dispositivo de registro para uso en un dispositivo de registro y reproducción, el proceso de autentificación mutua se ejecuta entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro, y el contenido (cifrado) puede transferirse entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro solamente si estos dispositivos han sido autentificados mutuamente.
Para conseguir el anterior proceso restrictivo, de acuerdo con el presente aparato de procesamiento de datos, todos los procesos en la sección 401 de proceso criptográfico de dispositivo de registro del dispositivo 400 de registro se ejecutan en base a cadenas de órdenes preestablecidas. Es decir, el dispositivo de registro tiene una configuración de procesado de órdenes tal que obtiene secuencialmente órdenes de un registro en base a números de orden. La figura 29 es una vista útil para explicar la configuración de procesado de órdenes en el dispositivo de registro.
Como se muestra en la figura 29, entre el dispositivo 300 de registro y reproducción y la sección 302 de proceso criptográfico de dispositivo de registro y reproducción y el dispositivo 400 de registro que incluye la sección 401 de proceso criptográfico de dispositivo de registro, son emitidos números de orden por el controlador 303 de dispositivo de registro hacia la sección 404 de comunicación (que incluye un registro de recepción) del dispositivo 400 de registro bajo control de la sección 301 de control del dispositivo 300 de registro y reproducción.
El dispositivo 400 de registro tiene una sección 2201 (2901?) de gestión de números de orden en la sección 403 de control de la sección 401 de proceso criptográfico de dispositivo de registro. La sección 2901 de gestión de números de orden incluye un registro 2902 de órdenes para almacenar cadenas de órdenes correspondientes a números de orden emitidos por el dispositivo 300 de registro y reproducción. En las cadenas de órdenes, los números 0 a y de orden están asociados secuencialmente con órdenes de ejecución, como se muestra a la derecha de la figura 29. La sección 2901 de gestión de números de orden vigila los números de orden de salida del dispositivo 300 de registro y reproducción para extraer órdenes correspondientes de un registro 2902 de órdenes para ejecución.
En las secuencias de órdenes almacenadas en el registro 2902 de órdenes, una cadena de órdenes para una secuencia de proceso de autentificación está asociada con los primeros números 0 a k de orden, como se muestra a la derecha de la figura 29. Adicionalmente, los números p a s de orden que siguen a la cadena de órdenes para la secuencia de proceso de autentificación están asociados con un proceso de descifrado, intercambio de claves, y cifrado para la secuencia 1 de órdenes, y los siguientes números de orden desde u hasta y están asociados con una secuencia 2 de órdenes de proceso de descifrado, intercambio de claves y cifrado.
Como se ha descrito anteriormente para el flujo de proceso de autentificación de la figura 20, cuando el dispositivo 400 de registro está instalado en el dispositivo 300 de registro y reproducción, la sección 301 de control del dispositivo 300 de registro y reproducción transmite una orden de inicialización al dispositivo 400 de registro a través del controlador 303 de dispositivo de registro. Al recibir la orden, el dispositivo 400 de registro hace que la sección 403 de control de la sección 401 de proceso criptográfico de dispositivo de registro reciba la orden a través de la sección 404 de comunicación y borre una marca indicadora 2903 de autentificación. Es decir, se activa un estado de no autentificación. Alternativamente, en caso de que se suministre potencia desde el dispositivo 300 de registro y reproducción hasta el dispositivo 400 de registro, el estado no autentificado (?) puede activarse al producirse la aplicación de
potencia.
A continuación, la sección 301 de control del dispositivo 300 de registro y reproducción transmite una orden de inicialización a la sección 302 de proceso criptográfico de dispositivo de registro y reproducción. En este momento, transmite también un número de puerto de inserción de dispositivo de registro. Cuando el número de puerto de inserción de dispositivo de registro es transmitido, incluso si está conectada una pluralidad de dispositivos 400 de registro al dispositivo 300 de registro y reproducción, el dispositivo 300 de registro y reproducción puede ejecutar simultáneamente el proceso de autentificación con estos dispositivos 400 de registro para transmitir y recibir datos a y desde ellos.
Al recibir la orden de inicialización, la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción hace que su cadena de órdenes borre la marca indicadora 2904 de autentificación correspondiente al número de puerto de inserción de dispositivo de registro. Es decir, se activa el estado no autentificado.
Una vez que se ha completado este proceso de inicialización, la sección 301 de control del dispositivo 300 de registro y reproducción presenta secuencialmente en su salida números de orden a través del controlador 303 de dispositivo de registro en un orden ascendente que se inicia con el número 0 de orden. La sección 2901 de gestión de números de orden del dispositivo 400 de registro vigila los números de orden transferidos desde el dispositivo 300 de registro y reproducción para averiguar que se aplican secuencialmente como entrada partiendo del número 0 de orden, y obtiene las órdenes correspondientes del registro 2902 de órdenes para ejecutar diversos procesos tales como el proceso de autentificación. Si los números de orden de entrada no están en un orden especificado, se produce un error y un valor de aceptación de número de orden se repone a un estado inicial, es decir se repone a 0 un número de orden ejecutable.
En las secuencias de órdenes almacenadas en el registro 2902 de órdenes como se muestra en la figura 29, los números de orden se imparten para realizar el proceso de autentificación en primer lugar, y a continuación de esta secuencia de proceso, se almacena una secuencia de intercambio de claves de descifrado y de proceso de cifra-
do.
Con referencia a las figuras 30 y 31, se explicará un ejemplo específico la secuencia de proceso de descifrado, intercambio de claves, cifrado.
La figura 30 muestra parte del proceso ejecutado en la descarga de un contenido del dispositivo 300 de registro y reproducción al dispositivo 400 de registro, como se ha descrito anteriormente en la figura 22. Específicamente, este proceso se ejecuta entre las operaciones 59 y 60 de la figura 22.
En la figura 30, en la operación S3001, el dispositivo de registro recibe datos (por ejemplo, la clave Kbit de tabla de información de bloques y la clave Kcon de contenido) cifrados con la clave Kses de sesión, del dispositivo de registro y reproducción. Después de ello, se inician las cadenas p a s de órdenes representadas en la figura 29 descrita anteriormente. Las cadenas p a s de órdenes se inician después de completarse las órdenes 0 a k de proceso de autentificación para hacer que las marcas indicadoras 2903 y 2904 de autentificación que se muestran en la figura 29 se activen para indicar la compleción. Esto es asegurado por la sección 2901 de gestión de números de orden aceptando los números de orden solamente en orden ascendente partiendo de 0.
En la operación S3002 el dispositivo de registro almacena en el registro los datos (por ejemplo, la clave Kbit de tabla de información de bloques y la clave Kcon de contenido) recibidos del dispositivo de registro y reproducción y cifrados con la clave Kses de sesión.
En la operación S3003, se ejecuta un proceso que toma los datos (por ejemplo la clave Kbit de tabla de información de bloques y la clave Kcon de contenido) cifrados con la clave Kses de sesión, del registro y descifra dichos datos con la clave Kses de sesión.
En la operación S3004, se ejecuta un proceso que cifra los datos (por ejemplo la clave Kbit de tabla de información de bloques y la clave Kcon de contenido) descifrados con la clave Kses de sesión, utilizando la clave Kstr de almacenamiento.
Las anteriores operaciones 3002 a 3004 de proceso corresponden a procesos incluidos en los números p a s de orden en el registro de órdenes descrito anteriormente en la figura 29. Estos procesos son ejecutados secuencialmente por la sección 401 de proceso criptográfico de dispositivo de registro de acuerdo con los números p a s de orden recibidos por la sección 2901 de gestión de números de orden del dispositivo 400 de registro procedentes del dispositivo 300 de registro y reproducción.
En la siguiente operación S3005, los datos (por ejemplo la clave Kbit de tabla de información de bloques y la clave Kcon de contenido) cifrados con la clave Kstr de almacenamiento, se almacenan en la memoria externa del dispositivo de registro. En esta operación, el dispositivo 300 de registro y reproducción puede leer los datos cifrados con la clave Kstr de almacenamiento, de la sección 401 de proceso criptográfico de dispositivo de registro, y almacenar dichos datos en la memoria externa 402 del dispositivo 400 de registro.
Las operaciones S3002 a S3004 descritas anteriormente constituyen una secuencia de ejecución ejecutada continuamente sin interrupción; incluso si, por ejemplo, el dispositivo 300 de registro y reproducción emite una orden de lectura de datos al final del proceso de descifrado en la operación S3003, puesto que esta orden de lectura difiere en cuanto a los números p a s de orden establecidos en el registro 2902 de órdenes en orden ascendente, la sección 2901 de gestión de números de orden no acepta la ejecución de la lectura. Consiguientemente, los datos descifrados resultantes del intercambio de claves en el dispositivo 400 de registro no pueden ser leídos por un dispositivo externo, por ejemplo el dispositivo 300 de registro y reproducción, evitándose así la lectura ilegal de datos de clave o
contenidos.
La figura 31 muestra parte del proceso de reproducción de contenido descrito anteriormente en la figura 28, en la cual es leído un contenido del dispositivo 400 de registro y reproducido por el dispositivo 300 de registro y reproducción. Específicamente este proceso se ejecuta en la operación S73 en la figura 28.
En la figura 31, en la operación S3101, los datos (por ejemplo la clave Kbit de tabla de información de bloques y la clave Kcon de contenido) cifrados con la clave Kstr de almacenamiento, son leídos de la memoria externa 402 del dispositivo 400 de registro.
En la operación S3102, los datos (por ejemplo la clave Kbit de tabla de información de bloques y la clave Kcon de contenido) leídos de la memoria del dispositivo de registro y cifrados con la clave Kstr de almacenamiento, se almacenan en el registro. En esta operación, el dispositivo 300 de registro y reproducción puede leer los datos cifrados con la clave Kstr de almacenamiento de la memoria externa 402 del dispositivo 400 de registro, y almacenarlos en el registro del dispositivo 400 de registro.
En la operación S3103, los datos (por ejemplo la clave Kbit de tabla de información de bloques y la clave Kcon de contenido) cifrados con la clave Kstr de almacenamiento son extraídos del registro y descifrados con la clave Kstr de almacenamiento.
En la operación S3104, los datos (por ejemplo la clave Kbit de tabla de información de bloques y la clave Kcon de contenido) descifrados con la clave Kstr de almacenamiento son cifrados con la clave Kses de sesión.
Las operaciones anteriores 3102 a 3104 de proceso corresponden a procesos incluidos en los números u a y de orden en el registro de órdenes, descritos anteriormente en la figura 29. Estos procesos son ejecutados secuencialmente por la sección 406 de cifrado/descifrado de acuerdo con los números u a y de orden recibidos por la sección 2901 de gestión de números de orden del dispositivo de registro procedentes del dispositivo 300 de registro y reproducción.
En la siguiente operación S3105, los datos (por ejemplo la clave Kbit de tabla de información de bloques y la clave Kcon de contenido) cifrados con la clave Kses de sesión, son transmitidos desde el dispositivo de registro hasta el dispositivo de registro y reproducción.
Las operaciones S3102 a S3104 descritas anteriormente constituyen una secuencia de ejecución ejecutada continuamente sin interrupción; incluso si, por ejemplo, el dispositivo 300 de registro y reproducción emite una orden de lectura de datos al final del proceso de descifrado en la operación S3103, puesto que esta orden de lectura difiere en cuanto a los números u a y de orden establecidos en el registro 2902 de órdenes en orden ascendente, la sección 2901 de gestión de números de orden no acepta la ejecución de la lectura. Consiguientemente, los datos descifrados resultantes del intercambio de claves en el dispositivo 400 de registro no pueden ser leídos por un dispositivo externo, por ejemplo el dispositivo 300 de registro y reproducción, evitándose así la lectura ilegal de datos de clave o contenidos.
Para el proceso representado en las figuras 30 y 31, se ilustra el ejemplo en el que la clave Kbit de tabla de información de bloques y la clave Kcon de contenido son cifradas y descifradas por medio de intercambio de claves, pero estas secuencias de órdenes almacenadas en el registro 2902 de órdenes representado en la figura 29 pueden incluir procesos de cifrado y descifrado que implican intercambios de claves para el propio contenido. El objeto a descifrar o cifrar por medio de intercambios de claves no está limitado al ejemplo descrito anteriormente.
Se ha descrito el proceso de intercambio de claves después del proceso de autentificación mutua en el presente aparato de procesamiento de datos. De este modo, el proceso de intercambio de claves en el presente aparato de procesamiento de datos puede ser realizado solamente después de haberse completado el proceso de autentificación entre el dispositivo de registro y reproducción y el dispositivo de registro. Adicionalmente, puede evitarse el acceso a datos descifrados externamente durante el proceso de intercambio de claves, asegurándose así una seguridad mejorada de contenidos y datos de clave.
(10) Formatos de Datos de Contenidos Plurales y Procesos de Descarga y Reproducción Correspondientes a cada Formato
En la realización descrita anteriormente, por ejemplo, el formato de datos para el medio 500 o los medios 600 de comunicación ilustrado en la figura 3 es del tipo que se muestra en la figura 4. El formato de datos para el medio 500 o los medios 600 de comunicación no está limitado al representado en la figura 4, sino que depende preferiblemente del contenido, es decir de si el contenido es música, datos de imagen, un programa tal como un juego, etc. Se explicará una pluralidad de formatos de datos y de procesos para descargar y reproducir datos a y desde el dispositivo 400 de registro.
Las figuras 32 a 35 representan cuatro formatos de datos diferentes. Un formato de datos utilizado en el medio 500 o en los medios 600 de comunicación representado en la figura 3 se muestra a la izquierda de cada figura, mientras que un formato de datos utilizado en el almacenamiento de datos en la memoria externa 402 del dispositivo 400 de registro se representa a la derecha de cada figura. Se presentará en primer lugar un esquema de los formatos de datos representados en las figuras 32 a 35, y se explicará el contenido de cada dato en cada formato y las diferencias entre los datos en cada formato.
La figura 32 representa un tipo 0 de formato, que es del mismo tipo que el ilustrado como ejemplo en la descripción anterior. El tipo 0 de formato está caracterizado porque todos los datos están divididos en N bloques de datos, cada uno de los cuales tiene un tamaño arbitrario, y cada uno de los cuales está cifrado arbitrariamente de modo que los datos pueden configurarse mezclando bloques cifrados y bloques no cifrados, es decir bloques de texto claro. Los bloques están cifrados con la clave Kcon de contenido, que está cifrada con la clave Kdis de distribución en el medio o con la clave Kstr de almacenamiento almacenada en la memoria interna del dispositivo de registro cuando se almacena en este dispositivo. La clave Kbit de tabla de información de bloques está también cifrada con la clave Kdis de distribución en el medio o con la clave Kstr de almacenamiento almacenada en la memoria interna del dispositivo de registro cuando se almacena en este dispositivo. Estos intercambios de claves se efectúan de acuerdo con el proceso descrito en la sección "(9) Proceso de Intercambio de Claves después de la Autentificación Mutua".
La figura 33 muestra un formato de tipo 1, en el cual todos los datos están divididos en N bloques de datos, es decir en bloques 1 a N, como en el tipo 0 de formato, pero que difiere del tipo 0 de formato en que los N bloques son todos del mismo tamaño. El aspecto del proceso para cifrar bloques con la clave Kcon de contenido es similar al del tipo 0 de formato. Adicionalmente, como en el formato de tipo 0 descrito anteriormente, la clave Kcon de contenido y la clave Kbit de tabla de información de bloques están cifradas con la clave Kdis de distribución en el medio o con la clave Kstr de almacenamiento almacenada en la memoria interna del dispositivo de registro cuando es este el caso. A diferencia del formato de tipo 0, el formato de tipo 1 tiene una configuración de bloques fijos para simplificar los datos de configuración, tales como longitud de datos para cada bloque, permitiendo así reducir el tamaño de la memoria para información de bloques en comparación con el formato de tipo 0.
En el ejemplo de configuración de la figura 33, cada bloque comprende un conjunto de una parte cifrada y una parte no cifrada (texto claro). Si la longitud y configuración del bloque son así regulares, no es necesario comprobar cada longitud de bloque o configuración durante el proceso de descifrado, permitiendo así la utilización de procesos eficientes de cifrado y descifrado. En el formato 1, las partes que constituyen cada bloque, es decir la parte cifrada y la parte no cifrada (texto claro), pueden definirse cada una como un objeto a comprobar, de modo que se define el valor ICVi de comprobación de integridad de contenido para un bloque que contiene una parte que debe comprobarse.
La figura 34 muestra un formato de tipo 2, que está caracterizado porque los datos están divididos en N bloques de datos que tienen todos el mismo tamaño, a saber los bloques 1 a N, cada uno de los cuales está cifrado con una clave Kblc de bloque individual. Cada clave Kblc de bloque individual está cifrada con la clave Kcon de contenido, que está cifrada con la clave Kdis de distribución en el medio o con la clave Kstr de almacenamiento almacenada en la memoria interna del dispositivo de registro cuando se almacena en este dispositivo. La clave Kbit de tabla de información de bloques está también cifrada con la clave Kdis de distribución en el medio o con la clave Kstr de almacenamiento almacenada en la memoria interna del dispositivo de registro cuando se almacena en este dispositivo.
La figura 35 representa un formato de tipo 3, que está caracterizado porque los datos están divididos en N bloques de datos que tienen todos el mismo tamaño, a saber los bloques 1 a N, cada uno de los cuales está cifrado con una clave Kblc de bloque individual como en el tipo 2 de formato, y porque cada clave Kblc de bloque individual está cifrada con la clave Kdis de distribución en el medio o con la clave Kstr de almacenamiento en el dispositivo de registro, sin que se utilice la clave de contenido. No existe ninguna clave Kcon de contenido en el medio o en el dispositivo. La clave Kbit de tabla de información de bloques está cifrada con la clave Kdis de distribución en el medio o con la clave Kstr de almacenamiento almacenada en la memoria interna del dispositivo de registro cuando se almacena en este dispositivo.
Se describirá a continuación el contenido de los datos en los tipos 0 a 3 de formato anteriores. Como se ha descrito anteriormente, los datos están divididos a grosso modo en dos partes, es decir la sección de cabecera y la sección de contenido. La sección de cabecera contiene el identificador de contenido, la política de uso, los valores A y B de comprobación de integridad, el valor de comprobación de integridad total, la clave de tabla de información de bloques, la clave de contenido, y la tabla de información de bloques (BIT).
La política de uso almacena la longitud de datos de un contenido, su longitud de cabecera, su tipo de formato (formatos 0 a 3 que se describen posteriormente), indicando un tipo de contenido si el contenido es un programa o datos, una marca indicadora de localización que determina si el contenido puede ser utilizado solamente por un dispositivo de registro y reproducción particular como se ha descrito en la sección relativa a los procesos para descargar y reproducir un contenido a y desde el dispositivo de registro, una marca indicadora de permiso para un proceso de desplazamiento o copia de contenido, e información diversa de proceso y localización para el contenido, tal como un algoritmo y un modo de cifrado de contenido.
El valor A:ICVa de comprobación de integridad se utiliza para comprobar el identificador de contenido y la política de uso generada, por ejemplo, utilizando el método descrito en la figura 23 comentada anteriormente.
La clave Kbit de tabla de información de bloques se utiliza para cifrar la tabla de información de bloques (BIT) y se cifra con la clave Kdis de distribución en el medio o con la clave Kstr de almacenamiento en la memoria interna del dispositivo de registro cuando se almacena en este dispositivo, como se ha descrito anteriormente.
La clave Kcon de contenido se utiliza para descifrar un contenido. Para los tipos 0 y 1 de formato, se cifra con la clave Kdis de distribución en el medio o con la clave Kstr de almacenamiento almacenada en la memoria interna del dispositivo de registro cuando se almacena en este último, similarmente a la clave Kbit de tabla de información de bloques. Para el tipo 2 de formato, la clave Kcon de contenido se utiliza también para cifrar la clave Kblc de bloque individual configurada para cada bloque de contenido. Adicionalmente, para el tipo 3 de formato, no está presente ninguna clave Kcon de contenido.
La tabla de información de bloques (BIT) describe información relativa a los bloques individuales y almacena el tamaño de cada bloque y una marca indicadora que indica si se ha cifrado el bloque, es decir información que indica si ha de comprobarse o no el bloque (en su valor inicial). Si ha de comprobarse el bloque, el valor ICVi de comprobación de integridad de bloque (el valor de comprobación de integridad para el bloque i) se define y almacena en la tabla. La tabla de información de bloques (BIT) está cifrada con la clave Kbit de tabla de información de bloques.
Si ha sido cifrado el bloque, el valor de comprobación de integridad de bloque, es decir el valor ICVi de comprobación de integridad de contenido, es generado mediante la combinación lógica "O" exclusiva de todo el texto claro (texto descifrado) cada ocho octetos y a continuación de la operación de cifrado del valor obtenido con la clave Kicvc de generación de valores de comprobación de integridad de contenido almacenada en la memoria interna 307 del dispositivo 300 de registro y reproducción. Adicionalmente, si el bloque no ha sido cifrado, se genera el valor de comprobación de integridad de bloque mediante la introducción secuencial de todos los datos de bloque (texto claro) en una función de generación de valores de comprobación de manipulación representada en la figura 36 (procedimiento DES-CBC-MAC utilizando la clave Kicvc de generación de valores de comprobación de integridad de contenido) de tal modo que se introducen cada vez ocho octetos. La figura 36 muestra un ejemplo de una configuración para generar el valor ICVi de comprobación de integridad de contenido. Cada mensaje M constituye cada conjunto de ocho octetos de los datos de texto descifrados o datos de texto claro.
Para el tipo 1 de formato, si al menos una de las partes del bloque corresponde a datos a procesar con el valor ICVi de comprobación de integridad de contenido, es decir una parte a comprobar, se define para ese bloque el valor ICVi de comprobación de integridad de contenido. Es generado un valor P-ICVij de comprobación de integridad para una parte j de un bloque i mediante la combinación lógica "O" exclusiva de todo el texto claro (texto descifrado) cada ocho octetos y a continuación se procede al cifrado de los datos obtenidos con el clave Kicvc de generación de valores de comprobación de integridad de contenido. Adicionalmente, si una parte j no ha sido cifrada, se genera el valor P-ICVij de comprobación de integridad mediante la introducción secuencial de la totalidad de los datos de bloque (texto claro) en la función de generación de valores de comprobación de manipulación representada en la figura 36 (DES-CBC-MAC utilizando la clave Kicvc de generación de valores de comprobación de integridad de contenido) de tal modo que se aplican cada vez los ocho octetos.
Adicionalmente, si el bloque i contiene una parte que tiene la marca indicadora ICV en correspondencia con el valor de comprobación de integridad, indicando que ha de comprobarse, el valor P-ICVij de comprobación de integridad generado utilizando el método anterior se utiliza directamente como valor ICVi de comprobación de integridad de contenido de bloque. Si el bloque i contiene una pluralidad de partes que tienen la marca indicadora ICV en correspondencia con el valor de comprobación de integridad indicando que han de comprobarse estas condiciones, se genera el valor P-ICVij de comprobación de integridad conectando entre sí una pluralidad de valores P-ICVij de comprobación de integridad de partes de acuerdo con números de parte para obtener datos e introducir secuencialmente todos los datos (datos claros) en la función de generación de valores de comprobación de manipulación representada en la figura 37 (DES-CBC-MAC utilizando la clave Kicvc de generación de valores de comprobación de integridad de contenido), de tal modo que se introducen ocho octetos cada vez. La figura 37 muestra un ejemplo de una configuración para generar el valor ICVi de comprobación de integridad de contenido de bloque.
El valor ICVi de comprobación de integridad de contenido no está definido para los tipos 2 o 3 de formato.
El valor B:ICVb de comprobación de integridad se utiliza para comprobar la clave Kbit de tabla de información de bloques, la clave de contenido, y toda la tabla de información de bloques (BIT), y se genera utilizando, por ejemplo, el método descrito anteriormente en la figura 24.
El valor ICVt de comprobación de integridad total se utiliza para comprobar la totalidad de los valores A:ICVa y B:ICVb de comprobación de integridad descritos anteriormente y el valor ICVi de comprobación de integridad de contenido en cada bloque del contenido a comprobar y se genera aplicando la clave Ksys de firma del sistema al valor de comprobación de integridad intermedia generado para cada valor de comprobación de integridad, tal como el valor A:ICVa de comprobación de integridad, para ejecutar el proceso de cifrado como se ha descrito anteriormente en la figura 25.
Para los tipos 2 y 3 de formato, el valor ICVt de comprobación de integridad total se genera aplicando la clave Ksys de firma del sistema al valor de comprobación de integridad intermedia generado conectando los valores A:ICVa y B:ICVb de comprobación de integridad descritos anteriormente a los datos de contenido, es decir a los datos de contenido completos entre la clave de bloque incluida en el bloque 1 y el bloque final, para ejecutar el proceso de cifrado. La figura 38 muestra un ejemplo de una configuración para generar el valor ICVt de comprobación de integridad total para los tipos 2 y 3 de formato.
El valor ICVdev de comprobación de integridad singular es sustituido por el valor ICVt de comprobación de integridad total si la marca indicadora de localización descrita anteriormente está puesta a 1, es decir indica que el contenido puede ser utilizado solamente por un dispositivo de registro y reproducción particular. Para los tipos 0 y 1 de formato, el valor ICVdev de comprobación de integridad se genera para comprobar los valores A:ICVa y B:ICVb de comprobación de integridad descritos anteriormente y el valor ICVi de comprobación de integridad de contenido incluido en cada bloque a comprobar. Específicamente, el valor ICVdev de comprobación de integridad se genera aplicando la clave Kdev de firma de dispositivo de registro y reproducción al valor de comprobación de integridad intermedia generado a partir de los valores de comprobación de integridad, tales como el valor ICVa de comprobación de integridad, como se ha explicado en las figuras 25 o 38 descritas anteriormente.
A continuación, se describirán con referencia a los diagramas de flujo de las figuras 39 a 44 los procesos para descargar un contenido con cada uno de los tipos 0 a 3 de formato del dispositivo 300 de registro y reproducción al dispositivo 400 de registro, y los procesos ejecutados por el dispositivo 300 de registro y reproducción para reproducir un contenido de cada uno de los tipos 0 a 3 de formato del dispositivo 400 de registro.
En primer lugar, se explicarán con referencia a la figura 39 los procesos para descargar un contenido de los tipos 0 o 1 de formato.
El proceso representado en la figura 39 se inicia, por ejemplo, instalando el dispositivo 400 de registro en el dispositivo 300 de registro y reproducción representado en la figura 3. En la operación S101, se ejecuta el proceso de autentificación entre el dispositivo de registro y reproducción y el dispositivo de registro, y esta operación se realiza de acuerdo con el flujo del proceso de autentificación descrito anteriormente en la figura 20.
Si el proceso de autentificación en la operación S601 se ha completado para activar la marca indicadora de autentificación, entonces en la operación S102, el dispositivo 300 de registro y reproducción lee datos de un formato predeterminado del medio 500 a través de la sección 304 de lectura, a través del medio 500 que almacena datos de contenido, o utiliza la sección 305 de comunicación para recibir datos de los medios 600 de comunicación de acuerdo con un formato predeterminado. A continuación, la sección 301 de control del dispositivo 300 de registro y reproducción transmite la sección de cabecera de los datos a la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción.
A continuación, en la operación S103, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor A de comprobación de integridad. El valor A de comprobación de integridad se calcula de acuerdo con el método de cálculo de valores de comprobación de integridad descrito en la figura 7, utilizando como clave la clave Kicva de generación de valor A de comprobación de integridad almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción y utilizando el identificador de contenido y la política de uso como mensaje, como se muestra en la figura 23. A continuación, en la operación S104, se comparan entre sí el valor A de comprobación de integridad y el valor ICVa de comprobación de integridad almacenado en la cabecera, y si son iguales, el proceso continúa hasta la operación S105.
Como se ha descrito anteriormente, el valor ICVa de comprobación de integridad (A) se utiliza para verificar que el identificador de contenido y la política de uso no se han manipulado. Si el valor A de comprobación de integridad calculado, por ejemplo de acuerdo con el método de cálculo de valores de comprobación de integridad utilizando como clave la clave Kicva de generación de valor A de comprobación de integridad almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción y utilizando como mensaje el identificador de contenido y la política de uso, es igual al valor: ICVa de comprobación de integridad almacenado en la cabecera, se determina que el identificador de contenido y la política de uso no se han manipulado.
A continuación, en la operación S105, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción obtenga o genere la clave Kdis de distribución. La clave Kdis de distribución es generada utilizando, por ejemplo, la clave maestra MKdis para la clave de distribución, como en la operación S53 de la figura 22 descrita anteriormente.
A continuación, en la operación S106, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción utiliza la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción también como la clave Kdis de distribución, para descifrar la clave Kbit de tabla de información de bloques y la clave Kcon de contenido almacenada en la sección de cabecera de los datos obtenidos del medio 500 a través de la sección 304 de lectura o recibidos de los medios 600 de comunicación a través de la sección 305 de comunicación.
Adicionalmente, en la operación S107, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción utiliza la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción para descifrar la tabla de información de bloques (BIT) con la clave Kbit de tabla de información de bloques descifrada.
Adicionalmente, en la operación S108, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcula el valor B de comprobación de integridad (ICVb') a partir de la clave Kbit de tabla de información de bloques, la clave Kcon de contenido, y la tabla de información de bloques (BIT). El valor B de comprobación de integridad es generado, como se muestra en la figura 24, utilizando como clave la clave Kicvb de generación de valor B de comprobación de integridad almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, para descifrar un valor obtenido por combinación lógica "O" exclusiva en base al algoritmo DES, comprendiendo este valor la clave Kbit de tabla de información de bloques, la clave Kcon de contenido, y la tabla de información de bloques (BIT). A continuación, en la operación S109, se comparan entre sí el valor B de comprobación de integridad y el valor B de comprobación de integridad (ICVb) contenido en la cabecera, y si son iguales, el proceso avanza hasta la operación S110.
Como se ha descrito anteriormente, el valor B de comprobación de integridad (ICVb) se utiliza para verificar que la clave Kbit de tabla de información de bloques, la clave Kcon de contenido, y la tabla de información de bloques (BIT) no han sido manipuladas. Si el valor B de comprobación de integridad generado utilizando como clave la clave Kicvb de generación de valor B de comprobación de integridad almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción dividiendo la clave Kbit de tabla de información de bloques, la clave Kcon de contenido, y la tabla de información de bloques (BIT) en segmentos de ocho octetos, combinando en función lógica "O" exclusiva estos datos, y cifrando los datos resultantes de esta función lógica de acuerdo con el algoritmo DES, es igual al valor de comprobación: ICVb almacenado en la cabecera, se determina que la clave Kbit de tabla de información de bloques, la clave Kcon de contenido, y la tabla de información de bloques (BIT), no han sido manipuladas.
En la operación S110, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor de comprobación de integridad intermedia. El valor intermedio es calculado de acuerdo con el método de cálculo de valores de comprobación de integridad descrito en la figura 7, utilizando como clave la clave Kicvt de generación de valores de comprobación de integridad total almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción y utilizando como mensaje los valores A y B de comprobación de integridad y todos los valores de comprobación de integridad de contenido retenidos. El valor de comprobación de integridad intermedia generado se almacena en la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción según se requiera.
A continuación, en la operación S111, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor ICVt' de comprobación de integridad total. Como se muestra en la figura 25, el valor ICVt de comprobación de integridad total se genera utilizando como clave una clave Ksys de firma del sistema almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, para cifrar el valor de comprobación de integridad intermedia en base al algoritmo DES. A continuación, en la operación S112, se comparan entre sí el valor ICVt de comprobación de integridad total generado y el valor ICVt' de la cabecera almacenado en la operación S112, y si son iguales, el proceso continúa hasta la operación S113.
Como se ha descrito anteriormente en la figura 4, el valor ICVt de comprobación de integridad total se utiliza para verificar que todos los valores ICVa e ICVb de comprobación de integridad y el valor de comprobación de integridad para cada bloque de contenido no han sido manipulados. De este modo, si el valor de comprobación de integridad total generado por medio del proceso descrito anteriormente es igual al valor de comprobación de integridad: ICVt almacenado en la cabecera, se determina que ninguno de los valores de comprobación de integridad ICVa e ICVb ni el valor de comprobación de integridad para cada bloque de contenido han sido manipulados.
A continuación, en la operación S113, la sección 301 de control del dispositivo 300 de registro y reproducción extrae información de bloque de contenido de la tabla de información de bloques (BIT) y comprueba si ha de verificarse cualquier bloque de contenido. Si ha de verificarse algún bloque de contenido, el valor de comprobación de integridad de contenido ha sido almacenado en la información de bloques de la cabecera.
Si ha de verificarse cualquier bloque de contenido, entonces en la operación S114, la sección 301 de control lee este bloque de contenido del medio 500 utilizando la sección 304 de lectura del dispositivo 300 de registro y reproducción o que se ha recibido de los medios 600 de comunicación utilizando la sección 305 de comunicación del dispositivo 300 de registro y reproducción, y transmite el bloque de contenido a la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción. Al recibir el bloque de contenido, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor ICVi' de comprobación de integridad de contenido.
Si el bloque ha sido cifrado, se genera el valor ICVi de comprobación de integridad de contenido descifrando el bloque de contenido de entrada en el modo DES CBC utilizando la clave Kcon de contenido, combinando en función lógica "O" exclusiva todo el texto descifrado cada ocho octetos, y cifrando a continuación el valor de contenido intermedio generado con la clave Kicvc de generación de valores de comprobación de integridad de contenido almacenada en la memoria interna 307 del dispositivo 300 de registro y reproducción. Adicionalmente, si el bloque no ha sido cifrado, se genera el valor de comprobación de integridad de contenido introduciendo secuencialmente los datos de bloque completos (texto claro) en la función de generación de valores de comprobación de manipulación representada en la figura 36 (DES-CBC-MAC utilizando la clave Kicvc de generación de valores de comprobación de integridad de contenido) de tal modo que se aplican cada vez ocho octetos.
A continuación, en la operación S115, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción compara este valor de comprobación de integridad de contenido con el valor de comprobación de integridad incluido en el bloque de contenido recibido de la sección 301 de control del dispositivo 300 de registro y reproducción en la operación S102, y transfiere el resultado a la sección 301 de control del dispositivo 300 de registro y reproducción. Al recibir el resultado, y si la verificación ha tenido éxito, la sección 301 de control del dispositivo 300 de registro y reproducción toma el siguiente bloque de contenido a verificar y hace que la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción verifique este bloque de contenido. Se repiten procesos de verificación similares hasta que se verifican todos los bloques de contenido (operación S116).
A este respecto, si los valores de comprobación no son iguales en ninguna de las operaciones 104, 109, 112 y 115, se produce un error para finalizar el proceso de descarga.
A continuación, en la operación S117, la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción cifre la clave Kbit de tabla de información de bloques y la clave Kcon de contenido descifrada en la operación S106, utilizando la clave Kses de sesión a la que se ha conferido compartibilidad durante la autentificación mutua. La sección 301 de control del dispositivo 300 de registro y reproducción lee la clave Kbit de tabla de información de bloques y la clave Kcon de contenido de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción y las transmite al dispositivo 400 de registro a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción.
A continuación, en la operación S118, al recibir la clave Kbit de tabla de información de bloques y la clave Kcon de contenido transmitidas por el dispositivo 300 de registro y reproducción, el dispositivo 400 de registro hace que la sección 406 de cifrado/descifrado de la sección 401 de proceso criptográfico de dispositivo de registro descifre los datos recibidos con la clave Kses de sesión que ha sido hecha compartible durante la autentificación mutua y cifre nuevamente los datos descifrados utilizando la clave Kstr de almacenamiento singular para el dispositivo de registro que está almacenada en la memoria interna 405 de la sección 401 de proceso criptográfico de dispositivo de registro. A continuación, la sección 301 de control del dispositivo 300 de registro y reproducción lee la clave Kbit de tabla de información de bloques y la clave Kcon de contenido del dispositivo 400 de registro a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción, cifrándose nuevamente la clave Kbit de tabla de información de bloques y la clave Kcon de contenido con la clave Kstr de almacenamiento. Es decir, la clave Kbit de tabla de información de bloques cifrada con la clave Kdis de distribución es intercambiada con la clave Kcon de contenido.
A continuación, en la operación S119, la sección 301 de control del dispositivo 300 de registro y reproducción extrae el campo de localización de la política de uso en la sección de cabecera de los datos, para determinar si el contenido descargado puede ser utilizado solamente en este dispositivo 300 de registro y reproducción. Si el campo de localización está puesto a 1, el contenido descargado puede ser utilizado solamente por el dispositivo 300 de registro y reproducción, y si el campo de localización está puesto a 0, el contenido descargado puede ser utilizado también por otros dispositivos 300 de registro y reproducción similares. Si el resultado de la determinación muestra que el campo de localización está puesto a 1, el proceso avanza hasta la operación S120.
En la operación S120, la sección 301 de control del dispositivo 300 de registro y reproducción hace que la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción calcule el valor de comprobación de integridad singular para el dispositivo de registro y reproducción. El valor de comprobación de integridad singular para el dispositivo de registro y reproducción se genera utilizando como clave una clave Kdev de firma de dispositivo de registro y reproducción almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, para cifrar el valor de comprobación de integridad intermedia en base al algoritmo DES, generándose el valor de comprobación de integridad intermedia en la operación S110. El valor ICVdev de comprobación de integridad calculado singular para el dispositivo de registro y reproducción sustituye al valor ICVt de comprobación de integridad total.
Como se ha descrito anteriormente, la clave Ksys de firma del sistema se utiliza para añadir una firma común o valor de comprobación de integridad al sistema de distribución, y la clave Kdev de firma de dispositivo de registro y reproducción varía dependiendo del dispositivo de registro y reproducción y es utilizada por el dispositivo de registro y reproducción para añadir una firma o valor de comprobación de integridad. Es decir, los datos firmados con la clave Ksys de firma del sistema son comprobados con éxito por un sistema (dispositivo de registro y reproducción) que tiene la misma clave de firma de sistema, es decir tales datos tienen el mismo valor ICVt de comprobación de integridad total a fin de ser compartibles. Sin embargo, si los datos están firmados con la clave Kdev de firma de dispositivo de registro y reproducción, puesto que la clave de firma es singular para el dispositivo de registro y reproducción, los datos firmados con la clave Kdev de firma de dispositivo de registro y reproducción, es decir los datos almacenados en un dispositivo de registro después de la firma, si se hace un intento de reproducirlos después de haber insertado este dispositivo de registro en otro dispositivo de registro y reproducción, no pueden ser reproducidos; es decir se produce un error debido a los valores ICVdev de comprobación de integridad desiguales singulares para el dispositivo de registro y reproducción. En el aparato de procesamiento de datos de acuerdo con el presente invento, la activación del campo de localización permite la activación arbitraria del contenido para ser compartido en todo el sistema o utilizado solamente por dispositivos de registro y reproducción particulares.
A continuación, en la operación S121, la sección 301 de control del dispositivo 300 de registro y reproducción hace que la sección 302 de proceso criptográfico de dispositivo de registro y reproducción establezca un formato de datos de almacenamiento. Como se ha descrito anteriormente, uno de los tres tipos 0 a 3 de formato se establece en la política de uso (véase la figura 5) en la cabecera, de modo que se forman datos de acuerdo con el formato de almacenamiento que aparece a la derecha de una de las figuras 32 a 35 descritas anteriormente dependiendo del tipo activado. El flujo que se muestra en la figura 39 corresponde al tipo 0 o 1 de formato, de modo que los datos se forman en uno de los formatos de las figuras 32 y 33.
Una vez que se ha completado en la operación S121 el formato de datos de almacenamiento, la sección 301 de control del dispositivo 300 de registro y reproducción almacena el contenido en la memoria externa 402 del dispositivo 400 de registro en la operación S122.
Se ha descrito como se realiza el proceso para la descarga de datos de contenido de los tipos 0 o 1 de formato.
Se explicará con referencia a la figura 40 el proceso para la descarga de datos de contenido del tipo 2 de formato. Se destacarán las diferencias con respecto al proceso descrito anteriormente para la descarga de datos del tipo 0 o 1 de formato.
Las operaciones S101 a S109 son similares a las del proceso descrito anteriormente para descargar datos de los tipos 0 o 1 de formato, de modo que se omite su descripción.
Puesto que el tipo 2 de formato no tiene valor ICVi de comprobación de integridad de contenido definido para dicho formato como se ha descrito anteriormente, la tabla de información de bloques (BIT) no incluye el valor ICVi de comprobación de integridad de contenido. El valor de comprobación de integridad intermedia en el tipo 2 de formato es generado aplicando la clave Ksys de firma del sistema al valor de comprobación de integridad intermedia conectando los valores A y B de comprobación de integridad a los datos de contenido completos entre los datos iniciales del primer bloque (la clave de bloque en el bloque 1) y el bloque final, para ejecutar el proceso de cifrado.
De este modo, en el proceso para la descarga de datos del tipo 2 de formato, los datos de contenido son leídos en la operación S151, y el valor de comprobación de integridad intermedia se genera en base a los valores A y B de comprobación de integridad y a los datos de contenido leídos en la operación S152. Con respecto a esto, los datos de contenido no son descifrados incluso si han sido cifrados.
Para el tipo 2 de formato, los procesos para descifrar los datos de bloque y cotejar los valores de comprobación de integridad de contenido se omiten, al contrario de los procesos descritos anteriormente para los tipos 0 o 1 de formato, aumentando así la velocidad de procesamiento.
El procesamiento realizado en la operación S111 y operaciones subsiguientes es similar al correspondiente al tipo 0 o 1 de formato, de modo que se omite su descripción.
Se ha descrito como se realiza el proceso para descargar datos de contenido del tipo 2 de formato. Como se ha descrito anteriormente, el proceso para descargar datos del tipo 2 de formato omite los procesos para descifrar los datos de bloque y cotejar los valores de comprobación de integridad de contenido al contrario del proceso para los tipos 0 o 1 de formato, aumentando así la velocidad de procesamiento; este formato es así adecuado para el procesamiento de datos de música o similares que deben ser ejecutados en tiempo real.
A continuación se describirá el proceso para descargar datos de contenido del tipo 3 de formato con referencia a la figura 41. La siguiente descripción se centrará en las diferencias con respecto al proceso de descarga descrito anteriormente para los tipos 0, 1 y 2 de formato.
Las operaciones S101 a S105 son similares a las del proceso de descarga descrito anteriormente para los tipos 0, 1 y 2 de formato.
El proceso para el tipo 3 de formato tiene muchas características esencialmente en común con las del tipo 2 de formato, pero difiere de este en que el tipo 3 de formato no tiene clave de contenido por cuanto la clave Kblc de bloque individual se almacena en el dispositivo de registro después de ser cifrada con la clave Kstr de almacenamiento.
La siguiente descripción se centrará en las diferencias entre el proceso de descarga para el tipo 3 de formato y el proceso de descarga para el tipo 2 de formato. Con el tipo 3 de formato, en la operación S161, que sigue a la operación S105, es descifrada la clave Kbit de tabla de información de bloques. La sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción utiliza la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción y también la clave Kdis de distribución generada en la operación S105 para descifrar la clave Kbit de tabla de información de bloques almacenada en la sección de cabecera de los datos obtenidos del medio 500 a través de la sección 304 de lectura o recibidos de los medios 600 de comunicación a través de la sección 305 de comunicación. Con el tipo 3 de formato, los datos no incluyen clave Kcon de contenido, de modo que no se ejecuta el proceso para descifrar la clave Kcon de contenido.
En la siguiente operación S107, la clave Kbit de tabla de información de bloques descifrada en la operación S161 se utiliza para descifrar la tabla de información de bloques (BIT), y en la operación S162 la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción genera el valor B de comprobación de integridad (ICVb') a partir de la clave Kbit de tabla de información de bloques y la tabla de información de bloques (BIT). El valor B de comprobación de integridad se genera utilizando como clave la clave Kicvb de generación de valor B de comprobación de integridad en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, para cifrar el valor resultante de la función lógica "O" exclusiva que combina la clave Kbit de tabla de información de bloques y la tabla de información de bloques (BIT), en base al algoritmo DES. A continuación, en la operación S109, se comparan el valor B de comprobación de integridad y el valor B de comprobación de integridad (ICVb) de la cabecera, y si son iguales, el proceso continúa hasta la operación S151.
Con el tipo 3 de formato, el valor B, ICVb de comprobación de integridad realiza la función de verificar que la clave Kbit de tabla de información de bloques y la tabla de información de bloques (BIT) no han sido manipuladas. Si el valor B de comprobación de integridad generado es igual al valor B de comprobación de integridad: ICVb almacenado en la cabecera, se determina que la clave Kbit de tabla de información de bloques y la tabla de información de bloques (BIT) no han sido manipuladas.
Las operaciones S151 y S112 son similares a las del proceso para el tipo 2 de formato, y se omite su descripción.
En la operación S163, la clave Kblc de bloque individual contenida en los datos de contenido leídos en la operación S151 se descifra con la clave Kdis de distribución generada en la operación S105.
A continuación, en la operación 164, la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción cifre la clave Kbit de tabla de información de bloques descifrada en la operación S161 y la clave Kblc de bloque descifrada en la operación S163, utilizando la clave Kses de sesión que se ha hecho compartible durante la autentificación mutua. La sección 301 de control del dispositivo 300 de registro y reproducción lee la clave Kbit de tabla de información de bloques y la clave Kblc de bloque de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción y transmite a continuación estos datos al dispositivo 400 de registro a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción.
A continuación, en la operación S165, al recibir la clave Kbit de tabla de información de bloques y la clave Kblc de bloque transmitidas por el dispositivo 300 de registro y reproducción, el dispositivo 400 de registro hace que la sección 406 de cifrado/descifrado del sección 401 de proceso criptográfico de dispositivo de registro descifre los datos recibidos con la clave Kses de sesión que se ha hecho compartible durante la autentificación mutua y vuelva a cifrar los datos descifrados utilizando la clave Kstr de almacenamiento singular para el dispositivo de registro que está almacenada en la memoria interna 405 de la sección 401 de proceso criptográfico de dispositivo de registro. La sección 301 de control del dispositivo 300 de registro y reproducción lee la clave Kbit de tabla de información de bloques y la clave Kblc de bloque recifradas por una clave Kstr de almacenamiento del dispositivo 400 de registro a través del controlador de dispositivo de registro del dispositivo 300 de registro y reproducción. Es decir, la clave Kbit de tabla de información de bloques y la clave Kblc de bloque cifradas inicialmente con la clave Kdis de distribución son sustituidas por la clave Kbit de tabla de información de bloques y la clave Kblc de bloque recifradas es recifrada con la clave Kstr de almacenamiento.
Las operaciones subsiguientes S119 a S122 son similares a las correspondientes a los tipos 0, 1 y 2 de formato, de modo que se omite su descripción.
Se ha descrito el aspecto del proceso para descargar datos de contenido del tipo 3 de formato. Como se ha descrito anteriormente, el proceso de descarga para el tipo 3 de formato omite la descripción de los datos de bloque y del proceso para cotejar el valor de comprobación de integridad de contenido como valor correspondiente al tipo 2 de formato, permitiendo así un procesamiento orientado; el tipo 3 de formato es así adecuado para procesar datos tales como datos musicales que requieren procesamiento en tiempo real. Adicionalmente, puesto que el margen dentro del cual está protegido el contenido cifrado está localizado por la clave Kblc de bloque, se consigue una seguridad avanzada en comparación con el tipo 2 de formato.
A continuación, se explicarán con referencia a los diagramas de flujo de las figuras 42 a 45 los procesos para reproducir datos de cada uno de los tipos 0 a 3 de formato del dispositivo 400 de registro del dispositivo 300 de registro y reproducción.
En primer lugar, se explicará con referencia a la figura 42 un proceso para reproducir un contenido del tipo 0 de formato.
La operación S201 corresponde a un proceso de autentificación entre el dispositivo de registro y reproducción y el dispositivo de registro, y se ejecuta de acuerdo con el flujo de proceso de autentificación descrito anteriormente en la figura 20.
Una vez que se ha completado el proceso de autentificación en la operación S201 para activar la marca indicadora de autentificación, en la operación 202 el dispositivo 300 de registro y reproducción lee la cabecera de datos de un formato predeterminado del dispositivo 400 de registro y transmite dichos datos a la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción.
A continuación, en la operación S203, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor A de comprobación de integridad. El valor A de comprobación de integridad se calcula utilizando como clave la clave Kicva de generación de valor A de comprobación de integridad almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción y utilizando el identificador de contenido y la política de uso como mensaje, como se muestra en la figura 23 descrita anteriormente. A continuación, se comparan en la operación S204 el valor A de comprobación de integridad y el valor: ICVa de comprobación de integridad almacenado en la cabecera, y si son iguales, el proceso avanza hasta la operación S205.
El valor A, ICVa de comprobación de integridad se utiliza para verificar que el identificador de contenido y la política de uso no han sido manipulados. Si el valor ICVa de comprobación de integridad calculado es igual al valor: ICVa de comprobación almacenado en la cabecera, se determina que el identificador de contenido y la política de uso no se han manipulado.
A continuación, en la operación S205, la sección 301 de control del dispositivo 300 de registro y reproducción extrae de la sección de cabecera de lectura la clave Kbit de tabla de información de bloques y la clave Kcon de contenido cifradas con la clave Kstr de almacenamiento singular para el dispositivo de registro y las transmite a continuación al dispositivo 400 de registro a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción.
Al recibir la clave Kbit de tabla de información de bloques y la clave Kcon de contenido transmitidas por el dispositivo 300 de registro y reproducción, el dispositivo 400 de registro hace que la sección 406 de cifrado/descifrado de la sección 401 de proceso criptográfico de dispositivo de registro descifre los datos recibidos con la clave Kstr de almacenamiento singular para el dispositivo de registro, que está almacenada en la memoria interna 405 del proceso criptográfico de dispositivo de registro, y recifre a continuación los datos descifrados utilizando la clave Kses de sesión que se ha hecho compartible durante la autentificación mutua. Este proceso tiene lugar como se ha descrito anteriormente con detalle en la sección (9) Proceso de Intercambio de Claves después de la Autentificación
Mutua.
En la operación S206, la sección 301 de control del dispositivo 300 de registro y reproducción recibe del dispositivo 400 de registro la clave Kbit de tabla de información de bloques y la clave Kcon de contenido recifradas con la clave Kses de sesión a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción.
A continuación, en la operación S207, la sección 301 de control del dispositivo 300 de registro y reproducción transmite la clave Kbit de tabla de información de bloques y la clave Kcon de contenido recibidas que están recifradas con la clave Kses de sesión, a la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción. Al recibir la clave Kbit de tabla de información de bloques y la clave Kcon de contenido recifradas con la clave Kses de sesión, la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción descifre estas claves Kbit y Kcon con la clave Kses de sesión que se ha hecho compartible durante la autentificación mutua.
Adicionalmente, en la operación S208, la clave Kbit de tabla de información de bloques es utilizada para descifrar la información de bloque leída en la operación S202. La sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción sustituye la clave Kbit de tabla de información de bloques, la clave Kcon de contenido y la tabla de información de bloques (BIT) por la clave Kbit de tabla de información de bloques, la clave Kcon de contenido y la tabla de información de bloques (BIT) contenidas en la cabecera leída en la operación S202, para su retención. Adicionalmente, la sección 301 de control del dispositivo 300 de registro y reproducción lee la tabla de información de bloques (BIT) descifrada, de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción.
Adicionalmente, en la operación S209, la sección 306 de control de la dispositivo 300 de registro y reproducción genera el valor B de comprobación de integridad (ICVb') a partir de la clave Kbit de tabla de información de bloques, la clave Kcon de contenido, y la tabla de información de bloques (BIT). El valor B de comprobación de integridad es generado como se muestra en la figura 24 utilizando como clave la clave Kicvb de generación de valor B de comprobación de integridad almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, para descifrar el valor de la función lógica "O" exclusiva que comprende la clave Kbit de tabla de información de bloques, la clave Kcon de contenido, y la tabla de información de bloques (BIT), en base al algoritmo DES. A continuación, en la operación S210, el valor B de comprobación de integridad y el valor ICVb de la cabecera son comparados, y si son iguales, el proceso avanza hasta la operación S211.
El valor B de comprobación de integridad (ICVb) se utiliza para verificar que la clave Kbit de tabla de información de bloques, la clave Kcon de contenido, y la tabla de información de bloques (BIT) no han sido manipuladas. Si el valor B de comprobación de integridad generado es igual al valor: ICVb de comprobación almacenado en la cabecera, se determina que la clave Kbit de tabla de información de bloques, la clave Kcon de contenido y la tabla de información de bloques (BIT) almacenadas en el dispositivo 400 de registro no han sido manipuladas.
En la operación S211, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor de comprobación de integridad intermedia. El valor intermedio se calcula de acuerdo con el método de cálculo de valores ICV descrito en la figura 7, utilizando como clave la clave Kicvt de generación de valores de comprobación de integridad total almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, y utilizando los valores A y B de comprobación de integridad en la cabecera verificados y todos los valores de comprobación de integridad de contenido en la tabla de información de bloques (BIT) como mensaje y como se muestra en la figura 25. Con respecto a esto, el valor de comprobación de integridad intermedia generado se almacena en la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción según se requiera.
A continuación, en la operación S212, la sección 301 de control del dispositivo 300 de registro y reproducción extrae el campo de localización de la política de uso contenida en la sección de cabecera de la memoria externa 402 del dispositivo 400 de registro, para determinar si el contenido a reproducir puede ser utilizado solamente por este dispositivo 300 de registro y reproducción (en este caso, el campo de localización está puesto a 1) o también por otros dispositivos 300 de registro y reproducción similares (en este caso, el campo de localización está puesto a 0). Si el resultado de la determinación muestra que el campo de localización está puesto a 1, es decir el contenido reproducido puede ser utilizado solamente por este dispositivo 300 de registro y reproducción, el proceso continúa hasta la operación S213. Si el campo de localización está puesto a 0, es decir el contenido reproducido puede ser utilizado también por otros dispositivos 300 de registro y reproducción similares, el proceso avanza hasta la operación S215. El procesamiento en la operación S211 puede ser ejecutado por la sección 302 de proceso criptográfico de dispositivo de registro y reproducción.
En la operación S213, la sección 301 de control del dispositivo 300 de registro y reproducción hace que la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción calcule el valor ICVdev' de comprobación de integridad singular para el dispositivo de registro y reproducción. Se genera el valor ICVdev' de comprobación de integridad singular para el dispositivo de registro y reproducción, como se muestra en la figura 25, utilizando como clave una clave Kdev de firma de dispositivo de registro y reproducción almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, para descifrar el valor de comprobación de integridad intermedia en base al algoritmo DES, siendo retenido en la operación S58 el valor de comprobación de integridad intermedia.
A continuación, en la operación S214, el valor ICVdev' de comprobación de integridad singular para el dispositivo de registro y reproducción calculado en la operación S213 y el valor ICVdev de comprobación de integridad incluido en la cabecera leída en la operación S202 se comparan entre sí, y si son iguales, el proceso continúa hasta la operación S217.
Por otra parte, en la operación S215, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor ICVt de comprobación de integridad total. El valor ICVt' de comprobación de integridad total se genera utilizando como clave la clave Ksys de firma de sistema almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción, para descifrar el valor de comprobación de integridad intermedio en base al proceso DES, como se muestra en la figura 25. Entonces, en la operación S216, se comparan entre sí el valor ICVt' de comprobación de integridad total generado y el valor ICVt en la cabecera, y si son iguales, el proceso continúa hasta la operación S217.
El valor ICVt de comprobación de integridad total y el valor ICVdev de comprobación de integridad singular para el dispositivo de registro y reproducción se utilizan para verificar que el valor A de comprobación de integridad, el valor B de comprobación de integridad (ICVb) y el valor de comprobación de integridad para cada bloque de contenido no se han manipulados. De este modo, si el valor de comprobación de integridad total generado por medio del proceso descrito anteriormente es igual al valor ICVt de comprobación de integridad total o al valor ICVdev de comprobación de integridad almacenado en la cabecera, se determina que no ha sido manipulado ninguno de los valores de comprobación de integridad para cada bloque de contenido.
A continuación, en la operación S217, la sección 301 de control del dispositivo 300 de registro y reproducción lee los datos de bloque del dispositivo 400 de registro. Adicionalmente, en la operación S218 se determina si los datos han sido o no cifrados, y si los datos han sido cifrados, la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción descifra los datos de bloque. Si los datos no han sido cifrados, el proceso salta a la operación S219 y avanza hasta la operación S220.
Entonces, en la operación S220, la sección 301 de control del dispositivo 300 de registro y reproducción comprueba si ha de verificarse algún bloque de contenido, en base a la tabla de información de bloques de contenido (BIT). Si ha de verificarse algún bloque de contenido, el valor de comprobación de integridad de contenido ha sido almacenado en la información de bloque de la cabecera. En este caso, se calcula en la operación S221 el valor ICVi de comprobación de integridad para este bloque de contenido. Si no ha de verificarse ningún bloque de contenido, el proceso se salta las operaciones S221 y S222 para avanzar hasta la operación S223.
Si el bloque ha sido cifrado como se ha descrito anteriormente en la figura 36, se genera el valor ICVi' de comprobación de integridad descifrando el bloque de contenido de entrada con la clave Kcon de contenido en el modo DES CBC, ejecutando la función lógica "O" exclusiva de todos los resultados cada ocho octetos para generar el valor intermedio de contenido, y se cifra a continuación el valor obtenido con la clave Kicvc de generación de valor de comprobación de integridad de contenido almacenada en la memoria interna 307 del dispositivo 300 de registro y reproducción. Adicionalmente, si el bloque no ha sido cifrado, se genera el valor de comprobación de integridad de contenido introduciendo secuencialmente como entrada los datos completos (texto claro) en la función de generación de valores de comprobación de manipulación que se muestra en la figura 36 (DES-CBC-MAC utilizando la clave Kicvc de generación de valor de comprobación de integridad de contenido) de tal modo que se introducen cada vez ocho octetos.
En la operación S222, la sección 306 de control de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción compara el valor ICVi' de comprobación de integridad generado con el valor ICVi de comprobación de integridad almacenado en el bloque de contenido recibido del dispositivo 400 de registro en la operación S202, y transfiere el resultado a la sección 301 de control del dispositivo 300 de registro y reproducción. Al recibir el resultado y si ha tenido éxito la verificación, se accede a los datos de texto claro de contenido para ejecución (reproducción) en la memoria de acceso aleatorio (RAM) del sistema del dispositivo de registro y reproducción en la operación S223. La sección 301 de control del dispositivo 300 de registro y reproducción extrae el siguiente bloque de contenido a verificar y hace que la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción verifique este bloque de contenido. Se repiten procesos de verificación y procesos de almacenamiento en memoria RAM similares hasta que se verifican todos los bloques de contenido (operación
S224).
Si los valores de comprobación no concuerdan en cualquiera de las operaciones S204, S210, S214, S216 y S222, se produce un error al final del proceso de reproducción.
Cuando se determina en la operación S224 que han sido leídos todos los bloques, el proceso continúa hasta la operación S225 para iniciar la ejecución y reproducción del contenido (programa o datos).
Han sido explicados los aspectos del proceso para reproducir datos de contenido del formato tipo 0.
A continuación, se explicará con referencia a la figura 43 el proceso para descargar datos de contenido del formato tipo 1. La siguiente descripción se centrará en las diferencias con respecto al proceso de descarga descrito anteriormente para el formato de tipo 0.
El procesamiento derivado de las operaciones S201 a S217 es similar al del proceso de descarga descrito anteriormente para el formato de tipo 0, de modo que se omite su descripción.
Para el tipo 1 de formato, en la operación S231 se descifran partes cifradas para generar una parte ICV. Adicionalmente, en la operación S232 se genera el valor ICVi' de comprobación de integridad de bloque. Como se ha descrito anteriormente, con el tipo 1 de formato, y si al menos una de las partes de un bloque contiene datos a verificar con el valor ICVi de comprobación de integridad, el valor ICVi de comprobación de integridad se define para este bloque. Si la parte j ha sido cifrada, se genera el valor P-ICVij de comprobación de integridad para una parte j de un bloque i mediante la ejecución de una función lógica "O" exclusiva sobre el texto claro completo (texto descifrado) cada ocho octetos y descifrando el valor obtenido con la clave Kicvc de generación de valor de comprobación de integridad de contenido. Adicionalmente, si la parte j no ha sido cifrada, se genera el valor P-ICVij de comprobación de integridad introduciendo secuencialmente los datos completos (texto claro) en la función de generación de valores de comprobación de manipulación representada en la figura 36 (DES-CBC-MAC utilizando la clave Kicvc de generación de valor de comprobación de integridad de contenido) de tal modo que se introducen cada vez ocho octetos.
Adicionalmente, si el bloque i contiene solamente una parte que tiene la condición [marca ICV = tema de ICV] que indica que ha de ser comprobada, el valor P-ICVij de comprobación de integridad generado utilizando el método anterior se utiliza directamente como valor ICVi de comprobación de integridad de bloque. Si el bloque i contiene una pluralidad de partes con la condición [marca ICV = tema de ICV] indicando que han de ser comprobadas, se genera el valor P-ICVij de comprobación de integridad conectando una pluralidad de valores P-ICVij de comprobación de integridad entre sí de acuerdo con los números de parte para obtener datos e introducir secuencialmente los datos completos (texto claro) en la función de generación de valores de comprobación de manipulación representada en la figura 36 (DES-CBC-MAC utilizando la clave Kicvc de generación de valor de comprobación de integridad de contenido), de tal modo que se introducen cada vez ocho octetos. Este es el mismo procedimiento que se ha explicado en la figura 37.
Para el tipo 1 de formato, el valor de comprobación de integridad de contenido generado por medio del procedimiento descrito anteriormente es sometido a comparación en la operación S222. El procesamiento en la siguiente operación S223 y operaciones subsiguientes es similar al aplicado para el tipo 0 de formato, de modo que se omitirá su descripción.
A continuación se explicará con referencia a la figura 44 el proceso para reproducir datos de contenido del tipo 2 de formato. La siguiente descripción se centrará en las diferencias con respecto a los procesos de reproducción descritos anteriormente para los tipos 0 y 2 de formato.
Las operaciones S201 a S210 son similares a las realizadas en los procesos de reproducción descritos anteriormente para los tipos 0 y 1 de formato, de modo que se omite su descripción.
Para el tipo 2 de formato, el procesamiento realizado en las operaciones S211 a S216, que se ha ejecutado para los tipos 0 y 1 de formato, no se ejecuta. Adicionalmente, el tipo 2 de formato no tiene valor de comprobación de integridad de contenido, de modo que no se ejecuta la verificación del valor de comprobación de integridad de contenido que se ejecuta para los tipos 0 y 1 de formato.
En el proceso de reproducción de datos para el tipo 2 de formato, después de la operación S210 para verificar el valor B de comprobación de integridad, el proceso continúa hasta la operación S217 en la que son leídos datos de bloque bajo el control de la sección 301 de proceso de criptografía del dispositivo 300 de registro y reproducción. Adicionalmente, en la operación S241, la sección 306 de proceso de criptografía del dispositivo 300 de registro y reproducción descifra la clave Kblc de bloque contenida en los datos de bloque. La clave Kblc de bloque almacenada en el dispositivo 400 de registro ha sido cifrada con la clave Kcon de contenido como se muestra en la figura 34 y es descifrada así con la clave Kcon de contenido descifrada en la operación anterior S207.
A continuación, en la operación S242, la clave Kblc de bloque descifrada en la operación S241 se utiliza para descifrar los datos de bloque. Adicionalmente, en la operación S243, el contenido (programa o datos) se ejecuta y reproduce. El procesamiento derivado de las operaciones S217 a S243 se repite para todos los bloques. Cuando se determina en la operación S244 que todos los bloques han sido leídos, el proceso de reproducción finaliza.
Como se ha descrito anteriormente, el proceso para el tipo 2 de formato omite el proceso para verificar el valor de comprobación de integridad, tal como el valor de comprobación de integridad total. Proporciona así una configuración adecuada para ejecutar el proceso de descifrado a alta velocidad y un formato adecuado para el procesamiento de datos, tales como datos musicales que requieren procesamiento en tiempo real.
A continuación, se describirá con referencia a la figura 45 el proceso para reproducir datos de contenido del tipo 3 de formato. La siguiente descripción se centrará en las diferencias con respecto al proceso de reproducción descrito anteriormente para los tipos 0, 1 y 2 de formato.
El proceso para el tipo 3 de formato tiene esencialmente muchas características en común con el correspondiente al tipo 2 de formato, pero difiere del mismo en que, como se ha descrito en la figura 35, el tipo 3 de formato no tiene clave de contenido porque la clave Kblc de bloque se almacenada en el dispositivo de registro después de la operación de descifrado con la clave Kstr de almacenamiento.
Entre las operaciones S201 y S210, el procesamiento en las operaciones S251, S252, S253 y S254 está configurado para omitir la utilización de la clave de contenido, al contrario del procesamiento correspondiente para los formatos 0, 1 y 2.
En la operación S251, la sección 301 de control del dispositivo 300 de registro y reproducción extrae, de la cabecera de lectura, la clave Kbit de tabla de información de bloques cifrada con la clave Kstr de almacenamiento singular para el dispositivo de registro y transmite entonces esta clave al dispositivo 400 de registro a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción.
Al recibir la clave Kbit de tabla de información de bloques transmitida por el dispositivo 300 de registro y reproducción, el dispositivo 400 de registro hace que la sección 406 de cifrado/descifrado de la sección 401 de proceso criptográfico del dispositivo de registro descifre los datos recibidos con la clave Kstr de almacenamiento singular para el dispositivo de registro que está almacenada en la memoria interna 405 de la sección 401 de proceso criptográfico del dispositivo de registro, y cifre nuevamente entonces los datos descifrados utilizando la clave Kses de sesión que se ha hecho compartible durante la autentificación mutua. Este proceso se realiza como se ha descrito anteriormente con detalle en la sección (9) Proceso de Intercambio de Claves después de la Autentificación Mutua.
En la operación S252, la sección 301 de control del dispositivo 300 de registro y reproducción recibe del dispositivo 400 de registro la clave Kbit de tabla de información de bloques cifrada nuevamente con la clave Kses de sesión, a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción.
A continuación, en la operación S253, la sección 301 de control del dispositivo 300 de registro y reproducción transmite la clave Kbit de tabla de información de bloques nuevamente cifrada con la clave Kses de sesión a la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción. Al recibir la clave Kbit de tabla de información de bloques recifrada con la clave Kses de sesión el bloque de contenido, la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción descifre esta clave Kbit de tabla de información de bloques con la clave Kses de sesión que se ha hecho compatible durante la autentificación mutua.
Adicionalmente, en la operación S208 se utiliza la clave Kbit de tabla de información de bloques para descifrar la información de bloque leída en la operación S202. La sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción sustituye la clave Kbit de tabla de información de bloques y la tabla de información de bloques por la clave Kbit de tabla de información de bloques y la tabla de información de bloques contenida en la cabecera leída en la operación S202, para retener la última. Adicionalmente, la sección 301 de control del dispositivo 300 de registro y reproducción lee la tabla de información de bloques descifrada de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y
reproducción.
Adicionalmente, en la operación S254, la sección 306 de control de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción genera el valor B de comprobación de integridad (ICVb') a partir de la clave Kbit de tabla de información de bloques y la tabla de información de bloques. El valor B de comprobación de integridad es generado, como se muestra en la figura 24, utilizando como clave la clave Kicvb de generación de valor B de comprobación de integridad almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción, para descifrar el valor de función lógica "O" exclusiva que comprende la clave Kbit de tabla de información de bloques y la tabla de información de bloques, en base al procedimiento DES. A continuación, en la operación S210, el valor B de comprobación de integridad y el contenido en la cabecera se comparan entre sí, y si son iguales, el proceso continúa hasta la operación S211.
Con el tipo 3 de formato, la clave de bloque se cifra adicionalmente con la clave Kstr de almacenamiento cuando está almacenada en el dispositivo de registro, requiriéndose así que el dispositivo 400 de registro ejecute un proceso de descifrado con la clave de almacenamiento y la clave Kses de sesión, y también que el dispositivo 300 de registro y reproducción ejecute un proceso de descifrado con la clave de sesión. Esta serie de operaciones corresponde a las operaciones de proceso que se muestran como operaciones S255 y S256.
En la operación S255, la sección 301 de control del dispositivo 300 de registro y reproducción extrae de la cabecera leída la clave Kblc de bloque cifrada con la clave Kstr de almacenamiento singular para el dispositivo de registro que ha sido leída en la operación S217, y transmite entonces esta clave al dispositivo 400 de registro a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción.
Al recibir la clave Kblc de bloque transmitida desde el dispositivo 300 de registro y reproducción, el dispositivo 400 de registro hace que la sección 406 de cifrado/descifrado de la sección 401 de proceso criptográfico del dispositivo de registro descifre los datos recibidos con la clave Kstr de almacenamiento singular para el dispositivo de registro que está almacenada en la memoria interna 405 de la sección 401 de proceso criptográfico del dispositivo de registro, y vuelva a cifrar entonces los datos descifrados utilizando la clave Kses de sesión que se ha hecho compartible durante la autentificación mutua. Este proceso se realiza como se ha descrito anteriormente con detalle en (9) Proceso de Intercambio de Claves después de la Autentificación Mutua.
En la operación S256, la sección 301 de control del dispositivo 300 de registro y reproducción recibe del dispositivo 400 de registro la clave Kblc de bloque recifrada con la clave Kses de sesión a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción.
A continuación, en la operación S257, la sección 306 de proceso de criptografía del dispositivo 300 de registro y reproducción descifra la clave Kblc de bloque utilizando la clave Kses de sesión.
Entonces, en la operación S242, la clave Kblc de bloque descifrada en la operación S257 se utiliza para descifrar los datos de bloque. Adicionalmente, en la operación S243, se repite el procesamiento desde la operación S217 hasta la S243 para todos los bloques. Cuando se determina en la operación S244 que se han leído todos los bloques, finaliza el proceso de reproducción.
Se ha descrito el proceso para reproducir un contenido del tipo 3 de formato. El tipo 3 de formato es similar al tipo 2 de formato en que se omite el proceso para verificar el valor de comprobación de integridad total, pero proporciona una configuración de procesamiento con un nivel de seguridad más alto debido a la inclusión del proceso para intercambiar la clave de bloque.
\vskip1.000000\baselineskip
(11) Proceso Ejecutado por el Proveedor de Contenidos para Generar el Valor (ICV) de Comprobación de Integridad
En las realizaciones descritas anteriormente, los procesos de verificación con los diversos valores de comprobación de integridad se ejecutan durante la descarga o reproducción de un contenido. Se describirán posteriormente aspectos del proceso para generar los valores de comprobación de integridad y el proceso de verificación.
En primer lugar, se describirá resumidamente el valor de comprobación de integridad explicado en las realizaciones. Se utilizan los siguientes valores de comprobación de integridad en el aparato de procesamiento de datos de acuerdo con el presente invento.
Valor A, ICVa: valor de comprobación de integridad para verificar que el identificador de contenido y la política de uso en los datos de contenido no se han manipulado.
Valor B, ICVb): valor de comprobación de integridad para verificar que la clave Kbit de tabla de información de bloques, la clave Knon de contenido y la tabla de información de bloques no se han manipulado.
Valor ICVi de comprobación de integridad: valor de comprobación de integridad para verificar que no se ha manipulado ninguno de los bloques de contenido del contenido.
Valor ICVt de comprobación de integridad total: valor de comprobación de integridad para verificar que el valor A de comprobación de integridad (ICVa), el valor B de comprobación de integridad (ICVb) y todos los valores de comprobación de integridad para los bloques de contenido no han sido manipulados.
Valor ICVdev de comprobación de integridad singular para el dispositivo de registro y reproducción: valor de comprobación de integridad que es sustituido por el valor ICVt de comprobación de integridad total si la marca indicadora de localización está puesta a 1, es decir el contenido puede ser utilizado solamente por un dispositivo de registro y reproducción particular y se genera como valor de comprobación de integridad para el valor A de comprobación de integridad (ICVa), el valor B de comprobación de integridad (ICVb), y el valor ICVi de comprobación de integridad contenido en cada bloque del contenido a comprobar.
Dependiendo del formato se comprueba no el valor de comprobación para cada bloque de contenido, sino el propio contenido mediante el valor ICVt de comprobación de integridad total y el valor ICVdev de comprobación de integridad.
Cada uno de los valores de comprobación de integridad anteriores se utiliza en el aparato de procesamiento de datos de acuerdo con el presente invento. De estos valores de comprobación de integridad, los valores A y B de comprobación de integridad, el valor de comprobación de integridad total, y el valor de comprobación de integridad de contenido, son generados por un proveedor de contenidos para suministrar datos de contenido, o por un gestor de contenidos en base a datos a verificar como se muestra, por ejemplo, en las figuras 32 a 35 y 6 y se almacenan en los datos junto con el contenido antes de ser suministrados a un usuario del dispositivo 300 de registro y reproducción. Cuando descarga o reproduce el contenido a o desde el dispositivo de registro, el usuario del dispositivo de registro y reproducción, es decir el usuario de contenidos, genera valores de comprobación de integridad de verificación en base a cada dato a verificar, para comparación con los valores de comprobación de integridad almacenados. Adicionalmente, el valor ICVdev de comprobación de integridad singular para el dispositivo de registro es sustituido por el valor ICVt de comprobación de integridad total y almacenado entonces en el dispositivo de registro si se muestra que el contenido puede ser utilizado solamente por este dispositivo de registro y reproducción.
En las realizaciones descritas anteriormente, los procesos para generar los valores de comprobación de integridad están basados principalmente en el procedimiento DES-CBC. Sin embargo, el presente invento no está limitado al método descrito anteriormente, sino que incluye diversos aspectos de generación de valores de comprobación de integridad y verificación. En particular, para la relación entre el proveedor o gestor de contenidos y el usuario de contenidos, son posibles las siguientes diversas configuraciones de proceso de generación de valores de comprobación de integridad y verificación.
Las figuras 46 a 48 son vistas útiles para explicar un proceso de generación ejecutado por un generador del valor de comprobación de integridad y un proceso de verificación ejecutado por un verificador.
La figura 46 muestra una configuración en la que, por ejemplo, un generador de valores de comprobación de integridad, que es un proveedor o gestor de contenidos, ejecuta el proceso para generar el valor de comprobación de integridad en base al procedimiento DES-CBC como se ha descrito en las realizaciones anteriores, y proporciona el valor de comprobación de integridad generado a un usuario de dispositivo de registro y reproducción, es decir un verificador junto con el contenido. En este caso, para el proceso de verificación, el usuario del dispositivo de registro y reproducción, es decir el verificador, requiere, por ejemplo, las claves almacenadas en la memoria interna 307 representada en la figura 18, para generar los correspondientes valores de comprobación de integridad. El verificador (usuario de dispositivo de registro y reproducción), que es el usuario de contenidos, utiliza la clave de generación de valores de comprobación de integridad almacenada en la memoria interna 307 para aplicar el procedimiento DES-CBC a los datos a verificar con el fin de generar los valores de comprobación de integridad, y compara a continuación estos valores con los valores de comprobación de integridad almacenados. En este caso, cada clave de generación de valores de comprobación de integridad está configurada para ser compartida en secreto por el creador de valores de comprobación de integridad y el verificador.
La figura 47 muestra una configuración en la que el creador de valores de comprobación de integridad, que es el proveedor o gestor de contenidos, genera valores de comprobación de integridad utilizando una firma digital de un criptosistema de clave pública y a continuación proporciona los valores de comprobación de integridad generados al usuario de contenidos, es decir al verificador, junto con el contenido, y en la que el usuario de contenidos, es decir el verificador, almacena la clave pública del creador de valores de comprobación de integridad y utiliza esta clave para verificar los valores de comprobación de integridad. En este caso, la clave pública del creador de valores de comprobación de integridad, que es retenida por el usuario de contenidos (usuario de dispositivo de registro y reproducción), es decir el verificador, no necesita ser secreta, lo cual da como resultado una gestión más fácil. Este aspecto es así adecuado para la generación y gestión de valores de comprobación de integridad ejecutadas con un nivel de gestión de seguridad más alto, por ejemplo, que el ejecutado en una entidad.
En la figura 48, el creador de valores de comprobación de integridad, que es el proveedor o gestor de contenidos, genera valores de comprobación de integridad utilizando una firma digital o un criptosistema de clave pública, proporcionando a continuación los valores de comprobación de integridad generados al usuario de contenidos, es decir al verificador junto con el contenido, y almacena además una clave pública utilizada por el verificador para verificación en un certificado de clave pública, (véase, por ejemplo, la figura 14), y proporciona entonces esta clave al usuario de dispositivo de registro y reproducción, es decir al verificador. Con una pluralidad de creadores de valores de comprobación de integridad, cada creador tiene un centro de gestión de claves para crear datos (un certificado de clave pública) para certificar la validez de la clave pública.
El usuario de contenidos, que es el verificador de valores de comprobación de integridad, tiene una clave pública del centro de gestión de claves. El verificador verifica el certificado de clave pública utilizando la clave pública del centro de gestión de claves, y extrae la clave pública del creador de valores de comprobación de integridad almacenada en el certificado de clave pública si se ha averiguado su validez. El verificador verifica adicionalmente los valores de comprobación de integridad utilizando la clave pública extraída del creador de valores de comprobación de integridad.
Este método es un aspecto útil si existe una pluralidad de creadores de valores de comprobación de integridad y si un centro para gestionar estos creadores tiene un sistema de gestión establecido.
(12) Configuración para Generar Claves de Proceso Criptográfico en Base a Claves Maestras
Se describirá posteriormente una configuración para generar diversas claves de proceso criptográfico en base a claves maestras, cuya configuración es característica del presente sistema de procesamiento de datos.
Como se ha descrito anteriormente con referencia a la figura 18, la memoria interna del dispositivo 300 de registro y reproducción en el presente aparato de procesamiento de datos almacena las diversas claves maestras, cada una de las cuales se utiliza, por ejemplo, para generar la clave Kate de autentificación (véase la ecuación 3) o la clave Kdis de distribución (véase la ecuación 4).
Cuando se realiza una comunicación criptográfica, autentificación mutua, generación de códigos de autentificación de mensajes, verificación, etc, entre dos entidades, es decir entre el proveedor de contenidos y el usuario de contenidos, o entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro en el presente aparato de procesamiento de datos, estas entidades convencionalmente guardan una información secreta común a ellas, por ejemplo información de claves. Adicionalmente, cuando se realiza el proceso anterior entre una y muchas entidades, por ejemplo un usuario de contenidos y muchos usuarios de contenidos, o entre un dispositivo de registro y reproducción y muchos medios de registro, estas entidades almacenan convencionalmente y retienen información secreta común a todas las entidades, es decir información secreta común a muchos usuarios de contenidos o muchos medios de registro, o bien un proveedor de contenidos gestiona individualmente y utiliza la información secreta (por ejemplo, la clave) para cada uno de muchos usuarios de contenidos.
Con la relación de una a muchas entidades descrita anteriormente, sin embargo, la información secreta perteneciente a la configuración (clave) compartida por todas las entidades es desventajosa por cuanto la fuga de la información secreta de una entidad afecta a todas las demás entidades que utilizan la misma información secreta. Adicionalmente, cuando un gestor, por ejemplo un proveedor de contenidos, gestiona y utiliza individualmente información secreta para cada usuario de contenidos, se requiere una lista que sirve para identificar a todos los usuarios y que asocia estos datos de identificación con información secreta singular (por ejemplo, claves), aumentando así ventajosamente la lista que mantiene y gestiona sobrecargas en proporción al número de usuarios.
El aparato de procesamiento de datos de acuerdo con el presente invento ha resuelto tal problema convencional en relación con la posibilidad de compartir la información secreta entre entidades utilizando una configuración para retener las claves maestras y generar a partir de ellas diversas claves individuales. Esta configuración se describirá posteriormente.
En el aparato de procesamiento de datos de acuerdo con el presente invento, si se requieren diferentes claves individuales para diversos procesos criptográficos, procesos de autentificación, etc, entre dispositivos de registro, medios que almacenan contenidos, o dispositivos de registro y reproducción, estas claves individuales son generadas utilizando información individual tal como datos de identificación (ID) singulares para los dispositivos o medios y un método de generación de claves individuales determinado previamente en el dispositivo 300 de registro y reproducción. Con esta configuración, si debe identificarse cualquier clave individual generada, podría evitarse el daño al sistema completo impidiendo la fuga de la correspondiente clave maestra. Adicionalmente, la configuración para generar las claves a partir de las claves maestras elimina la necesidad de la lista de asociación.
Se describirá con referencia a los dibujos un ejemplo específico de configuración. La figura 49 es una vista útil para explicar la configuración para generar diversas claves utilizando las diversas claves maestras retenidas por el dispositivo 300 de registro y reproducción. El medio 500 y los medios 600 de comunicación de la figura 49 introducen contenidos como en las realizaciones ya descritas. El contenido está cifrado por la clave Kcon de contenido, que está cifrada a su vez por la clave Kdis de distribución.
Por ejemplo, si el dispositivo 300 de registro y reproducción intenta extraer un contenido del medio 500 o de los medios 600 de comunicación y descargarlo al dispositivo 400 de registro, el dispositivo 300 de registro y reproducción debe obtener la clave Kdis de distribución que tiene cifrada la clave de contenido como se ha descrito anteriormente en las figuras 2 y 39 a 41. Aunque la clave Kdis de distribución puede obtenerse directamente del medio 500 o de los medios 600 de comunicación, o bien el dispositivo 300 de registro y reproducción puede obtenerla y almacenarla en su memoria de antemano, la configuración para distribuir tal clave a muchos usuarios puede experimentar fugas, lo cual puede afectar a todo el sistema, como se ha descrito anteriormente.
El aparato de procesamiento de datos de acuerdo con el presente invento está configurado para generar la clave Kdis de distribución aplicando una clave maestra MKdis para la clave de distribución almacenada en la memoria del dispositivo 300 de registro y reproducción, así como un proceso basado en el identificador de contenido, es decir Kdis = DES (MKdis, identificador de contenido), como se muestra en la parte inferior de la figura 49. En una configuración de distribución de contenidos entre un proveedor de contenidos que proporciona contenidos desde el medio 500 o desde los medios 600 de comunicación y el dispositivo 300 de registro y reproducción, que es un usuario de contenidos, a pesar de existir un gran número de proveedores de contenidos, esta configuración permite mantener un nivel de seguridad avanzado sin necesidad de distribuir las claves Kdis de distribución individuales a través del medio, los medios de comunicación, etc, y sin que sea necesario su almacenamiento en cada dispositivo 300 de registro y reproducción.
A continuación, se explicará la generación de la clave Kakae de autentificación. La descarga de un contenido desde el dispositivo 300 de registro y reproducción hasta el dispositivo 400 de registro como se ha descrito anteriormente en las figuras 22 y 39 a 41 o haciendo que el dispositivo 300 de registro y reproducción ejecute y reproduzca un contenido almacenado en el dispositivo 400 de registro como se ha descrito en las figuras 42 a 45, el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro deben ejecutar el proceso de autentificación mutua (véase la figura 20).
Como se ha descrito en la figura 20, este proceso de autentificación requiere que el dispositivo 300 de registro y reproducción tenga la clave Kake de autentificación. Aunque el dispositivo 300 de registro y reproducción puede obtener la clave de autentificación directamente, por ejemplo, del dispositivo 400 de registro o puede obtener y almacenar dicha clave en su memoria de antemano, la configuración para distribuir tal clave a muchos usuarios puede estar sometida a fugas, que pueden afectar a todo el sistema, como en la configuración descrita anteriormente para la clave de distribución.
El aparato de procesamiento de datos de acuerdo con el presente invento está configurado para obtener la clave Kake de autentificación aplicando una clave maestra Mkake para la clave de distribución almacenada en la memoria del dispositivo 300 de registro y reproducción, así como un proceso basado en el identificador IDmem del dispositivo de registro, es decir Kake = DES (Mkake, IDmem), como se muestra en la parte inferior de la figura 49.
Adicionalmente, en la descarga de un contenido desde el dispositivo 300 de registro y reproducción hasta el dispositivo 400 de registro como se ha descrito anteriormente en las figuras 22 y 39 a 41 o haciendo que el dispositivo 300 de registro y reproducción ejecute y reproduzca un contenido almacenado en el dispositivo 400 de registro como se ha descrito en la figura 28 y figuras 42 a 45, puede utilizarse una configuración similar a la de la clave de distribución o autentificación descrita anteriormente para la clave Kdev de firma de dispositivo de registro y reproducción requerida para generar el valor ICVdev de comprobación de integridad singular para el dispositivo de registro y reproducción si el contenido puede ser utilizado solamente por un dispositivo de registro y reproducción particular. En las realizaciones descritas anteriormente, la clave Kdev de firma de dispositivo de registro y reproducción está almacenada en la memoria interna, pero si la clave maestra Mkdev para la clave de firma del dispositivo de registro y reproducción está almacenada en la memoria mientras que la clave Kdev de firma de dispositivo de registro y reproducción no está almacenada en ella y si la clave Kdev de firma de dispositivo de registro y reproducción se obtiene por medio de la expresión Kdes = DES (MKdev, IDdev) en base a la información IDdev de identificación de dispositivo de registro y reproducción y la clave maestra Mkdev para la clave de firma del dispositivo de registro y reproducción, según se requiera, como se muestra en la parte inferior de la figura 49, entonces se hace innecesario ventajosamente que cada aparato tenga la clave Kdev de firma de dispositivo de registro y reproducción.
De este modo, el aparato de procesamiento de datos de acuerdo con el presente invento está configurado para generar secuencialmente a partir de las claves maestras y cada identificador, información tal como una clave que se requiere para el proceso de información criptográfica entre dos entidades tales como el proveedor y el dispositivo de registro y reproducción o el dispositivo de registro y reproducción y el dispositivo de registro. En consecuencia, incluso si la información de claves se fuga de cada entidad, el alcance del daño en que incurren las claves individuales está limitado adicionalmente, y se hace también innecesario gestionar listas de claves para las entidades individuales, como se ha descrito anteriormente.
Se explicará, mostrando un flujo de proceso, una pluralidad de procesos relativos a esta configuración. La figura 50 muestra ejemplos de un proceso ejecutado por el productor o gestor de contenidos para describir un contenido, o información similar, utilizando una clave maestra, y un proceso ejecutado por un dispositivo de usuario, por ejemplo el dispositivo 300 de registro y reproducción en la realización descrita anteriormente, para descifrar los datos cifrados utilizando la clave maestra.
En la operación S501, un productor o gestor de contenidos aplica un identificador (identificador de contenido) a un contenido. En la operación S502, el productor o gestor de contenidos genera una clave para cifrar un contenido en base a su clave maestra que posee y a un identificador de contenido. En esta operación, si ha de generarse la clave Kdis de distribución, se genera en base a la expresión descrita anteriormente Kdis = DES (MKdis, medium ID). A continuación en la operación S503, el productor o gestor de contenidos utiliza una clave (por ejemplo, la clave Kdis de distribución) para cifrar parte o la totalidad del contenido almacenado en el medio. El productor o gestor de contenidos suministra el contenido cifrado mediante estas operaciones, a través del medio, por ejemplo un DVD, los medios de comunicación, etc.
Por otra parte, en la operación S504, un dispositivo de usuario, tal como el dispositivo 300 de registro y reproducción, lee el identificador de contenido de los datos de contenido recibidos a través del medio (tal como un DVD), los medios de comunicación, etc. A continuación, en la operación S505, el dispositivo de usuario genera una clave aplicada para el descifrado del contenido cifrado en base al identificador de medio de lectura y a su propia clave maestra. Si ha de obtenerse la clave Kdis de distribución, este proceso de generación corresponde, por ejemplo, a la clave de distribución Kdis = DES (MKdis, medium ID). En la operación S506, el dispositivo de usuario usa esta clave para descifrar el contenido, y en la operación S507 utiliza, es decir reproduce, el contenido descifrado o ejecuta el programa.
En este ejemplo, como se muestra en la parte inferior de la figura 50, tanto el productor o gestor de contenidos como el dispositivo de usuario tienen la clave maestra (por ejemplo, la clave maestra MKdis de generación de claves de distribución) para generar secuencialmente la clave de distribución requerida para cifrar o descifrar el contenido en base a su propia clave maestra y cada identificador (identificador de medio).
Con este sistema, si la clave de distribución va a parar a una tercera persona, la tercera persona puede descifrar ese contenido, pero puede evitarse el descifrado de contenidos almacenados en otros medios con identificadores de contenido diferentes, minimizando así los efectos adversos de la fuga de una clave de contenido sobre todo el sistema. Adicionalmente, este sistema no requiere el dispositivo de usuario, es decir el dispositivo de registro y reproducción, para mantener una lista de asociación de claves para cada medio.
Se describirá con referencia a la figura 52 un ejemplo en el que el productor o gestor de contenidos retiene una pluralidad de claves maestras para ejecutar un proceso dependiendo de un destino de distribución de contenido.
La operación S511 ejecutada por el productor o gestor de contenidos comprende la asignación de un identificador al contenido (identificador de contenido). La operación S512 comprende la selección de una de una pluralidad de claves maestras (por ejemplo una pluralidad de claves maestras MKdis de generación de claves de distribución) retenidas por el productor o gestor de contenidos. Aunque se describe con más detalle con referencia a la figura 52, este proceso de selección comprende la activación de una clave maestra aplicada de antemano para cada uno de los países a los que pertenecen los usuarios de contenidos, cada tipo de aparato, o cada versión de aparato, y la ejecución de las claves maestras de acuerdo con las activaciones.
Entonces, en la operación S513 el productor o gestor de contenidos genera una clave de cifrado en base a la clave maestra seleccionada en la operación S512 y al identificador de contenido determinado en la operación S511. Si, por ejemplo, ha de generarse la clave Kdis de distribución, se genera en base a la expresión descrita anteriormente Kdis = DES (MKdis, medium ID). A continuación, en la operación S514, el productor o gestor de contenidos utiliza una clave (por ejemplo, la clave Kdis de distribución) para cifrar parte o la totalidad del contenido almacenado en el medio. En la operación S515, el productor o gestor de contenidos distribuye el contenido cifrado a través del medio, tal como un DVD, los medios de comunicación, etc, utilizando una unidad de información de distribución que comprende el identificador de contenido, la información de generación de claves maestras utilizada, y el contenido cifrado.
Por otra parte, en la operación S516, por ejemplo, el dispositivo de usuario, tal como un dispositivo 300 de registro y reproducción, determina si retiene o no la clave maestra correspondiente al identificador de clave maestra en los datos de contenido distribuidos por el medio, tal como un DVD, o por los medios de comunicación. Si no tiene la clave maestra correspondiente al identificador de clave maestra en los datos de contenido, el contenido distribuido no puede ser utilizado por este dispositivo de usuario y el proceso finaliza.
Si el dispositivo de usuario tiene la clave maestra correspondiente al identificador de clave maestra en los datos de contenido, entonces en la operación S517 lee el identificador de contenido de los datos de contenido recibidos a través del medio, los medios de comunicación, etc. A continuación, en la operación S518, el dispositivo de usuario genera una clave aplicada para el descifrado del contenido cifrado en base al identificador de contenido de lectura y su clave maestra retenida. Este proceso se describe como clave de distribución Kdisi = DES (Mkdisi, contents ID) si se pretende obtener una clave Kdisi de distribución. En la operación S519, se descifran los contenidos por medio de la clave. En la operación S520, se utilizan los contenidos descifrados, es decir se realiza la reproducción o se ejecuta el programa.
En este ejemplo, como se muestra en la parte inferior de la figura 51, el productor o gestor de contenidos tiene un conjunto de claves maestras que comprende una pluralidad de claves maestras, por ejemplo, claves maestras MKdis de generación de claves de distribución de 1 a n. Por otra parte, el dispositivo de usuario tiene una clave maestra, por ejemplo una clave maestra KKdisi de generación de claves de distribución, de modo que puede descifrar el contenido solamente cuando el productor o gestor de contenidos ha utilizado la clave KKdisi para el cifrado.
La figura 52 muestra un ejemplo en el que se aplican claves maestras que varían dependiendo del país, como ejemplo específico del aspecto expuesto en el flujo ilustrado en la figura 51. El proveedor de contenidos tiene claves maestras MK1 a n, de las cuales se utiliza la clave MK1 para generar claves para cifrar contenidos distribuidos a dispositivos de usuario para Japón. Por ejemplo, se genera una clave K1 de cifrado a partir de un identificador de contenido y la clave MK1 y entonces el usuario cifra un contenido. Las claves maestras MK1 a MKn se definen adicionalmente de tal modo que la clave MK2 se utiliza para generar claves para cifrar contenidos distribuidos a dispositivos de usuario para U.S., y la clave MK3 se utiliza para generar claves para cifrar contenidos distribuidos a dispositivos de usuario para EU (Europa).
Por otra parte, para dispositivos de usuario para Japón, específicamente dispositivos de registro y reproducción tales como computadores personales o aparatos de juegos comercializados en Japón, la clave maestra MK1 se almacena en sus memorias internas, para dispositivos de usuario de U.S. la clave maestra MK2 se almacena en sus memorias internas, y para dispositivos de usuario de EU, se almacena en sus memorias internas la clave maestra
MK3.
Con esta configuración, el proveedor de contenidos utiliza selectivamente una de las claves maestras MK1 a MKn dependiendo de los dispositivos de usuario que puedan utilizar un contenido, con el fin de cifrar el contenido a distribuir a los dispositivos de usuario. Por ejemplo, para permitir que el contenido sea utilizado solamente por los dispositivos de usuario para Japón, se utiliza para cifrar el contenido la clave maestra K1 generada utilizando la clave maestra MK1. El contenido cifrado puede descifrarse utilizando la clave maestra MK1 almacenada en los dispositivos de usuario para Japón, es decir, permite generar una clave de descifrado, mientras que la clave K1 no puede obtenerse a partir de las claves maestras MK2 y MK3 almacenadas en los dispositivos de usuario para U.S. y EU, respectivamente, evitándose así que se descifre el contenido cifrado.
De este modo, el proveedor de contenidos puede utilizar selectivamente una pluralidad de claves maestras para establecer la localización de diversos contenidos. La figura 52 muestra un ejemplo en el que las diferentes claves maestras se utilizan para los diferentes países a los cuales pertenecen los dispositivos de usuario, pero son posibles diversas formas de uso; por ejemplo, la clave maestra puede conmutarse dependiendo del tipo del dispositivo de usuario o de su versión, como se ha descrito anteriormente.
A continuación, la figura 53 muestra un ejemplo de un proceso en el que se combinan un identificador singular para un medio, es decir un identificador de medio y una clave maestra. En este caso, el medio se refiere, por ejemplo, a discos DVD o CD en los cuales se almacenan contenidos. El identificador de medio puede ser singular para medios individuales, para los títulos de contenidos tales como películas, o bien para lotes de fabricación de medios individuales. De este modo, pueden asignarse de diversas maneras los identificadores de medio.
En la operación S52, un productor o gestor de medios determina para un medio un identificador (identificador de medio). En la operación S522, el productor o gestor de medios genera una clave para cifrar un contenido almacenado en el medio en base a su propia clave maestra y un identificador de medio. En esta operación, si ha de generarse, por ejemplo, la clave Kdis de distribución, se genera en base a la expresión descrita anteriormente Kdis = DES (MKdis, médium ID). A continuación, en la operación S523, el productor o gestor de medios utiliza una clave (por ejemplo, la clave Kdis de distribución) para cifrar parte o la totalidad del contenido almacenado en el medio. El productor de medios suministra el medio que almacena el contenido cifrado mediante estas operaciones.
Por otra parte, en la operación S524, un dispositivo de usuario, tal como el dispositivo 300 de registro y reproducción, lee el identificador de medio del medio suministrado. A continuación, en la operación S525, el dispositivo de usuario genera una clave aplicada al descifrado del contenido cifrado en base al identificador de medio de lectura y su propia clave maestra. Si ha de obtenerse la clave Kdis de distribución, este proceso de generación corresponde, por ejemplo, a la clave de distribución Kdis = DES (MKdis, médium ID). En la operación S526, el dispositivo de usuario utiliza esta clave para descifrar el contenido, y en la operación S527 utiliza, o sea reproduce, el contenido descifrado o ejecuta el programa.
En este ejemplo, como se muestra en la parte inferior de la figura 53, tanto el productor o gestor de medios como el dispositivo de usuario tienen la clave maestra (por ejemplo, la clave maestra MKdis de generación de claves de distribución) para generar secuencialmente la clave de distribución requerida para cifrar o descifrar el contenido en base a su propia clave maestra y a cada identificador de medio.
Con este sistema, si cualquier clave de medio pasa a una tercera persona, la tercera persona puede descifrar el contenido almacenado en el medio, pero puede evitarse el descifrado de contenidos almacenados en otros medios con identificadores de medio diferentes, haciéndose así mínimos los efectos adversos de la fuga de una clave de medio sobre todo el sistema.
Adicionalmente, este sistema no requiere el dispositivo de usuario, es decir el dispositivo de registro y reproducción, para retener una lista de asociación de claves para cada medio. Además, el tamaño de un contenido cifrado con una clave de medio está limitado a la capacidad que puede almacenarse en ese medio, de modo que es poco probable que el contenido alcance el volumen de información requerido para atacar el texto cifrado, reduciéndose así la posibilidad de descifrar el texto cifrado.
A continuación, la figura 54 muestra un ejemplo de un proceso en el que se combinan un identificador singular para el dispositivo de registro y reproducción, es decir un identificador de dispositivo de registro y reproducción, y una clave maestra.
En la operación S531, un usuario de un dispositivo de registro y reproducción genera una clave para cifrar un contenido o información similar en base a una clave maestra y a un identificador de dispositivo de registro y reproducción almacenado, por ejemplo, en la memoria interna del dispositivo de registro y reproducción. Por ejemplo, si ha de obtenerse la clave Kcon de contenido, este proceso corresponde a la expresión Kcon = DES (MKcon, identificador de dispositivo de registro y reproducción). Entonces, en la operación S532, el usuario utiliza una clave (por ejemplo, la clave Kcon de contenido de distribución) para descifrar el contenido. En la operación S533, el usuario almacena el contenido cifrado en el dispositivo de registro y reproducción, por ejemplo un disco
duro.
Por otra parte, cuando el usuario del dispositivo de registro y reproducción que ha almacenado el contenido solicita la recuperación de los datos almacenados, un gestor de sistema para gestionar el dispositivo de registro y reproducción lee el identificador del dispositivo de registro y reproducción del dispositivo de registro y reproducción. A continuación, en la operación S535, el gestor de sistema genera una clave aplicada para la recuperación del contenido cifrado en base al identificador del dispositivo de registro y reproducción de lectura y a su propia clave maestra. Si ha de obtenerse la clave Kcon de contenido, este proceso de generación corresponde, por ejemplo, a la clave de contenido Kcon = DES (MKcon, identificador de dispositivo de registro y reproducción). En la operación S536, el dispositivo de usuario utiliza esta clave para descifrar el contenido.
En este ejemplo, como se muestra en la parte inferior de la figura 54, tanto el usuario del dispositivo de registro y reproducción como el gestor de sistema tienen la clave maestra (por ejemplo, la clave maestra MKcon de generación de claves de contenido) para generar secuencialmente las claves de distribución requeridas para cifrar o descifrar el contenido en base a su propia clave maestra y a cada identificador (identificador del dispositivo de registro y reproducción).
Con este sistema, si se produce una fuga de la clave de contenido a una tercera persona, la tercera persona puede descifrar ese contenido, pero puede evitarse el descifrado de contenidos almacenados en otros medios con diferentes identificadores de dispositivo de registro y reproducción, haciéndose así mínimos los efectos adversos de la fuga de una clave de contenido sobre todo el sistema. Adicionalmente, este sistema no requiere el gestor de sistema o el dispositivo de usuario para retener una lista de asociación de claves para cada medio.
La figura 55 muestra una configuración en la que se genera en base a una clave maestra una clave de autentificación utilizada para un proceso de autentificación mutua entre un dispositivo esclavo, por ejemplo el dispositivo de registro y reproducción, tal como una tarjeta de memoria, y un dispositivo central, por ejemplo, el dispositivo de registro y reproducción. Aunque en el proceso de autentificación descrito anteriormente (véase la figura 20), la clave de autentificación se almacena en la memoria interna del dispositivo esclavo de antemano, puede generarse durante el proceso de autentificación en base a la clave maestra como se muestra en la figura 55.
Por ejemplo, en la operación S541 el dispositivo esclavo, es decir el dispositivo de registro, genera, como proceso de inicialización antes de iniciarse el proceso de autentificación, la clave Kake de autentificación para utilización en el proceso de autentificación mutua en base a la clave maestra y un identificador de dispositivo esclavo que se almacena en la memoria interna del dispositivo esclavo, es decir el dispositivo de registro. La clave de autentificación se genera en base a la expresión Kake = DES (MKake, identificador de dispositivo esclavo). A continuación, en la operación S542 se almacena en la memoria la clave de autentificación generada.
Por otra parte, en la operación S543, el dispositivo de alojamiento, tal como el dispositivo de registro y reproducción, lee el identificador de dispositivo esclavo del dispositivo de registro instalado, es decir a través del dispositivo esclavo a través de los medios de comunicación. A continuación, en la operación S544, el dispositivo de alojamiento genera una clave de autentificación aplicada a un proceso de autentificación mutua en base al identificador de dispositivo esclavo de lectura y a su propia clave maestra de generación de claves de autentificación. Este proceso de generación corresponde, por ejemplo, a la clave de autentificación Kake = DES (MKake, identificador de dispositivo esclavo). En la operación S545, se utiliza esta clave de autentificación para ejecutar el proceso de
autentificación.
En este ejemplo, como se muestra en la parte inferior de la figura 55, tanto el dispositivo esclavo como el dispositivo maestro tienen la clave maestra, es decir la clave maestra Mkake de generación de claves de autentificación, para generar secuencialmente la clave de distribución requerida para el proceso de autentificación en base a su propia clave maestra y al identificador de dispositivo esclavo.
Con este sistema, si se produce una fuga de la clave de autentificación a una tercera persona, la clave de autentificación es efectiva solamente en el correspondiente dispositivo esclavo y la autentificación no se establece con otros dispositivos esclavos, haciendo así mínimos los efectos adversos de la fuga de la clave.
Como se ha descrito anteriormente, el aparato de procesamiento de datos de acuerdo con el presente invento está configurado de modo que se requiere la información, tal como la clave, para el procedimiento del proceso de información criptográfica entre las dos entidades, tales como el proveedor de contenidos y el dispositivo de registro y reproducción, o el dispositivo de registro y reproducción y el dispositivo de registro. De este modo, incluso si la información de clave experimenta una fuga de cada entidad, el margen de los daños en que incurren las claves individuales está limitado adicionalmente, y se hace así también innecesario gestionar listas de claves para entidades individuales, como se ha descrito anteriormente.
(13) Control de Intensidad Criptográfica en el Proceso Criptográfico
En las realizaciones descritas anteriormente, el proceso criptográfico entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro se describe principalmente en combinación con el proceso que utiliza el proceso criptográfico en base a la configuración singular DES descrita con referencia a la figura 7. El método de proceso de cifrado aplicado al presente aparato de procesamiento de datos no está limitado al procedimiento DES simple descrito anteriormente, sino que puede utilizarse cualquier método de cifrado dependiendo del estado de seguridad requerido.
Por ejemplo, es aplicable el método DES triple configurado como se muestra en las figuras 8 a 10 descritas anteriormente. Por ejemplo, tanto la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción, como la sección 401 de proceso criptográfico del dispositivo de registro del dispositivo 400 de registro que se muestran en la figura 3, pueden estar configuradas para ejecutar el método DES triple de modo que pueda ejecutarse un proceso que corresponda al proceso criptográfico en base al método DES triple descrito en las figuras 8 a 10.
El proveedor de contenidos, sin embargo, puede asignar la prioridad más alta a la velocidad de procesamiento dependiendo del contenido para utilizar una clave Kcon de contenido de 64 bits en base al método DES simple, o puede asignar la prioridad máxima a la seguridad para utilizar una clave Kcon de contenido de 192 bits en base al método DES triple. Consiguientemente, no es preferible configurar la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción y la sección 401 de proceso criptográfico del dispositivo de registro del dispositivo 400 de registro para su adaptación solamente a uno de los métodos DES triple o simple. Por consiguiente, la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción y la sección 401 de proceso criptográfico del dispositivo de registro del dispositivo 400 de registro están configuradas deseablemente para su adaptación a ambos métodos DES triple y simple.
Sin embargo, para configurar la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción y la sección 401 de proceso criptográfico del dispositivo 400 de registro para ejecutar ambos métodos DES triple y simple, diferentes circuitos y sistemas lógicos deben estar configurados para estas secciones de proceso criptográfico. Por ejemplo, para hacer posible que el dispositivo 400 de registro ejecute un proceso correspondiente al algoritmo DES triple, deben almacenarse un conjunto de órdenes para el método DES triple en el registro de órdenes que se muestra en la figura 29. Esto puede complicar la sección de procesamiento configurada en el dispositivo 400 de registro.
De este modo, para el presente aparato de procesamiento de datos, se propone una configuración en la que la lógica de la sección 401 de proceso criptográfico del dispositivo de registro del dispositivo 400 de registro está configurada para adaptarse al procedimiento DES simple, mientras que se ejecuta un proceso correspondiente al procedimiento DES triple para almacenar datos (claves, contenidos, etc) cifrados en base al método DES triple, en la memoria externa 402 del dispositivo de registro.
Por ejemplo, en el ejemplo del tipo 0 de formato representado en la figura 32, cuando se descargan datos de contenido del el dispositivo 300 de registro y reproducción al dispositivo 400 de registro, el proceso de autentificación se ejecuta en la operación S101 en la figura 39 descrita anteriormente que muestra el flujo de datos de descarga del tipo 0 de formato, y se genera la clave Kses de sesión. Adicionalmente, en la operación S117, la sección 302 de proceso criptográfico del dispositivo 300 de registro y reproducción cifra la clave Kcon de contenido con la clave Kses de sesión y transmite la clave cifrada al dispositivo 400 de registro a través de los medios de comunicación. En la operación S118, la sección 403 de proceso criptográfico del dispositivo 400 de registro, que ha recibido la clave cifrada, descifra la clave Kcon de contenido con la clave Kses de sesión, la cifra adicionalmente con la clave Kstr de almacenamiento, y transmite la clave resultante a la sección 302 de proceso criptográfico del dispositivo 300 de registro y reproducción. El dispositivo 300 de registro y reproducción forma a continuación un formato de datos (operación S212) y transmite datos formateados al dispositivo 400 de registro, y el dispositivo 400 de registro almacena los datos recibidos en la memoria externa 402.
Si el proceso criptográfico ejecutado por la sección 401 de proceso criptográfico del dispositivo 400 de registro entre las operaciones S117 y S118 está configurado para ejecutar selectivamente el método DES simple o el método DES triple, la sección de proceso criptográfico trabaja sobre si el proveedor de contenidos proporciona datos de contenido utilizando la clave Kcon de contenido de acuerdo con el método DES triple o el método DES simple.
La figura 56 muestra un diagrama de flujo útil para explicar una configuración para ejecutar el método de proceso criptográfico de acuerdo con el algoritmo DES triple, utilizando tanto la sección 302 de proceso criptográfico del dispositivo 300 de registro y reproducción como la sección 401 de proceso criptográfico del dispositivo 400 de registro. La figura 56 muestra un ejemplo de un proceso para cifrar la clave Kcon de contenido con la clave Kstr de almacenamiento, cuyo proceso se ejecuta en la descarga de datos de contenido del dispositivo 300 de registro y reproducción al dispositivo 400 de registro, en cuyo proceso la clave Kcon de contenido se basa en el método DES triple. En este caso, se muestra el ejemplo del proceso para la clave Kcon de contenido, pero pueden procesarse similarmente otras claves u otros datos tales como datos de contenido.
El método DES triple utiliza dos o tres claves de tal modo que se utiliza una clave de 64 bits para el método DES simple, mientras que se utiliza una clave de 128 o 192 bits para el método DES triple, como se ha descrito anteriormente en las figuras 8 a 10. Se hace referencia a estas tres claves Kcon de contenido como Kcon 1, Kcon2 y (Kcon3). La clave Kcon3 se muestra entre paréntesis porque puede no ser utilizada.
Se explicará el proceso de la figura 56. En la operación S301, se realiza el proceso de autentificación mutua entre el dispositivo 300 de registro y reproducción y el dispositivo 400 de registro. Esta operación de proceso de autentificación mutua se ejecuta durante el proceso ilustrado en la figura 20 descrita anteriormente. Durante este proceso de autentificación, se genera la clave Kses de sesión.
Una vez que se ha completado el proceso de autentificación en la operación S301, se cotejan los valores de comprobación de integridad que incluyen los valores A y B de comprobación de integridad, el valor de comprobación de integridad de contenido, y el valor de comprobación de integridad total.
Cuando se han cotejado todos los valores de comprobación de integridad y se ha determinado que ningún dato ha sido manipulado, el proceso continúa hasta la operación S303 en la que la sección 306 de control de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción utiliza la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción así como la clave Kdis de distribución obtenida o generada anteriormente, para descifrar la clave Kcon de contenido almacenada en la sección de cabecera de los datos obtenidos del medio 500 o recibidos de los medios 600 de comunicación a través de la sección 305 de comunicación. La clave de contenido en este caso es una clave del tipo DES triple, tal como las claves Kcon1, Kcon2 y (Kcon3) de contenido.
A continuación, en la operación S304, la sección 306 de control de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción cifre solamente la clave Kcon1 de contenido de las claves Kcon1, Kcon2 y (Kcon3) de contenido descifradas en la operación S303, utilizando la clave Kses de sesión que se ha hecho compartible durante la autentificación mutua.
La sección 301 de control del dispositivo 300 de registro y reproducción lee datos que contienen la clave Kcon1 de contenido cifrada con la clave Kses de sesión, extrayéndolos de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción. La sección 301 de control transmite entonces estos datos al dispositivo 400 de registro a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción.
A continuación, en la operación S305, al recibir la clave Kcon1 de contenido transmitida desde el dispositivo 300 de registro y reproducción, el dispositivo 400 de registro hace que la sección 406 de cifrado/descifrado de la sección 401 de proceso criptográfico del dispositivo de registro descifre la clave Kcon1 de contenido recibida utilizando la clave Kses de sesión que se ha hecho compartible durante la autentificación mutua. Adicionalmente, en la operación S306, el dispositivo 400 de registro hace que la sección 406 de cifrado/descifrado vuelva a cifrar la clave de contenido descifrada con la clave Kstr de almacenamiento singular para el dispositivo de registro que está almacenada en la memoria interna 405 del dispositivo de procesamiento criptográfico de dispositivo de registro, y transmite a continuación la clave recifrada al dispositivo 300 de registro y reproducción as través de la sección 404 de comunicación.
A continuación, en la operación S307, la sección 306 de control de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción cifre solamente la clave Kcon2 de contenido de las claves Kcon1, Kcon2 y (Kcon3) de contenido descifradas en la operación S303, utilizando la clave Kses de sesión que se ha convertido en compartible durante la autentificación mutua.
La sección 301 de control del dispositivo 300 de registro y reproducción lee datos que contienen la clave Kcon2 de contenido cifrada con la clave Kses de sesión, extrayendo dichos datos de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción. La sección 301 de control transmite entonces estos datos al dispositivo 400 de registro a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción.
A continuación, en la operación S308, al recibir la clave Kcon2 de contenido transmitida por el dispositivo 300 de registro y reproducción, el dispositivo 400 de registro hace que la sección 406 de cifrado/descifrado de la sección 401 de proceso criptográfico del dispositivo de registro descifre la clave Kcon2 de contenido recibida utilizando la clave Kses de sesión que se ha hecho compartible durante el proceso de autentificación mutua. Adicionalmente, en la operación S309, el dispositivo 400 de registro hace que la sección 406 de cifrado/descifrado vuelva a cifrar la clave de contenido descifrada con la clave Kstr de almacenamiento singular para el dispositivo de registro que está almacenada en la memoria interna 405 de la sección 401 de proceso criptográfico del dispositivo de registro, y transmite a continuación la clave nuevamente cifrada al dispositivo 300 de registro y reproducción a través de la sección 404 de comunicaciones.
A continuación, en la operación S310, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción cifre solamente la clave Kcon3 de contenido de las claves Kcon1, Kcon2 y (Kcon3) de contenido descifradas en la operación S303, utilizando la clave Kses de sesión que se ha hecho compartible durante la autentificación mutua.
La sección 301 de control del dispositivo 300 de registro y reproducción lee datos que contienen la clave Kcon3 de contenido cifrada con la clave Kses de sesión, extrayendo dichos datos de la sección 302 de proceso criptográfico del dispositivo de registro y reproducción del dispositivo 300 de registro y reproducción. La sección 301 de control transmite entonces estos datos al dispositivo 400 de registro a través del controlador 303 de dispositivo de registro del dispositivo 300 de registro y reproducción.
A continuación, en la operación S311, al recibir la clave Kcon3 de contenido transmitida por el dispositivo 300 de registro y reproducción, el dispositivo 400 de registro hace que la sección 406 de cifrado/descifrado de la sección 401 de proceso criptográfico del dispositivo de registro descifre la clave Kcon3 de contenido recibida utilizando la clave Kses de sesión hecha compartible durante la autentificación mutua. Adicionalmente, en la operación S312, el dispositivo 400 de registro hace que la sección 406 de cifrado/descifrado cifre nuevamente la clave de contenido descifrada con la clave Kstr de almacenamiento singular para el dispositivo de registro que está almacenada en la memoria interna 405 de la sección 401 de proceso criptográfico del dispositivo de registro, y transmite a continuación la clave nuevamente cifrada al dispositivo 300 de registro y reproducción a través de la sección 404 de
comunicaciones.
A continuación, en la operación S313, la sección de proceso criptográfico del dispositivo de registro y reproducción forma los diversos formatos de datos descritos en las figuras 32 a 35 y transmite dichos formatos al dispositivo 400 de registro.
Finalmente, en la operación S314, el dispositivo 400 de registro almacena los datos formateados recibidos en la memoria externa 402. Estos datos de formato contienen las claves Kcon1, Kcon2 y (Kcon3) de contenido cifradas con la clave Kstr de almacenamiento.
Este proceso permite que las claves de contenido almacenadas en el dispositivo 400 de registro se almacenen como claves basadas en el criptosistema de procedimiento DES triple. Si solamente se utilizan dos claves Kcon1 y Kcon2 de contenido, se omite el procesamiento desde la operación S310 hasta la operación S312.
Como se ha descrito anteriormente, el dispositivo 400 de registro puede almacenar en la memoria las claves con el método DES triple aplicado a las mismas repitiendo el procesamiento del mismo aspecto, es decir las operaciones de proceso correspondientes a los pasos S305 y S306 varias veces cambiando solamente el objetivo. Si se aplica el método DES simple a las claves Kcon de contenido, pueden ejecutarse las operaciones S305 y S306 para realizar el proceso de formateo en la operación S313 antes de almacenar las claves en la memoria. Tal configuración puede almacenar órdenes para ejecutar el procesamiento que se realiza en las operaciones S305 y S306 en el registro de órdenes de la figura 29 anteriormente descrita y ejecutar este procesamiento de una a tres veces dependiendo del aspecto de la clave, es decir de si la clave está basada en el método DES triple o en el método DES simple. Consiguientemente, el proceso basado en ambos métodos DES triple y simple pueden ser ejecutados sin que esté contenido el método DES triple en la lógica de proceso del dispositivo 400 de registro. Con respecto a esto, el criptosistema puede estar registrado en la política de uso de la sección de cabecera de los datos de contenido para ser determinado haciendo referencia a la política de uso.
(14) Proceso de Activación de Programa basado en Prioridad de Activación en la Política de Uso de los Datos de Contenido
Como se comprende por las configuraciones de los datos de datos de contenido en las figuras 4 a 6 descritas anteriormente, la política de uso almacenada en la sección de cabecera de los datos de contenido utilizados en el presente aparato de procesamiento de datos contiene el tipo de contenido y la prioridad de activación. Con una pluralidad de datos de contenido accesibles registrados en diversos medios de registro, tales como el dispositivo 400 de registro, un DVD, un CD, un disco duro o un cartucho de juegos, el dispositivo 300 de registro y reproducción del presente aparato de procesamiento de datos determina el orden en el cual se activan estos contenidos, de acuerdo con la prioridad de activación.
El dispositivo 300 de registro y reproducción ejecuta la autentificación mutua con diversos dispositivos de registro, tales como un dispositivo DVD de un dispositivo de registro, un dispositivo de unidad de CD, y un dispositivo de unidad de disco duro, y ejecuta entonces el programa de los datos de contenido con la prioridad máxima de acuerdo con la prioridad de los datos de contenido. Se explicará a continuación el "Proceso de Activación de Programa Basado en Prioridad de Activación en la Política de Uso de los Datos de Contenido".
La anterior descripción del aparato de procesamiento de datos se centra en el proceso ejecutado si el dispositivo 300 de registro y reproducción reproduce y ejecuta datos de contenido del dispositivo 400 de registro. Sin embargo, el dispositivo 300 de registro y reproducción está configurado en general para acceder, además de al dispositivo 400 de registro, a un DVD, a un CD y a un disco duro a través de la sección 304 de lectura así como a un medio de registro tal como una tarjeta de memoria y un cartucho de juegos que se conectan a través de unidades PIO111 o SIO112. En la figura 2, solamente se describe una sección 304 de lectura con el fin de evitar la complicación del dibujo, y el dispositivo 300 de registro y reproducción puede tener diferentes medios de registro, por ejemplo un DVD, un CD, un disco flexible y un disco duro instalados en el mismo en paralelo.
El dispositivo 300 de registro y reproducción puede acceder a una pluralidad de medios de registro, cada uno de los cuales almacena datos de contenido. Los datos de contenido suministrados por un proveedor de contenidos externo, tal como un CD, se almacenan en el medio en la configuración de datos representada en la figura 4 descrita anteriormente o en cada medio de registro, tal como una tarjeta de memoria, con la configuración de datos de contenido ilustrada en las figuras 26 o 28 si los datos se extraen del medio o se descargan a través de los medios de comunicación. Además, específicamente los datos de contenido están almacenados en el medio y en el dispositivo de registro en formatos diferentes dependiendo del tipo de formato de los mismos, como se muestra en las figuras 32 a 35. En cualquier caso, el procesamiento de información en la cabecera de los datos de contenido incluye el tipo de contenido y la prioridad de activación.
Se explicará de acuerdo con el flujo de procesamiento un proceso ejecutado por el dispositivo de registro y reproducción para activar un contenido si está accesible una pluralidad de datos de contenido.
La figura 57 muestra un diagrama de flujo de proceso que representa un ejemplo (1) de un proceso en el que existe una pluralidad de contenidos que pueden ser activados. En la operación S611, se autentifican los dispositivos de registro que son accesibles para el dispositivo 300 de registro y reproducción. Los dispositivos de registro accesibles incluyen una tarjeta de memoria, un dispositivo DVD, una unidad de CD, un dispositivo de disco duro, y un cartucho de juegos, etc, que están conectados al sistema, por ejemplo, a través de unidades PIO111 o SIO112. Cada dispositivo de registro es autentificado bajo control de la sección 301 de control representada en la figura 2, por ejemplo, de acuerdo con el procedimiento explicado anteriormente en la figura 20.
A continuación, en la operación S612, los programas que pueden ser activados se detectan a partir de los datos de contenido almacenados en la memoria del dispositivo de registro autentificado con éxito. Específicamente, esto se ejecuta como proceso de extracción de contenidos para el cual el tipo de contenido en la política de uso de los datos de contenido indica un programa.
A continuación, en la operación S613, se determina la prioridad del programa que puede activarse y que se ha extraído en la operación S612. Específicamente, esto pertenece a un proceso de comparación de las prioridades contenidas en las políticas de uso de las cabeceras de la pluralidad de datos de contenido que pueden activarse en la operación S612, para seleccionar la prioridad máxima.
A continuación, en la operación S614 se activa el programa seleccionado. Si la pluralidad de programas que pueden activarse tienen la misma prioridad, se establecen prioridades por defecto para los dispositivos de registro, de modo que se ejecuta el programa de contenido almacenado en el dispositivo que tiene la prioridad máxi-
ma.
La figura 58 muestra un ejemplo (2) de un proceso en el que se establecen identificadores para una pluralidad de dispositivos de registro, de modo que se ejecutan secuencialmente los procesos de autentificación y recuperación de un programa de contenido para los dispositivos de registro con los identificadores, es decir un proceso para una pluralidad de contenidos que pueden activarse.
En la operación S621, los dispositivos de registro (i) instalados en el dispositivo 300 de registro y reproducción son autentificados. Se asignan secuencialmente identificadores 1 a n a una pluralidad de (n) dispositivos 400 de regis-
tro.
En la operación S622 se determina si ha tenido o no éxito el proceso de autentificación realizado en la operación S621, y si es así, el proceso continúa hasta la operación S623 en la que los programas que pueden activarse se recuperan de los medios de registro de los dispositivos de registro (i). Si ha fallado la autentificación, el proceso continúa hasta la operación S627 en la que se determina si existe o no un nuevo dispositivo de registro del cual puede recuperarse un contenido. En ausencia de tal dispositivo de registro, el proceso finaliza, y en otro caso el proceso avanza hasta la operación S628 para actualizar el identificador i de dispositivo de registro y repetir la operación S621 y las operaciones subsiguientes del proceso de autentificación.
En la operación S623, se detectan programas que pueden ser activados a partir de los datos de contenido almacenados en los dispositivos de registro (i). Específicamente, esto se ejecuta como proceso de extracción de contenidos para los cuales el tipo de contenido incluido en la política de uso de los datos de contenido indica un programa.
En la operación S624 se determina si ha sido extraído o no el contenido que, según indica el tipo de contenido, es un programa. Si han sido extraídos tales contenidos, se selecciona en la operación 626 uno de los programas extraídos que tiene la prioridad máxima, y el programa seleccionado se ejecuta en la operación S626.
Si se determina en la operación S624 que no se ha extraído ningún contenido del cual el tipo de contenido es un programa, el proceso continúa hasta la operación S627 para determinar si existe o no un nuevo dispositivo de registro del cual pueda recuperarse un contenido. Sin tal dispositivo de registro, el proceso se finaliza, y en otro caso el proceso continúa hasta la operación S628 para actualizar el identificador i de dispositivo de registro y repetir la operación S621 y las operaciones subsiguientes del proceso de autentificación.
La figura 59 muestra un diagrama de flujo que ilustra un ejemplo de un proceso para una pluralidad de contenidos que pueden activarse. En la operación S651, se autentifican los dispositivos de registro que son accesibles para el dispositivo 300 de registro y reproducción. Se autentifican dispositivos accesibles tales como un DVD, una unidad de CD, un dispositivo de disco duro, un cartucho de juegos, etc. Cada dispositivo de registro es autentificado bajo control de la sección 301 de control representada en la figura 2, por ejemplo de acuerdo con el procedimiento explicado anteriormente en la figura 20.
A continuación, en la operación S652, se detectan programas que pueden activarse a partir de los datos de contenido almacenados en la memoria del dispositivo de registro autentificado con éxito. Específicamente, esto se ejecuta como proceso de extracción de contenidos para los cuales el tipo de contenido incluido en la política de uso de los datos de contenido indica un programa.
A continuación, en la operación S653, se visualiza en medios de visualización información tal como el nombre del programa que puede activarse y que ha sido extraído en la operación S652. Aunque los medios de visualización no se representan en la figura 2, se aplican datos de audio/vídeo como salida a los medios de visualización (no representados). Se almacena información proporcionada al usuario, tal como un nombre de programa para cada uno de los datos de contenido, en el identificador de contenido de los datos de contenido, de modo que se aplica a los medios de salida información de programa tal como un nombre de programa para cada dato de contenido autentificado, a través de la sección 301 de control, bajo control de la unidad principal 106 central de procesamiento representada en la figura 2.
A continuación, en la operación S654, la unidad principal 106 central de procesamiento recibe la entrada de selección de programa del usuario de los medios de entrada, tales como la interfaz de entrada, un controlador, un ratón, o un teclado representado en la figura 2, a través de la interfaz 110, y en la operación S655 ejecuta el programa seleccionado de acuerdo con la entrada de selección.
Como se ha descrito anteriormente, en el aparato de procesamiento de datos de acuerdo con el presente invento, la información de prioridad de activación de programa está almacenada en la política de uso en la cabecera de los datos de contenido de modo que el dispositivo 300 de registro y reproducción activa programas de acuerdo con esta prioridad o los medios de visualización visualizan información de programa activado de la cual el usuario selecciona un programa deseado. Esta configuración elimina la necesidad de que el usuario recupere programas para ahorrar tiempo y trabajo que se requieren para la activación. Adicionalmente, los programas que pueden activarse se activan después que todos los dispositivos de registro han sido autentificados o han mostrado que corresponden a tales programas, eliminándose así la complicación del proceso, tal como la necesidad de validar un programa después de su selección.
(15) Configuración de Contenido y Proceso de Reproducción (Descompresión)
En el aparato de procesamiento de datos de acuerdo con el presente invento, el dispositivo 300 de registro y reproducción descarga un contenido del medio 500 o de los medios 600 de comunicación o reproduce datos del dispositivo 400 de registro, como se ha descrito anteriormente. La anterior descripción se centra en el procesamiento de datos cifrados asociados con la descarga o reproducción de un contenido.
La sección 301 de control del dispositivo 300 de registro y reproducción de la figura 3 controla en general procesos de autentificación, cifrado y descifrado asociados con la descarga o reproducción de datos de contenido del medio 500, tal como un DVD, que proporciona datos de contenido de los medios 600 de comunicación o del dispositivo de registro.
Son contenidos reproductibles resultantes de estos procesos, por ejemplo, datos de sonido o imagen, etc. Los datos descifrados proporcionados por la sección 301 de control se ponen bajo control de la unidad principal 106 central de procesamiento representada en la figura 2 y se aplican como salida a la sección de salida de audio/vídeo dependiendo de los datos de sonido o imagen, etc. Sin embargo, si el contenido consiste, por ejemplo, en datos de sonido que han sido comprimidos en el formato MP3, un decodificador de MP3 en la sección de salida de audio/vídeo representada en la figura 2 descifra y presenta en su salida los datos de sonido. Adicionalmente, si los datos de contenido son imágenes que han sido comprimidas en el formato MPEG2, un decodificador de MP2 en la sección de salida de audio/vídeo descomprime y presenta como salida los datos de imagen. De este modo, los datos incluidos en los datos de contenido pueden haber sido o no comprimidos (codificados) y son presentados como salida después de ser procesados dependiendo del contenido.
Sin embargo, debido a diversos tipos de programas de procesamiento de compresión y descompresión, incluso si el proveedor de contenidos proporciona datos comprimidos, estos datos no pueden ser reproducidos sin un programa de ejecución de proceso de descompresión correspondiente.
De este modo, el presente invento describe un aparato de procesamiento de datos en el que datos comprimidos y un programa de procesamiento de descifrado (descompresión) están almacenados en un contenido de datos o en información de enlace para los datos comprimidos, y el programa de descifrado (descompresión) para estos datos está almacenado como información de cabecera en los datos de contenido.
La figura 60 es una vista obtenida simplificando elementos de la vista general del sistema de procesamiento de datos representado en la figura 2 que se refiere a esta configuración. El dispositivo 300 de registro y reproducción recibe diversos contenidos del medio 500, por ejemplo de un DVD o un CD, de los medios 600 de comunicación, o del dispositivo 400 de registro (tal como una tarjeta de memoria que almacena contenidos). Estos contenidos incluyen diversos datos tales como datos de sonido, imágenes fijas, datos de imagen con animación, y datos de programa que han sido o no cifrados o comprimidos.
Si el contenido recibido ha sido cifrado, el proceso de descifrado se ejecuta utilizando un método tal como se ha descrito anteriormente y en base al control de la sección 301 de control y al proceso criptográfico realizado por la sección 302 de proceso criptográfico. Los datos descifrados son transferidos a la sección 109 de procesamiento de audio/vídeo bajo control de la unidad principal 106 central de procesamiento, donde los datos se almacenan en una memoria 3090 de la sección 109 de procesamiento de audio/vídeo. A continuación, la sección 3091 de análisis de contenidos analiza la configuración del contenido. Si, por ejemplo, está almacenado en el contenido un programa de descompresión de datos, está almacenado en una sección 3093 de almacenamiento de programas. Si el contenido incluye datos de sonido o imagen, etc, estos datos se almacenan en la sección 3092 de almacenamiento de datos. Una sección 3094 de proceso de descompresión utiliza un programa de procesamiento de descompresión, tal como el MP3, que está almacenado en la sección 3093 de almacenamiento de programas, para descomprimir datos comprimidos almacenados en la sección 3092 de almacenamiento de datos. Los datos son aplicados entonces como salida a altavoces 3001 o a un monitor 3002.
A continuación, se explicarán algunos ejemplos de configuraciones de datos recibidos por sección 109 de procesamiento de audio/vídeo a través de la sección 301 de control y mediante los procesos pertinentes. En este caso, se mostrarán datos de sonido como ejemplo de un contenido, y se describirá como programa de compresión representativo un contenido con el programa MP3 aplicado. Esta configuración, sin embargo, es aplicable a datos de imagen así como a datos de sonido, y no solamente al programa de proceso de descompresión MP3, sino que también pueden aplicarse para ello otros diversos programas de este tipo para MPEG2 o MPEG4.
La figura 61 muestra un ejemplo de la configuración de un contenido. Esta figura representa datos musicales 6102 comprimidos por medio de un programa 6101 de proceso de cifrado MP3 y descifrado MP3 (descompresión), que están integrados conjuntamente en un contenido. Tales contenidos se almacenan cada uno en el medio 500 del dispositivo 400 de registro y son distribuidos por los medios 600 de comunicación como un solo contenido. Si estos contenidos han sido cifrados como se ha descrito anteriormente, el dispositivo 300 de registro y reproducción utiliza la sección 303 de procesamiento criptográfico para descifrar el contenido y realiza a continuación una transferencia del mismo a la sección 109 de procesamiento de audio/vídeo.
La sección 3091 de análisis de contenidos de la sección 109 de procesamiento de audio/vídeo analiza el contenido recibido, extrae una sección de programa de descompresión de datos de sonido (decodificador MP3) del contenido, que comprende una sección de programa de descompresión de datos de sonido (decodificador MP3) y una sección de datos de sonido comprimidos, y almacena esta información en la sección 3093 de almacenamiento de programa mientras almacena los datos de sonido comprimidos en la sección 3092 de almacenamiento de datos. La sección 3091 de análisis de contenidos puede recibir información, tal como un nombre de contenido o información de configuración de contenido además del contenido, o analizar el contenido en base a datos de identificación tales como un nombre de datos u otros datos tales como una longitud de datos o una configuración de datos que están incluidos todos en el contenido. A continuación, una sección 3094 de procesamiento de compresión y descompresión descomprime los datos de sonido comprimidos en MP3 almacenados en la sección 3092 de almacenamiento de datos de acuerdo con el programa de descompresión de datos de sonido (decodificador MP3) almacenado en la sección 3093 de almacenamiento de programas. La sección 109 de procesamiento de audio/vídeo presenta entonces en su salida los datos de salida comprimidos para los altavoces 3001.
La figura 62 muestra un diagrama de flujo que representa un ejemplo de un proceso para reproducir datos de la configuración de contenido de la figura 61. En la operación S671, se extrae una denominación de datos almacenada en la memoria 3090 de la sección 109 de procesamiento de audio/vídeo, por ejemplo información tal como el título de una composición musical presente si el contenido corresponde a datos de sonido, de la información recibida independientemente del contenido o de datos del contenido, y se visualiza a continuación en el monitor 3002. En la operación S672, se recibe la selección del usuario de uno de los diversos medios de entrada tales como los conmutadores y el teclado, a través de la interfaz 110, y se emite entonces una orden de proceso de reproducción en los datos de entrada de usuario para la sección 109 de procesamiento de audio/vídeo bajo control de la unidad principal 106 central de procesamiento. En la operación S673, la sección 109 de procesamiento de audio/vídeo extrae y descomprime datos seleccionados por el usuario.
A continuación, la figura 63 muestra un ejemplo de una configuración en la que un contenido incluye indistintamente los datos de sonido comprimidos o el programa de procesamiento de descompresión e incluye también información de contenido que indica lo que el contenido incluye como información de cabecera para cada contenido.
Como se muestra en la figura 63, si el contenido es un programa 6202, este contenido incluye como información 6201 de cabecera información de identificación de contenido que indica que este segmento es un programa y que el tipo de programa ha de ser descomprimido en MP3. Por otra parte, si están incluidos datos 6204 de sonido como contenido, la información de contenido en la cabecera 6203 indica que los datos han sido comprimidos en MP3. Esta información de cabecera puede configurarse seleccionando solamente información requerida para reproducción de los datos contenidos en la política de uso (véase la figura 5) en la configuración de datos de contenido descrita anteriormente ilustrada, por ejemplo, en la figura 4, y añadiendo esta información al contenido transferido a la sección 109 de procesamiento de audio/vídeo. Específicamente, se añaden valores de identificación para datos de política de uso requeridos para la sección 302 de proceso criptográfico del dispositivo de registro y reproducción y para datos requeridos para la sección 109 de procesamiento de audio/vídeo durante el proceso de reproducción, a cada segmento de datos constituyente de la "política de uso" ilustrada en la figura 5, y solamente se extraen como información de cabecera datos que indican que estos valores de identificación se requieren para la sección 109 de procesamiento de audio/vídeo.
Al recibir cada contenido ilustrado en la figura 63, la sección 3091 de análisis de contenidos de la sección 109 de procesamiento de audio/vídeo almacena, de acuerdo con la información de cabecera, un contenido de programa en la sección 3093 de almacenamiento de programa si el contenido es un programa o en la sección 3092 de almacenamiento de datos si el contenido corresponde a datos. Posteriormente, la sección 3094 de procesamiento de compresión y descompresión extrae los datos de la sección de almacenamiento de datos y los descomprime de acuerdo con el programa MP3 almacenado en la sección 3093 de almacenamiento de programa antes de dar salida a los datos descomprimidos. Si la sección 3093 de almacenamiento de programa tiene el mismo programa ya almacenado en ella, puede omitirse el proceso de almacenamiento de programa.
La figura 64 representa un diagrama de flujo que muestra un ejemplo de un proceso para reproducir datos de la configuración de contenido de la figura 63. En la operación S675, se extrae una denominación de datos almacenada en la memoria 3090 de la sección 109 de procesamiento de audio/vídeo, por ejemplo información tal como el título de una composición musical presente si el contenido corresponde a datos de sonido, de la información recibida independientemente del contenido o de la cabecera del contenido, y se visualiza a continuación en el monitor 3002. En la operación S676, se recibe la selección del usuario de uno e los diversos medios de entrada tales como conmutadores y el teclado a través de la interfaz 110.
A continuación, en la operación S677, se recupera un programa de reproducción de datos (por ejemplo, un programa MP3) correspondiente a la selección del usuario. El rango máximo de esta recuperación de programa se ajusta preferiblemente como rango de acceso posible del dispositivo 300 de registro y reproducción y, por ejemplo, están incluidos en el rango de recuperación el medio 500, los medios 600 de comunicación, y el dispositivo 400 de registro representado en la figura 60.
Solamente el contenido transferido a la sección 109 de procesamiento de audio/vídeo es la sección de datos, mientras que el contenido de programa puede estar almacenado en otro medio de registro en el dispositivo 300 de registro y reproducción o puede ser proporcionado por el proveedor de contenidos a través de un medio tal como un DVD o un CD. Consiguientemente, el rango de recuperación se ajusta como rango de acceso posible del dispositivo 300 de registro y reproducción. Cuando se encuentra un programa de reproducción como resultado del proceso de recuperación, se emite una orden de proceso de reproducción en base a los datos de entrada del usuario, a la sección 109 de procesamiento de audio/vídeo bajo control de la unidad principal 106 central de procesamiento. En la operación S679, la sección 109 de procesamiento de audio/vídeo extrae y descomprime datos dependiendo de la selección del usuario. En otra realización, la recuperación de programa se ejecuta antes de la operación S675 de modo que solamente se visualizan en la operación S675 los datos en los cuales ha sido detectado el programa.
A continuación, la figura 65 muestra un ejemplo de una configuración en la que un contenido incluye datos 6303 de sonido comprimidos y un programa 6302 de proceso de descompresión e incluye adicionalmente una prioridad de reproducción de contenido como información 6301 de cabecera para ello. Este es un ejemplo de la configuración de contenido anterior ilustrada en la figura 61 con la prioridad de reproducción añadida como información de cabecera. Como en la sección descrita anteriormente "(14) Proceso de Activación de Programa en Base a Prioridad de Activación en la Política de Uso en los Datos de Contenido", el orden de reproducción se determina en base a una prioridad de reproducción ajustada entre los contenidos recibidos por la sección 109 de procesamiento de audio/vídeo.
La figura 66 representa un diagrama de flujo que muestra un ejemplo de un proceso para reproducir datos de la configuración de contenido de la figura 65. En la operación S681, se ponen en una lista de recuperación datos almacenados en la memoria 3090 de la sección 109 de procesamiento de audio/vídeo, es decir información de datos correspondiente a datos a reproducir. La lista de recuperación se establece utilizando algunas áreas de la memoria en la sección 109 de procesamiento de audio/vídeo. A continuación, en la operación S682, la sección 3091 de análisis de contenidos de la sección 109 de procesamiento de audio/vídeo selecciona datos de prioridad máxima, y en la operación S683 reproduce los datos seleccionados.
A continuación, la figura 67 representa un ejemplo de una configuración en la que un contenido comprende una combinación de información de cabecera y datos 6402 de programa o información 6403 de cabecera y datos comprimidos 6404, y en la que se añade solamente una prioridad de reproducción a la información 6403 de cabecera del contenido de datos.
La figura 68 representa un diagrama de flujo que muestra un ejemplo de un proceso para reproducir datos de la configuración de contenido de la figura 67. En la operación S691, se ponen en una lista de recuperación datos almacenados en la memoria 3090 de la sección 109 de procesamiento de audio/vídeo, es decir información de datos para datos a reproducir. La lista de recuperación se establece utilizando algunas áreas de la memoria en la sección 109 de procesamiento de audio/vídeo. A continuación, en la operación S692, la sección 3091 de análisis de contenidos de la sección 109 de procesamiento de audio/vídeo selecciona datos de prioridad máxima.
A continuación, en la operación S693, se recupera un programa de reproducción de datos (por ejemplo, el MP3), correspondiente a la selección del usuario. Como en el proceso del diagrama de flujo de la figura 64, el rango máximo de esta recuperación de programa se ajusta preferiblemente como rango de acceso posible del dispositivo 300 de registro y reproducción y, por ejemplo, el medio 500, los medios 600 de comunicación, y el dispositivo 400 de registro representado en la figura 60, están incluidos en el rango de recuperación.
Cuando se encuentra un programa de reproducción como resultado del proceso de recuperación (respuesta SI en la operación S694), los datos seleccionados son descomprimidos y reproducidos utilizando el programa obtenido como resultado de la recuperación.
Por otra parte, si no se encuentra ningún programa como resultado de la recuperación (respuesta SI en la operación S694), el proceso continúa hasta la operación S696 para eliminar los datos restantes contenidos en la lista de recuperación establecida en la operación S691 que deben ser reproducidos utilizando el mismo programa. Esto se debe a que es evidente que un nuevo intento de recuperar un programa de reproducción de estos datos falla. Adicionalmente, cuando se determina si la lista de recuperación está o no vacía y se determina que no está vacía, el proceso retorna a la operación S692 para extraer datos del siguiente nivel de prioridad más alto para ejecutar el proceso de recuperación del programa.
De este modo, de acuerdo con esta configuración, si el contenido comprimido se construye con su programa de descifrado (descompresión) o comprende solamente datos obtenidos comprimiendo el contenido o solamente a partir del programa del proceso de descompresión, puesto que tiene la información de cabecera que indica qué datos comprimidos incluye el contenido o qué proceso ejecuta el contenido, la sección de proceso (por ejemplo, la sección de proceso AV) que recibe el contenido utiliza el programa de proceso de descompresión asociado a los datos comprimidos con el fin de ejecutar el proceso de descompresión y reproducción o recupera el programa de descompresión y reproducción en base a la información de cabecera incluida en los datos comprimidos para ejecutar el proceso de descompresión y reproducción de acuerdo con el programa obtenido como resultado de la recuperación. Esto elimina la necesidad de procesos ejecutados por el usuario, tales como la selección y recuperación del programa de descompresión de datos para reducir sobrecargas en el usuario, permitiendo así una reproducción de datos eficiente. Además, la configuración que tiene la prioridad de reproducción en la cabecera permite que el orden de reproducción se establezca automáticamente para permitir al usuario la omisión de la operación de establecer el orden de reproducción.
En las realizaciones descritas anteriormente, el programa MP3 se toma como ejemplo de un programa de proceso de descompresión para contenidos de datos de sonido comprimidos, pero esta configuración es aplicable también a contenidos que incluyen datos comprimidos o un programa de proceso de descompresión para datos de imagen comprimidos y produce en este caso efectos similares.
(16) Generación de Datos a Guardar y Almacenamiento y Reproducción de los mismos en y desde el Dispositivo de Registro
Si, por ejemplo, el contenido ejecutado en el dispositivo 300 de registro y reproducción es un programa de juegos o similar y si el programa de juegos ha de reanudarse en un período de tiempo predeterminado después de una suspensión, el estado del juego en el momento de la suspensión se guarda, es decir se almacena en el dispositivo de registro para ser leído al reanudarse el juego para permitir que continúe este último.
En dispositivos convencionales de registro y reproducción para aparatos de juego, computadores personales, etc, se crea una configuración de preservación de grabación de datos con tal configuración a fin de preservar la grabación de datos en un medio de registro tal como una tarjeta de memoria, un disco flexible, un cartucho de juegos o un disco duro, que puedan estar incorporados al dispositivo de registro y reproducción o asociados externamente al mismo. En particular, sin embargo, estos dispositivos de registro y reproducción no tienen configuración para mantener la seguridad de los datos guardados y realizar el proceso de grabación utilizando, por ejemplo, especificaciones comunes al programa de aplicación de juegos.
De este modo, los datos guardados utilizando un dispositivo A de registro y reproducción pueden utilizarse o ser reinscritos por otro programa de juegos; se ha prestado poca atención a la seguridad de los datos guardados.
El aparato de procesamiento de datos de acuerdo con el presente invento proporciona una configuración que puede mantener la seguridad de los datos guardados. Por ejemplo, los datos a guardar para un cierto programa de juegos se cifran en base a información utilizada solamente por este programa de juegos antes de ser almacenados en el dispositivo de registro. Alternativamente, los datos a guardar se cifran en base a información singular para el dispositivo de registro y reproducción antes de ser almacenados en el dispositivo de registro. Estos métodos permiten que la utilización de los datos guardados se limite a aparatos o programas particulares para mantener la seguridad de los datos. Se explicará a continuación el proceso de "Generación de Datos a Guardar y Almacenamiento y Reproducción de los mismos a y desde el Dispositivo de Registro" en el presente aparato de procesamiento de datos.
La figura 69 es un diagrama de bloques útil para explicar un proceso de almacenamiento de datos a guardar en el presente aparato de procesamiento de datos. Es proporcionado un contenido procedente del medio 500, tal como un DVD o CD, o de los medios 600 de comunicación, al dispositivo 300 de registro y reproducción. El contenido proporcionado ha sido cifrado con la clave Kcon de contenido, que es una clave singular para el contenido como se ha descrito anteriormente, y el dispositivo 300 de registro y reproducción obtiene esta clave de acuerdo con el proceso descrito anteriormente en la sección "(7) Proceso para la Descarga del Dispositivo de Registro y Reproducción al Dispositivo de Registro" (véase la figura 22)), para descifrar el contenido cifrado, y la almacena entonces en el dispositivo 400 de registro. La siguiente descripción se refiere a un proceso ejecutado por el dispositivo 300 de registro y reproducción para descifrar un programa de contenido del medio o medios de comunicación, reproducir y ejecutar este programa, y almacenar a continuación los datos a guardar obtenidos en uno de los diversos dispositivos 400A, 400B y 400B, por ejemplo una tarjeta de memoria externa o incorporada y un disco duro para reproducción, o para descargar un contenido en el dispositivo 400A de registro, reproducir y ejecutar el contenido del dispositivo 400A de registro, y almacenar los datos a guardar resultantes en un dispositivo 400 de registro para almacenar los datos a guardar en cualquiera de los diversos dispositivos 400A, 400B y 400B de registro, tales como una tarjeta de memoria externa o incorporada y un disco duro para reproducción de los datos a guardar.
El dispositivo 300 de registro y reproducción tiene el identificador IDdev del dispositivo de registro y reproducción, la clave Ksys de firma de sistema, que es una clave de firma compartida por todo el sistema, la clave Kdev de firma de dispositivo de registro y reproducción, que es singular para los dispositivos de registro y reproducción individuales, y las claves maestras para generar diversas claves individuales, como se ha descrito anteriormente. Las claves maestras son utilizadas para generar, por ejemplo, la clave Kdis de distribución o la clave Kake de autentificación, como se ha descrito con detalle en la sección "(12) Configuración para Generar Claves de Proceso Criptográfico en base a Claves Maestras". En este caso, el tipo de la clave maestra no está limitado particularmente, pero una clave que representa las claves maestras del dispositivo 300 de registro y reproducción está indicada por MKx. La figura 69 muestra un ejemplo de la clave criptográfica Ksav para datos a guardar en su parte inferior. La clave criptográfica Ksav para datos a guardar es utilizada por el proceso de cifrado ejecutado para almacenar datos a guardar en uno de los diversos dispositivos 400A a 400C de registro y para procesos de descifrado ejecutados para reproducir estos datos de dichos dispositivos. Se explicarán a continuación con referencia a la figura 70 y siguientes los procesos para almacenar y reproducir datos a guardar.
La figura 70 es un diagrama de flujo de un proceso de almacenamiento de datos a guardar en uno de los dispositivos 400A a 400C de registro utilizando indistintamente la clave singular de contenido o la clave común de sistema. El proceso en cada secuencia de flujo es ejecutado por el dispositivo 300 de registro y reproducción, y el dispositivo 400 de registro que almacena los datos a guardar en cada secuencia de flujo puede ser cualquiera de los dispositivos 400A a 400C de registro externos y no está limitado a ningún dispositivo particular.
En la operación S701, el dispositivo 300 de registro y reproducción lee el identificador de contenido, por ejemplo el identificador de juego. Este identificador consiste en los datos incluidos en la información de identificación en los datos de contenido representados en las figuras 4, 26, 27 y 32 a 35 descritas anteriormente. Al recibir una orden para el almacenamiento de datos a guardar a través de la interfaz 110 ilustrada en la figura 2, la unidad principal 106 central de procesamiento ordena a la sección 301 de control leer el identificador de contenido.
La sección 301 de control extrae la información de identificación de la cabecera de los datos de contenido a través de la sección de lectura si el programa de ejecución es un contenido de un DVD, un CD-ROM, etc, que se ejecuta a través de la sección 304 de lectura, o extrae dicho contenido a través del controlador 303 de dispositivo de registro si el programa de ejecución es un contenido almacenado en el dispositivo 400 de registro. Si el dispositivo 300 de registro y reproducción está ejecutando el programa de contenido y el identificador de contenido ha sido ya almacenado en una memoria RAM u otro medio de registro accesible en el dispositivo 300 de registro y reproducción, la información de identificación contenida en los datos cargados puede utilizarse sin ejecutar un nuevo proceso de lectura.
Entonces, en la operación S702, el proceso se modifica dependiendo de si el programa ha de ser o no localizado. La localización de programa se utiliza para establecer si se añade o no una limitación que permite guardar datos para ser utilizados solamente por este programa; para permitir que los datos a guardar sean utilizados solamente por este programa, la respuesta a "Localización de Programa" se pone en "SI", y para evitar que el uso de los datos quede limitado a este programa, dicha respuesta se pone en "NO". Este criterio puede ser establecido arbitrariamente por el usuario o puede ser fijado y almacenado en el programa de contenido por el productor de contenido, y la localización fijada se almacena en uno de los dispositivos 400A a 400C de registro de la figura 69 como archivo de gestión de datos.
La figura 11 muestra un ejemplo del fichero de gestión de datos. El fichero de gestión de datos se genera como tabla que contiene entradas que incluyen números de datos, identificadores de contenido, identificadores de dispositivo de registro y reproducción, y localización de programa. El identificador de contenido consiste en datos de identificación para un programa de contenido para el cual se guardan datos. El identificador de dispositivo de registro y reproducción indica un dispositivo de registro y reproducción que tiene almacenados los datos a guardar, y en la figura 69 se muestra un ejemplo del mismo (IDdev). La localización de programa se pone en "SI" con el fin de permitir que los datos a guardar sean utilizados solamente por este programa o en "NO" para evitar que la utilización de los datos quede limitada a este programa. La localización de programa puede ser ajustada arbitrariamente por el usuario que utiliza el programa de contenido o puede ser fijada y almacenada en el programa de contenido por el productor de contenido.
Con referencia a la figura 70, se explicará continuamente el flujo de proceso. Si la localización de programa está puesta en "SI" en la operación S702, el proceso continúa hasta la operación S703. En la operación S703 se lee de los datos de contenido la clave singular para el contenido, por ejemplo la clave Kcon de contenido, y se utiliza como clave criptográfica Ksav de datos a guardar, o bien la clave criptográfica Ksav de datos a guardar se genera en base a la clave singular de contenido.
Por otra parte, si la localización de programa está activada a "NO" en la operación S702, el proceso continúa hasta la operación S707. En la operación S707 la clave común de sistema almacenada en el dispositivo 300 de registro y reproducción, por ejemplo la clave Ksys de firma del sistema, se lee de la memoria interna 307 del dispositivo 300 de registro y reproducción y se utiliza como clave criptográfica Ksav de datos a guardar, o bien la clave criptográfica Ksav de datos a guardar se genera en base a la clave Ksys de firma del sistema. Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves que se ha guardado independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción.
A continuación, en la operación S704, la clave criptográfica Ksav de datos a guardar seleccionada o generada en las operaciones S703 o S707 se utiliza para ejecutar un proceso para cifrar datos a guardar. Este proceso de cifrado es ejecutado por la sección 302 de proceso criptográfico aplicando, por ejemplo, el algoritmo DES descrito anteriormente.
Los datos a guardar cifrados en la operación S704 se almacenan en el dispositivo de registro en la operación S705. Si existe una pluralidad de dispositivos de registro que pueden almacenar datos a guardar, como se muestra en la figura 69, el usuario selecciona de antemano uno de los dispositivos 400A a 400C de registro como destino de almacenamiento de los datos a guardar. Adicionalmente, en la operación S706, la localización de programa establecida en la operación S702, es decir en los estados "SI" o "NO", se inscribe en el fichero de gestión de datos descrito con referencia a la figura 71.
Se completa así el proceso para almacenar los datos a guardar. En la operación S702, se impide que sean descifrados por programas de contenido que no tienen información de clave singular de contenido los datos a guardar para los cuales se ha seleccionado "Si" para la localización de programa en la operación S702 y que son cifrados en la operación S703 con la clave criptográfica Ksav de datos a guardar generada en base a la clave singular de contenido, de modo que estos datos a guardar pueden ser utilizados solamente por programas de contenido que tienen la misma información de clave de contenido. En este caso, sin embargo, la clave criptográfica Ksav de datos a guardar no se genera en base a información singular para el dispositivo de registro y reproducción, de modo que pueden ser reproducidos los datos a guardar almacenados en un dispositivo de registro extraíble, tal como una tarjeta de memoria, incluso desde un dispositivo de registro y reproducción diferente siempre que se utilicen conjuntamente con un programa de contenido correspondiente.
Adicionalmente, los datos a guardar para los cuales se ha seleccionado "No" para la localización de programa en la operación S702 y que son cifrados en la operación S707 con la clave criptográfica Ksav de datos a guardar en base a la clave común de sistema, pueden reproducirse y utilizarse incluso si se utiliza un programa con un identificador de contenido diferente, o si se utiliza un dispositivo de registro y reproducción diferente.
La figura 72 representa un diagrama de flujo que muestra un proceso para reproducir datos a guardar almacenados por medio del proceso de almacenamiento de datos a guardar de la figura 20.
En la operación S711, el dispositivo 300 de registro y reproducción lee el identificador de contenido, por ejemplo un identificador de juego. Este proceso es similar a la operación S701 del descrito anteriormente en la figura 79 y que lee datos contenidos en la información de identificación de los datos de contenido.
A continuación, en la operación S712, el fichero de gestión de datos descrito con referencia a la figura 71 se lee de uno de los dispositivos 400A a 400C de registro representados en la figura 69, y el identificador de contenido leído en la operación S711 y la localización de programa ajustada correspondientemente se extraen del mismo. Si el fichero de gestión de datos tiene la localización de programa activada a "Si", el proceso continúa hasta la operación S714, mientras que si el fichero de gestión de datos tiene la localización de programa activada a "No", el proceso avanza hasta la operación S717.
En la operación S714, la clave singular para el contenido, por ejemplo la clave Kcon de contenido, se lee de los datos de contenido y se utiliza como clave criptográfica Ksav de datos a guardar, o bien la clave criptográfica Ksav de datos a guardar se genera en base a la clave singular de contenido. Este proceso de generación de claves de descifrado utiliza un algoritmo de proceso correspondiente al proceso de generación de claves de cifrado, es decir un algoritmo de generación de claves de descifrado que permite descifrar datos cifrados en base a una cierta clave singular de contenido con una clave de descifrado generada en base a la misma clave singular de contenido.
Por otra parte, si se determina en la operación S712 que el fichero de gestión de datos tiene la localización de programa activada a "No", entonces en la operación S717 la clave común de sistema almacenada en el dispositivo 300 de registro y reproducción, por ejemplo la clave Ksys de firma del sistema, se lee de la memoria interna 307 del dispositivo 300 de registro y reproducción y se utiliza como clave criptográfica Ksav de datos a guardar, o bien la clave criptográfica Ksav de datos a guardar se genera en base a la clave Ksys de firma del sistema. Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción.
A continuación, en la operación S715, la clave criptográfica Ksav de datos a guardar seleccionada o generada en las operaciones S714 o S717, se utiliza para ejecutar un proceso para descifrar datos a guardar, y en la operación S716 los datos a guardar descifrados son reproducidos y ejecutados en el dispositivo 300 de registro y reproducción.
Se completa así el proceso de reproducción de datos a guardar. Como se ha descrito anteriormente, la clave de descifrado de datos a guardar se genera en base a la clave singular de contenido si el fichero de gestión de datos tiene la localización de programa activada a "Si", mientras que la clave de descifrado de datos a guardar se genera en base a la clave común de sistema si el fichero de gestión de datos tiene la localización de programa activada a "No". Si la localización de programa está activada a "Si", una clave de descifrado no puede descifrar los datos a guardar sin el mismo identificador de contenido para el contenido, permitiendo así mejorar la seguridad de los datos a guardar.
Las figuras 73 y 74 muestran diagramas de flujo de almacenamiento y reproducción de datos a guardar, respectivamente, que generan claves de cifrado y descifrado de datos a guardar utilizando el identificador de contenido.
En la figura 73, las operaciones S721 a S722 son similares a las operaciones S701 y S702 de la figura 70, de modo que se omite su descripción.
El diagrama de flujo de almacenamiento de datos a guardar de la figura 73, si la localización de programa está activada a "Si" en la operación S722, entonces en la operación S723 se lee el identificador de contenido de los datos de contenido y se utiliza como clave criptográfica Ksav de datos a guardar, o bien la clave criptográfica Ksav de datos a guardar se genera en base al identificador de contenido. Por ejemplo, la sección 307 de proceso criptográfico del dispositivo 300 de registro y reproducción puede aplicar la clave maestra MKx almacenada en la memoria interna del dispositivo 300 de registro y reproducción, al identificador de contenido leído de los datos de contenido, para obtener la clave criptográfica Ksav de datos a guardar en base, por ejemplo, al proceso DES (MKx, identificador de contenido). Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción.
Por otra parte, si la localización de programa está activada a "No" en la operación S722, entonces en la operación S727 la clave común de sistema almacenada en el dispositivo 300 de registro y reproducción, por ejemplo la clave Ksys de firma del sistema, se lee de los datos de contenido y se utiliza como clave criptográfica Ksav de datos a guardar, o bien la clave criptográfica Ksav de datos a guardar se genera en base a la clave de firma de sistema. Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción.
El procesamiento realizado en la operación S724 y en las operaciones subsiguientes es similar al de la operación S704 y operaciones subsiguientes en el flujo de proceso en la figura 70 descrita anteriormente, y se omite así su descripción.
Adicionalmente, la figura 74 representa un flujo de proceso para reproducir y ejecutar datos a guardar almacenados en el dispositivo de registro durante el flujo de proceso de almacenamiento de datos a guardar de la figura 73, y las operaciones S731 a S733 son similares a las correspondientes de la figura 72 descrita anteriormente, con la excepción de la operación S734. En la operación S734, el identificador de contenido es leído de los datos de contenido y utilizado como clave criptográfica Ksav de datos a guardar, o bien la clave criptográfica Ksav de datos a guardar se genera en base al identificador de contenido. Este proceso de generación de clave de descifrado utiliza un algoritmo de proceso correspondiente al del proceso de generación de claves de cifrado, es decir un algoritmo de generación de claves de descifrado que permite descifrar datos cifrados en base a un cierto identificador de contenido con una clave de descifrado generada en base al mismo identificador de contenido.
El procesamiento subsiguiente realizado en las operaciones S735, S736 y S737 es similar al correspondiente procesamiento ilustrado en la figura 72, y por tanto su descripción se omite. De acuerdo con los procesos de almacenamiento y reproducción de datos a guardar de las figuras 73 y 74, si la localización de programa está activada a "Si", el identificador de contenido se utiliza para generar las claves de cifrado y descifrado de datos a guardar, de modo que como en los procesos anteriores de almacenamiento y reproducción de datos a guardar que utilizan la clave singular de contenido, no pueden obtenerse datos a guardar sin que correspondan al programa de contenido, permitiendo así que se guarden con mayor seguridad los datos a guardar.
Las figuras 75 y 77 representan diagramas de flujo de almacenamiento (Fig. 75) y reproducción (Fig. 77), respectivamente, que generan claves de cifrado y descifrado de datos a guardar utilizando la clave singular de dispositivo de registro y reproducción.
En la figura 75, la operación S741 es similar a la operación S701 de la figura 70, de modo que se omite su descripción. En la operación S742, la localización se activa o no se activa para el dispositivo de registro y reproducción. En caso de localización de un dispositivo de registro y reproducción particular capaz de utilizar los datos a guardar, una localización de dispositivo de registro y reproducción, es decir la que permite que los datos a guardar sean utilizados solamente por el dispositivo de registro y reproducción que ha generado y almacenado los datos, se activa a "Si" la localización del dispositivo de registro y reproducción, y para permitir que otro dispositivo de registro y reproducción utilice los datos a guardar, la localización del dispositivo de registro y reproducción se activa a "No". Si la localización del dispositivo de registro y reproducción está activada a "Si" en la operación S742, el proceso continúa hasta la operación S743, y si esta localización está activada a "No", el proceso continúa hasta la operación S747.
En la figura 76 se muestra un ejemplo del fichero de gestión de datos. El fichero de gestión de datos es generado como tabla que contiene números de datos, identificadores de contenido, identificadores de dispositivo de registro y reproducción, y la localización del dispositivo de registro y reproducción. El identificador de contenido corresponde a datos de identificación para un programa de contenido para el cual se guardan datos a conservar. El identificador de dispositivo de registro y reproducción indica un dispositivo de registro y reproducción que tiene almacenados los datos a guardar, y un ejemplo de este identificador es [IDdev] como se muestra en la figura 69. La localización del dispositivo de registro y reproducción está activada a "Si" con el fin de limitar la utilización de los datos a guardar a un dispositivo de registro y reproducción particular, es decir para permitir que los datos a guardar sean utilizados solamente por el dispositivo de registro y reproducción que ha generado y almacenado los datos, o a "No" para permitir que otros dispositivos de registro y reproducción utilicen los datos a guardar. La localización del dispositivo de registro y reproducción puede ser activada arbitrariamente por el usuario utilizando el programa de contenido o puede ser activada y almacenada en el programa de contenido por el productor de
contenidos.
En el diagrama de flujo de almacenamiento de datos a guardar de la figura 75, si la localización del dispositivo de registro y reproducción está activada a "Si" en la operación S742, se lee de la memoria interna 307 del dispositivo 300 de registro y reproducción la clave singular de dispositivo de registro y reproducción, por ejemplo, la clave Kdev de firma de dispositivo de registro y reproducción, y se utiliza como clave criptográfica Ksav de datos a guardar, o bien la clave criptográfica Ksav de datos a guardar se genera en base a la clave Kdev de firma de dispositivo de registro y reproducción. Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción.
Por otra parte, si la localización del dispositivo de registro y reproducción está activada a "No" en la operación S742, entonces en la operación S747 se lee de la memoria interna 307 del dispositivo 300 de registro y reproducción la clave común de sistema almacenada en el dispositivo 300 de registro y reproducción, por ejemplo la clave Ksys de firma del sistema, y es utilizada como clave criptográfica Ksav de datos a guardar, o bien la clave criptográfica Ksav de datos a guardar es generada en base a la clave de firma de sistema. Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción.
El procesamiento en las operaciones S744 y S745 es similar al procesamiento correspondiente en el flujo de proceso de la figura 72 descrita anteriormente, y se omite así su descripción.
En la operación S746, el identificador de contenido, el identificador de dispositivo de registro y reproducción, y la localización del dispositivo de registro y reproducción activada a "Si/No" por el usuario en la operación S742, se inscriben en el fichero de gestión de datos (véase la figura 76).
Adicionalmente, la figura 77 muestra un flujo de proceso para reproducir y ejecutar datos a guardar almacenados en el dispositivo de registro durante el flujo de proceso de almacenamiento de datos a guardar de la figura 75. En la operación S751, el identificador de contenido es leído como en el procesamiento correspondiente ilustrado en la figura 72 descrita anteriormente. A continuación, en la operación S752, se lee el identificador (IDdev) de dispositivo de registro y reproducción almacenado en la memoria del dispositivo 300 de registro y reproducción.
En la operación S753, el identificador de contenido, el identificador de dispositivo de registro y reproducción, y la localización del dispositivo de registro y reproducción activada a "Si/No", se leen del fichero de gestión de datos (véase la figura 76). Si cualquier entrada en el fichero de gestión de datos que tiene el mismo identificador de contenido tiene la localización del dispositivo de registro y reproducción activada a "Si", el proceso finaliza si la entrada a la tabla tiene un identificador de dispositivo de registro y reproducción diferente del que fue leído en la operación S752.
A continuación, si se determina en la operación S754 que el fichero de gestión de datos tiene la localización del dispositivo de registro y reproducción activada a "Si", el proceso continúa hasta la operación S755, mientras que si el fichero de gestión de datos tiene la localización del dispositivo de registro y reproducción activada a "No", el proceso continúa hasta la operación S758.
En la operación S755, se lee de la memoria interna 307 del dispositivo 300 de registro y reproducción la clave singular de dispositivo de registro y reproducción, por ejemplo la clave Kdev de firma de dispositivo de registro y reproducción, y se utiliza como clave criptográfica Ksav de datos a guardar, o bien la clave criptográfica Ksav de datos a guardar es generada en base a la clave Kdev de firma de dispositivo de registro y reproducción. Este proceso de generación de claves de descifrado utiliza un algoritmo de proceso correspondiente al proceso de generación de claves de cifrado, es decir un algoritmo de generación de claves de descifrado que permite descifrar datos cifrados en base a una cierta clave singular de dispositivo de registro y reproducción con una clave de descifrado basada en la misma clave singular de dispositivo de registro y reproducción. Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada en la memoria interna 307 del dispositivo 300 de registro y reproducción.
Por otra parte, en la operación S748 es leída de la memoria interna 307 del dispositivo 300 de registro y reproducción y utilizada como clave criptográfica Ksav de datos a guardar la clave común de sistema almacenada en el dispositivo 300 de registro y reproducción, por ejemplo, o bien la clave criptográfica Ksav de datos a guardar se genera en base a la clave de firma de sistema. Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción. El procesamiento en las operaciones subsiguientes S756 y S757 es similar al de las operaciones correspondientes en el flujo de proceso de reproducción de datos a guardar descrito anteriormente.
De acuerdo con los flujos de proceso de almacenamiento y reproducción de datos a guardar representados en las figuras 75 y 77, los datos a guardar para los cuales la localización del dispositivo de registro y reproducción está activada a "Si", son cifrados y descifrados utilizando la clave singular de dispositivo de registro y reproducción. Estos datos a guardar pueden ser así descifrados y utilizados solamente por el dispositivo de registro y reproducción que tiene la misma clave singular de dispositivo de registro y reproducción, es decir por el mismo dispositivo de registro y reproducción.
A continuación, las figuras 78 y 79 muestran flujos de proceso para generar claves de cifrado y descifrado para datos a guardar utilizando el identificador de dispositivo de registro y reproducción y almacenando y reproduciendo los datos a guardar.
En la figura 78, el identificador de dispositivo de registro y reproducción se utiliza para cifrar y almacenar datos a guardar en el dispositivo de registro. Las operaciones S761 a S763 son similares a las de la figura 75 descrita anteriormente. En la operación S764, el identificador de dispositivo de registro y reproducción (IDdev) leído del dispositivo de registro y reproducción se utiliza para generar la clave criptográfica Ksav de datos a guardar. La clave criptográfica Ksav de datos a guardar se obtiene en base al identificador IDdev, por ejemplo, aplicando dicho identificador como clave criptográfica Ksav de datos a guardar o aplicando la clave maestra MKx almacenada en la memoria interna del dispositivo 300 de registro y reproducción para obtener la clave criptográfica Ksav de datos a guardar en base al proceso DES (MKx,IDdev). Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción.
Las operaciones S765 a S768 de proceso subsiguientes son similares a las descritas anteriormente en la figura 75, de modo que se omite su descripción.
La figura 79 muestra un flujo de proceso para reproducir y ejecutar los datos a guardar almacenados en el dispositivo de registro por medio del proceso de la figura 78. Las operaciones S771 a S774 son similares a las del procesamiento correspondiente en la figura 77 anteriormente descrita.
En la operación S775, el identificador (IDdev) de dispositivo de registro y reproducción leído del dispositivo de registro y reproducción se utiliza para generar la clave criptográfica Ksav de datos a guardar. La clave criptográfica Ksav de datos a guardar se obtiene en base al identificador IDdev, por ejemplo, aplicando dicho identificador como esta clave Ksav o aplicando la clave maestra MKx almacenada en la memoria interna del dispositivo 300 de registro y reproducción para obtener dicha clave en base al proceso DES (MKx, IDdev). Este proceso de generación de claves de descifrado utiliza un algoritmo de proceso correspondiente al proceso de generación de claves de cifrado, es decir se trata de un algoritmo de generación de claves de descifrado que permite descifrar datos cifrados en base a una cierta clave singular de dispositivo de registro y reproducción con una clave de descifrado generada en base a la misma clave singular de dispositivo de registro y reproducción. Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción.
Las operaciones S776 a S778 de proceso subsiguientes son similares a las del procesamiento correspondiente en la figura 76 anteriormente descrita.
De acuerdo con los flujos de proceso de almacenamiento y reproducción de datos a guardar representados en las figuras 78 y 79, los datos a guardar para los cuales la localización del dispositivo de registro y reproducción está activada a "Si" se cifran y descifran utilizando la clave singular de dispositivo de registro y reproducción. Estos datos a guardar pueden ser así descifrados y utilizados solamente por el dispositivo de registro y reproducción que tiene la misma clave singular de dispositivo de registro y reproducción, es decir por el mismo dispositivo de registro y reproducción.
A continuación se explicarán con referencia a las figuras 80 a 82 los procesos de almacenamiento y reproducción de datos a guardar que se aplican a la ejecución tanto de la localización de programa, como de la localización del dispositivo de registro y reproducción que se han descrito anteriormente.
La figura 80 muestra un flujo de proceso de almacenamiento de datos a guardar. En la operación S781, el identificador de contenido es leído de los datos de contenido, en la operación S782 se determina si está activada la localización de programa, y en la operación S783 se determina si está activada la localización del dispositivo de registro y reproducción.
Si están activadas a "Si" tanto la localización de programa como la localización del dispositivo de registro y reproducción, entonces en la operación S785 se genera la clave criptográfica Ksav de datos a guardar en base tanto a la clave singular de contenido (por ejemplo Kcon), como a la clave singular de dispositivo de registro y reproducción (Kdev). La clave de cifrado de datos a guardar se obtiene, por ejemplo, en base a la expresión Ksav = (Kcon XOR Kdev) o aplicando la clave maestra MKx almacenada en la memoria interna 307 del dispositivo 300 de registro y reproducción para obtener esta clave en base a la expresión lógica Ksave = DES (MKx, Kcon XOR Kdev). Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción.
Si la localización de programa está activada a "Si" mientras la localización del dispositivo de registro y reproducción está activada a "No", entonces en la operación S786 se utiliza la clave singular de contenido (por ejemplo, Kcon) como clave criptográfica Ksav de datos a guardar, o la clave criptográfica Ksav de datos a guardar se genera en base a la clave singular de contenido (por ejemplo, Kcon).
Si la localización de programa está activada a "No" mientras la localización del dispositivo de registro y reproducción está activada a "Si", entonces en la operación S787 la clave Kdev de firma de dispositivo de registro y reproducción se utiliza como clave criptográfica Ksav de datos a guardar, o la clave criptográfica Ksav de datos a guardar es generada en base a la clave Kdev de firma de dispositivo de registro y reproducción. Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción.
Adicionalmente, si están activadas a "No" tanto la localización de programa como la localización del dispositivo de registro y reproducción, entonces en la operación S787 se utiliza como clave criptográfica Ksav de datos a guardar la clave común de sistema, por ejemplo la clave Ksys de firma del sistema, o bien la clave criptográfica Ksav de datos a guardar se genera en base a la clave Ksys de firma del sistema. Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción.
En la operación S789 la clave criptográfica Ksav de datos a guardar generada en una de las operaciones S785 a S788 se utiliza para cifrar los datos a guardar, que se almacenan a continuación en el dispositivo de registro.
Adicionalmente, en la operación S790 la localización activada en las operaciones S782 y S783 se almacena en el fichero de gestión de datos. El fichero de gestión de datos está configurado, por ejemplo, como se muestra en la figura 81 y contiene entradas que incluyen números de datos, identificadores de contenido, identificadores de dispositivo de registro y reproducción, localización de programa, y localización del dispositivo de registro y reproducción.
Las figuras 82A y 82B representan un flujo de proceso para reproducir y ejecutar los datos a guardar almacenados en el dispositivo de registro por medio del proceso ilustrado en la figura 80. En la operación S791, el identificador de contenido y el identificador de dispositivo de registro y reproducción se leen del programa de ejecución, y en la operación S792 se leen del fichero de gestión de datos representado en la figura 81 el identificador de contenido, el identificador de dispositivo de registro y reproducción, la localización de programa y la localización del dispositivo de registro y reproducción. En este caso, si la localización de programa está activada a "Si" y los identificadores de contenido no son los mismos o si la localización del dispositivo de registro y reproducción está activada a "Si" y los identificadores de dispositivo de registro y reproducción no son los mismos, el proceso finaliza.
A continuación, en las operaciones S793, S794 y S795, el proceso de generación de claves de descifrado se activa en uno de cuatro modos en las operaciones S796 a S799 de acuerdo con los datos registrados en el fichero de gestión de datos.
Si están activadas a "Si" tanto la localización de programa como la localización del dispositivo de registro y reproducción, entonces en la operación S796 la clave criptográfica Ksav de datos a guardar se genera en base tanto a la clave singular de contenido (por ejemplo, Kcon), como a la clave singular de dispositivo de registro y reproducción (Kdev). Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción. Si la localización de programa está activada a "Si" mientras la localización del dispositivo de registro y reproducción está activada a "No", entonces en la operación S797 se utiliza la clave singular de contenido (por ejemplo, Kcon) como clave criptográfica Ksav de datos a guardar, o la clave criptográfica Ksav de datos a guardar se genera en base a la clave singular de contenido. Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción.
Si la localización de programa está activada a "No" mientras la localización del dispositivo de registro y reproducción está activada a "Si", entonces en la operación S798 se utiliza la clave singular Kdev de firma de dispositivo de registro y reproducción como clave criptográfica Ksav de datos a guardar, o bien la clave criptográfica Ksav de datos a guardar se genera en base a la clave Kdev singular del dispositivo de registro y reproducción. Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción. Adicionalmente, si tanto la localización de programa como la localización del dispositivo de registro y reproducción están activadas a "No", entonces en la operación S799, la clave común de sistema, por ejemplo la clave Ksys de firma del sistema, se utiliza como clave criptográfica Ksav de datos a guardar, o bien la clave criptográfica Ksav de datos a guardar se genera en base a la clave Ksys de firma del sistema. Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción.
Este proceso de generación de claves de descifrado utiliza un algoritmo de proceso correspondiente al proceso de generación de claves de cifrado, es decir un algoritmo de generación de claves de descifrado permite descifrar datos cifrados en base a la misma clave singular de contenido y a la misma clave singular de dispositivo de registro y reproducción con una clave de descifrado generada en base a la misma clave singular de contenido y a la misma clave singular de dispositivo de registro y reproducción.
En la operación S800, la clave criptográfica Ksav de datos a guardar generada en una de las operaciones S796 a S799 se utiliza para ejecutar el proceso de descifrado, y los datos a guardar descifrados son reproducidos y ejecutados en el dispositivo 300 de registro y reproducción.
De acuerdo con los flujos de proceso de datos a guardar y de almacenamiento y reproducción representados en las figuras 80 y 82, los datos a guardar para los cuales está seleccionada la respuesta "Si" para la localización de programa son cifrados y descifrados con la clave singular de contenido, de modo que estos datos a guardar pueden ser descifrados y utilizados solamente si se utilizan datos de contenido que tienen la misma clave singular de contenido. Adicionalmente, los datos a guardar para los cuales está seleccionada la respuesta "Si" para la localización del dispositivo de registro y reproducción, son cifrados y descifrados con el identificador de dispositivo de registro y reproducción, de modo que estos datos a guardar pueden ser descifrados y utilizados solamente por el dispositivo de registro y reproducción que tiene el mismo identificador de dispositivo de registro y reproducción, es decir el mismo dispositivo de registro y reproducción. Consiguientemente, tanto el contenido como el dispositivo de registro y reproducción pueden activar la localización para mejorar adicionalmente la seguridad de los datos a guardar.
Aunque las figuras 80 y 82 muestran la configuración para generar la clave de cifrado de datos a guardar y la clave de descifrado utilizando la clave singular de contenido y la clave singular de dispositivo de registro y reproducción, el identificador de contenido y el identificador de dispositivo de registro y reproducción pueden utilizarse en vez de la clave singular de contenido y la clave singular de dispositivo de registro y reproducción, respectivamente, para generar la clave de cifrado de datos a guardar y la clave de descifrado en base a estos identificadores.
Se describirá a continuación con referencia a las figuras 83 a 85 una configuración para generar una clave de cifrado y una clave de descifrado en base a una entrada de contraseña introducida por el usuario.
La figura 83 muestra un flujo de proceso para generar una clave de cifrado de datos a guardar en base a una entrada de contraseña introducida por el usuario y para almacenar datos a guardar en el dispositivo de registro.
En la operación S821, el identificador de contenido es leído de los datos de contenido como en cada uno de los procesos descritos anteriormente. En la operación S822, el usuario determina si ha de activar la localización de programa. El fichero de gestión de datos establecido en esta configuración tiene, por ejemplo, la estructura ilustrada en la figura 84.
Como se muestra en la figura 84, los datos contienen números de datos, identificadores de contenido, identificadores de dispositivo de registro y reproducción, y información de localización de programa activada por el usuario. La "localización de programa activada por el usuario" es una entrada que determina si la utilización del programa está o no limitada a un usuario particular.
Si la localización de programa está activada a "Si" en la operación S822 en el flujo de proceso de la figura 83, entonces en la operación S823 se introduce la contraseña del usuario. La contraseña se introduce desde medios de entrada, tales como el teclado representado en la figura 2.
La contraseña de entrada es transferida a la sección 302 de proceso criptográfico bajo control de la unidad central 106 de procesamiento principal y la sección 301 de control, y se ejecuta el procesamiento correspondiente a la operación S824, es decir se genera la clave criptográfica Ksav de datos a guardar en base a la contraseña introducida por el usuario. La clave criptográfica Ksav de datos a guardar puede ser generada, por ejemplo, estableciendo la propia contraseña como clave criptográfica Ksav de datos a guardar o utilizando la clave maestra MKx del dispositivo de registro y reproducción para generar esta clave en base a la operación clave criptográfica Ksav de datos a guardar = DES (MKx, contraseña). Alternativamente, puede aplicarse una función unidireccional utilizando la contraseña como entrada de modo que puede ser generada una clave de cifrado en base a la salida de la función.
Si la localización de usuario está activada a "No" en la operación S822, entonces en la operación S828 se genera una clave de cifrado de datos a guardar basada en la clave común de sistema del dispositivo 300 de registro y reproducción.
Adicionalmente, en la operación S825 se utiliza para cifrar los datos a guardar la clave criptográfica Ksav de datos a guardar generada en la operación S824 o S828, y en la operación S826 los datos a guardar cifrados se almacenan en el dispositivo de registro.
Adicionalmente, en la operación S827 la localización de programa activada por el usuario en la operación S822 se inscribe en el fichero de gestión de datos de la figura 84 para asociarse con el identificador de contenido y el identificador de dispositivo de registro y reproducción.
La figura 85 es una vista que muestra un flujo de un proceso para reproducir los datos a guardar almacenados por medio del proceso de la figura 83. En la operación S831, el identificador de contenido es leído de los datos de contenido, y en la operación S832 el identificador de contenido y la localización de programa introducidos por el usuario se leen del fichero de gestión de datos representado en la figura 84.
En la operación S833 se hace una determinación basada en los datos del fichero de gestión de datos. Si la entrada "localización de programa activada por el usuario" está en "Si", entonces en la operación S834 se le indica al usuario que introduzca una contraseña, y en la operación S835 se genera una clave de descifrado basada en la contraseña introducida. Este proceso de generación de clave de descifrado utiliza un algoritmo de proceso correspondiente al proceso de generación de claves de cifrado, es decir un algoritmo de generación de claves de cifrado que permite descifrar datos cifrados en base a una cierta contraseña con una clave de descifrado generada en base a la misma contraseña.
Si se determina en la operación S833 que la localización de programa introducida por el usuario está activada a "No", entonces en la operación S837 se utiliza la clave común de sistema almacenada en la memoria interna del dispositivo 300 de registro y reproducción para generar la clave criptográfica Ksav de datos a guardar utilizando la clave Ksys de firma del sistema. Alternativamente, puede utilizarse como clave criptográfica Ksav de datos a guardar una clave criptográfica diferente de las otras claves, que ha sido guardada independientemente en la memoria interna 307 del dispositivo 300 de registro y reproducción.
En la operación S836, la clave Ksav de descifrado generada en la operación S835 o en la operación S837 se utiliza para descifrar los datos a guardar almacenados en el dispositivo de registro, y en la operación S836 el dispositivo de registro y reproducción reproduce y ejecuta los datos a guardar.
De acuerdo con los flujos de proceso de almacenamiento y reproducción de datos a guardar representados en las figuras 83 y 85, los datos a guardar para los cuales está seleccionada la respuesta "Si" para la entrada "localización de programa activada por el usuario" son cifrados y descifrados con la clave basada en la contraseña introducida por el usuario, de modo que estos datos a guardar pueden descifrarse y utilizarse solamente si se introduce la misma contraseña, mejorándose así la seguridad de los datos a guardar.
Se han descrito los diversos aspectos de los procesos de almacenamiento y reproducción de datos a guardar, pero es posible también implementar un proceso obtenido combinando los procesos descritos anteriormente; por ejemplo, un aspecto puede consistir en la generación de claves de cifrado y descifrado de datos a guardar utilizando una combinación arbitraria de la contraseña, el identificador de dispositivo de registro y reproducción, el identificador de contenido, y otros.
(17) Configuración para Excluir (Revocar) Aparatos no Válidos
Como se ha descrito anteriormente, el aparato de procesamiento de datos de acuerdo con el presente invento mejora la seguridad de los contenidos suministrados, y permite que tales contenidos sean utilizados solamente por usuarios válidos, utilizando la configuración en la que el dispositivo 300 de registro y reproducción ejecuta procesos tales como la autentificación y cifrado de diversos datos de contenido proporcionados por el medio 500 (véase la figura 3), o los medios 600 de comunicación, y almacena entonces los datos en el dispositivo de registro.
Como se comprende por la descripción anterior, el contenido de entrada es autentificado, cifrado y descifrado utilizando las diversas claves de firma, claves maestras y claves de generación de valores de comprobación de integridad (véase la figura 18) almacenadas en la memoria interna 307 configurada en la sección 302 de proceso criptográfico del dispositivo 300 de registro y reproducción. La memoria interna 307 que almacena información de claves está caracterizada deseablemente para restringir las lecturas externas ilegales por cuanto comprende un chip semiconductor que rechaza esencialmente los accesos externos y tiene una estructura multicapa, una memoria interna dispuesta entre dos capas de relleno de aluminio o metal similar o dispuestas en la capa más baja, y un rango estrecho de tensiones y/o frecuencias de funcionamiento. Sin embargo, si estos datos de clave deben leerse de la memoria interna y copiarse en un dispositivo de registro y reproducción no autorizado, la información de clave copiada puede ser utilizada para uso no válido del contenido.
Se describirá posteriormente una configuración adecuada para evitar el uso no válido de un contenido en base a la copia no válida de una clave.
La figura 86 es un diagrama de bloques útil para explicar la sección "(17) Configuración para Excluir Aparatos no Válidos", que corresponde a esta configuración. El dispositivo 300 de registro y reproducción es similar al dispositivo de registro y reproducción de las figuras 2 y 3 descritas anteriormente y tiene una memoria interna y los diversos datos de clave descritos anteriormente (figura 18) y el identificador de dispositivo de registro y reproducción. En este caso, el identificador de dispositivo de registro y reproducción, los datos de clave, etc, copiados por una tercera persona no se almacenan necesariamente en la memoria interna 307, sino que los datos de clave en el dispositivo 300 de registro y reproducción representado en la figura 86 son almacenados colectiva y distributivamente en una sección de memoria accesible para la sección 302 de proceso criptográfico (véanse las figuras 2 y 3).
Para implementar la configuración para excluir aparatos no válidos, está almacenada una lista de identificadores de dispositivo de registro y reproducción en la sección de cabecera de los datos de contenido. Como se muestra en la figura 86, los datos de contenido mantienen una lista de revocación como lista de identificadores de dispositivo de registro y reproducción no válidos (IDdev). Adicionalmente, se utiliza un valor ICVrev de comprobación de integridad de lista para comprobar la presencia de manipulaciones en la lista de revocación. La lista de identificadores de dispositivo de registro y reproducción no válidos (IDdev) contiene los identificadores IDvev de dispositivos de registro y reproducción no válidos determinados por el proveedor o gestor de contenidos en base al estado de distribución de copias no válidas, etc. La lista de revocación puede ser cifrada con la clave Kdis de distribución antes de ser almacenada. El proceso de descifrado ejecutado por el dispositivo de registro y reproducción es similar, por ejemplo, al proceso de descarga de contenido ilustrado en la figura 22 anterior.
En este caso, para comprender mejor la lista de revocación, se muestra como un grupo simple de datos en los datos de contenido de la figura 86, pero puede estar contenida por ejemplo, en la política de uso descrita anteriormente (por ejemplo, véanse las figuras 32 a 35), que es un componente de la sección de cabecera o los datos de contenido. En este caso, el valor ICVa de comprobación de integridad descrito anteriormente se utiliza para comprobar los datos de política de uso que contiene la lista de revocación para detectar manipulaciones. Si la lista de revocación está contenida en la política de uso, el valor ICVa de comprobación de integridad (valor A de comprobación) es utilizado para comprobación y la clave Kicva de generación de valor A de comprobación de integridad en el dispositivo de registro y reproducción, eliminándose así la necesidad de almacenar la clave Kicv-rev de generación de valores de comprobación de integridad.
Si la lista de revocación está contenida en los datos de contenido como datos independientes, la lista de revocación es comprobada utilizando el valor ICVrev de comprobación de integridad de lista para comprobar la lista de revocación en lo que se refiere a alteraciones fraudulentas y se genera un valor de comprobación de integridad intermedia a partir del valor ICVrev de comprobación de integridad de lista y otro valor de comprobación de integridad parcial en los datos de contenido, y se utiliza para realizar un proceso de verificación.
Un método para comprobar la lista de revocación utilizando el valor ICVrev de comprobación de integridad de lista para comprobar alteraciones en dicha lista, es similar al proceso para generar el valor de comprobación de integridad, tal como ICVa o ICVb, como se ha explicado en las figuras 23 y 24 descritas anteriormente. Es decir, el cálculo se ejecuta de acuerdo con el método de cálculo de valores ICV descrito en las figuras 23 y 24 y otras figuras, utilizando como clave la clave Kicv-rev de generación de valores de comprobación de integridad almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción y utilizando como mensaje la lista de revocación contenida en los datos de contenido. El valor ICV-rev' de comprobación de integridad calculado y el valor ICV-rev de comprobación de integridad almacenado en la cabecera son comprobados entre sí, y si son iguales, se determina que la lista no ha sido manipulada.
El valor de comprobación de integridad intermedia que contiene el valor ICV-rev de comprobación de integridad se genera, por ejemplo, utilizando como clave la clave Kicvt de generación de valores de comprobación de integridad total almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción y aplicando el método de cálculo de valores ICV descrito en la figura 7 y en otras figuras a una cadena de mensajes que comprende los valores A y B de comprobación de integridad y el valor ICV-rev de comprobación de integridad en la cabecera verificada, con el valor de comprobación de integridad de contenido añadido a la misma dependiendo del formato, como se muestra en la figura 25.
La lista de revocación y el valor de comprobación de integridad de lista son proporcionados al dispositivo 300 de registro y reproducción a través del medio 500, tal como un DVD o un CD, a través de los medios 600 de comunicación o a través del dispositivo 400 de registro, por ejemplo una tarjeta de memoria. En este caso, el dispositivo 300 de registro y reproducción puede retener datos de clave válidos o identificadores copiados ilegalmente.
Las figuras 87 y 88 muestran un flujo de un proceso para excluir dispositivos de registro y reproducción no válidos en esta configuración. La figura 87 representa un flujo de un proceso para excluir (revocar) dispositivos de registro y reproducción no válidos si es suministrado un contenido por el medio 500, por ejemplo un DVD o un CD, o por los medios 600 de comunicación, mientras que la figura 88 muestra un flujo de un proceso para excluir (revocar) dispositivos de registro y reproducción no válidos si es proporcionado un contenido por el dispositivo 400 de registro, por ejemplo una tarjeta de memoria.
Se explicará en primer lugar el flujo de proceso de la figura 87. En la operación S901, el medio se instala y se hace una solicitud de un contenido, es decir un proceso de reproducción o descarga. El proceso representado en la figura 87 corresponde a una operación ejecutada, por ejemplo, antes de la instalación del medio, tal como un DVD, etc, en el dispositivo de registro, seguida por el proceso de descarga. El proceso de descarga se realiza como se ha descrito anteriormente con referencia a la figura 22 y se ejecuta como operación anterior al flujo de proceso de la figura 22 o a un proceso insertado en este flujo de proceso.
Si el dispositivo 300 de registro y reproducción recibe un contenido a través de los medios de comunicación tales como una red, entonces en la operación S911 se establece una sesión de comunicación con el lado de servicio de distribución de contenidos, y el proceso continúa entonces hasta la operación S902.
En la operación S902, se obtiene la lista de revocación (véase la figura 86) de la sección de cabecera de los datos de contenido. En este proceso de obtención de lista, si el contenido está presente en el medio, la sección 301 de control ilustrada en la figura 3 lee dicho contenido a través de la sección 304 de lectura. Si el contenido se obtiene de la sección de control, los medios 301 de comunicación representados en la figura 3 reciben dicho contenido del extremo de distribución de contenidos a través de la sección 305 de comunicación.
A continuación, en la operación S903, la sección 301 de control transfiere la lista de revocación obtenida del medio 500 o de los medios 600 de comunicación, a la sección 302 de proceso criptográfico de dispositivo de registro y reproducción, a la que se fuerza entonces a ejecutar el proceso de generación de valores de comprobación. El dispositivo 300 de registro y reproducción tiene internamente la clave Kicv-rev de generación de valores de comprobación de integridad, calcula el valor ICV-rev' de comprobación de integridad de acuerdo con el método de cálculo de valores ICV descrito en las figuras 23 y 24 y otras, aplicando la clave Kicv-rev de generación de valores de comprobación de integridad utilizando como mensaje la lista de revocación recibida, y compara el resultado del cálculo con el valor ICV-rev de comprobación de integridad almacenado en la cabecera para determinar que la lista no ha sido manipulada si son iguales ("Si" en la operación S904). Si los valores no son iguales, el dispositivo de registro y reproducción determina que la lista ha sido alterada, y el proceso continúa hasta la operación S909 para indicar un error de proceso para finalizar el proceso.
A continuación, en la operación S905, la sección 306 de control de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción hace que la sección 308 de cifrado/descifrado de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción calcule el valor ICVt' de comprobación de integridad total. El valor ICVt' de comprobación de integridad total se genera utilizando como clave la clave Ksys de firma del sistema almacenada en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción y cifrando el valor de comprobación de integridad intermedia en base al algoritmo DES, como se muestra en la figura 25. El proceso de verificación con cada uno de los valores de comprobación de integridad parcial, tales como los valores ICVa o ICVb, se omite del flujo de proceso representado en la figura 87, pero la verificación con estos valores de comprobación parcial se realiza dependiendo del formato de datos, como en el flujo de proceso de las figuras 39 a 45 descritas anteriormente.
A continuación, en la operación S906, el valor ICVt' de comprobación de integridad total generado se compara con el valor ICVt de comprobación de integridad total de la cabecera, y si son iguales ("Si" en la operación S906), el proceso avanza hasta la operación S907. Si los valores no son iguales, el dispositivo de registro y reproducción determina que la lista ha sido manipulada, y el proceso avanza hasta la operación S909 para indicar un error de proceso y finalizarlo.
Como se ha descrito anteriormente, el valor ICVt de comprobación de integridad total se utiliza para comprobar todos los valores de comprobación de integridad parcial contenidos en los datos de contenido, tales como los valores ICVa e ICVb y los valores de comprobación de integridad para bloques de contenido correspondientes que dependen del formato de datos. En este caso, sin embargo, el valor ICV-rev de comprobación de integridad de lista para comprobar manipulaciones en la lista de revocación se añade a los valores de comprobación de integridad parcial, y se comprueban todos estos valores de comprobación de integridad para detectar manipulaciones. Si el valor de comprobación de integridad es igual al valor ICVt de comprobación de integridad total almacenado en la cabecera, se determina que no ha sido manipulado ninguno de los valores ICVa e ICVb, los valores de comprobación de integridad de bloque de contenido, y el valor ICV-rev de comprobación de integridad de lista.
Adicionalmente, en la operación S907, la lista de revocación, sobre la que se ha determinado que está libre de manipulaciones, se compara con el identificador (IDdev) de dispositivo de registro y reproducción almacenado en el dispositivo 300 de registro y reproducción.
\newpage
Si la lista de identificadores IDdev de dispositivos de registro y reproducción no válidos leída de los datos de contenido contiene el identificador (IDdev) de dispositivo de registro y reproducción de este dispositivo de registro y reproducción, se determina que este dispositivo 300 de registro y reproducción tiene datos de clave copiados ilegalmente. El proceso avanza entonces hasta la operación S909 para abortar el procedimiento subsiguiente. Por ejemplo, el proceso inhabilita la ejecución del proceso de descarga de contenido de la figura 22.
En la operación S907, si se determina que los identificadores (IDdev) de dispositivo de registro y reproducción no válidos no contiene el identificador IDdev de este dispositivo de registro y reproducción, se determina que este dispositivo 300 de registro y reproducción tiene datos de clave válidos. El proceso continúa hasta la operación S908 para habilitar el procedimiento subsiguiente, por ejemplo, el proceso de ejecución de programa o el proceso de descarga de contenido de la figura 22 y otras.
La figura 88 muestra un proceso ejecutado para reproducir datos de contenido almacenados en el dispositivo 400 de registro, tal como una tarjeta de memoria. Como se ha descrito anteriormente, el dispositivo 400 de registro, tal como una tarjeta de memoria, y el dispositivo 300 de registro y reproducción, realizan el proceso de autentificación mutua descrito en la figura 20 (operación S921). Solamente si la autentificación mutua tiene éxito en la operación S922, el proceso avanza hasta la operación S923 y el procesamiento subsiguiente, mientras que si la autentificación mutua falla, se produce un error en la operación S930 para impedir que se ejecute el procesamiento subsiguiente.
En la operación S923, se obtiene la lista de revocación (véase la figura 86) de la sección de cabecera de los datos de contenido. El procesamiento en las operaciones subsiguientes S924 a S930 es similar al procesamiento correspondiente ilustrado en la figura 87. Es decir, la lista se verifica con el valor de comprobación de integridad de lista (S924 y S925) y con el valor de comprobación de integridad total (S926 y S927), y la entrada a la lista se compara con el identificador (IDdev) de dispositivo de registro y reproducción (S928). A continuación, si la lista de identificadores de dispositivo de registro y reproducción contiene el identificador IDdev de este dispositivo de registro y reproducción, se determina que este dispositivo 300 de registro y reproducción tiene datos de clave copiados ilegalmente, y el proceso avanza entonces hasta la operación S930 para abortar el procedimiento subsiguiente. Por ejemplo, el proceso inhabilita la ejecución del proceso de reproducción de contenido de la figura 28. Por otra parte, si se determina que la lista de identificadores (IDdev) de dispositivo de registro y reproducción no contiene el identificador IDdev de este dispositivo de registro y reproducción, se determina que este dispositivo 300 de registro y reproducción tiene datos de clave válidos, y el proceso continúa hasta la operación S929 para habilitar el procedimiento subsiguiente.
Como se ha descrito anteriormente, de acuerdo con el aparato de procesamiento de datos del presente invento, los datos que identifican dispositivos de registro y reproducción no válidos, es decir la lista de revocación que contiene los identificadores IDdev de dispositivos de registro y reproducción no válidos está incluida en el contenido proporcionado por el proveedor o gestor de contenidos como datos constituyentes de la sección de cabecera de los datos de contenido. Antes de utilizar el contenido en el dispositivo de registro y reproducción, el usuario del dispositivo de registro y reproducción coteja el identificador (IDdev) de dispositivo de registro y reproducción almacenado en la memoria de este dispositivo de registro y reproducción con el identificador que figura en la lista e impide el procesamiento subsiguiente si se encuentran datos concordantes. En consecuencia, puede evitarse que el contenido sea utilizado por dispositivos de registro y reproducción no válidos que almacenan datos de clave copiados en su memoria.
(18) Método para Configurar y Fabricar Chips Seguros
Como se ha descrito anteriormente, la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción o la memoria interna 405 del dispositivo 400 de registro retiene información importante, tal como las claves criptográficas, y necesita así estar estructurada para rechazar lecturas externas no válidas. De este modo, la sección 302 de proceso criptográfico de dispositivo de registro y reproducción y la sección 401 de proceso criptográfico de dispositivo de registro están configuradas como memorias resistentes a manipulaciones caracterizadas porque para restringir lecturas ilegales externas comprenden, por ejemplo, un chip semiconductor que rechaza accesos externos y tiene una estructura multicapa, una memoria interna dispuesta entre dos capas de relleno de aluminio, o material similar, o dispuestas en la capa inferior, y una gama estrecha de tensiones y/o frecuencias de funcionamiento.
Como se comprende por la descripción anterior, sin embargo, deben inscribirse en la memoria interna 307 de la sección 302 de proceso criptográfico de dispositivo de registro y reproducción datos tales como la clave Kdev de firma de dispositivo de registro y reproducción que varía dependiendo del dispositivo de registro y reproducción. Adicionalmente, las reinscripciones o lecturas de datos deben ser difíciles después de haberse inscrito información individual para cada chip, por ejemplo información de identificación (ID) e información de claves de cifrado, en una zona de memoria no volátil del chip, por ejemplo en una memoria rápida de estado sólido o en una memoria del tipo FeRAM después del envío.
Un método convencional para realizar lecturas e inscripciones de datos comprende, por ejemplo, hacer secreto un protocolo de orden de inscripción de datos o separar las líneas de señal en el chip para aceptar la orden de inscripción de datos de las líneas de señal de comunicación utilizadas después de acabarse el producto, de modo que la orden de inscripción de datos no será efectiva a no ser que se transmita directamente la señal al chip sobre un substrato.
Incluso con tal método convencional, sin embargo, aquellos que tienen un conocimiento técnico de elementos de almacenamiento pueden transferir señales a una zona de inscripción de datos del chip si tienen medios para ello y una técnica para controlar el funcionamiento del circuito, e incluso si un protocolo de orden de inscripción de datos es secreto, existe siempre una posibilidad de que pueda ser analizado el protocolo.
La distribución de elementos para almacenar datos de proceso criptográfico que permitan la modificación de datos secretos pueden perturbar todo el sistema de proceso criptográfico. Adicionalmente, para evitar que los datos sean leídos, es posible impedir la implementación de la orden de lectura de datos. Sin embargo, en este caso, incluso si ha sido ejecutada una inscripción de datos regular, es imposible determinar si han sido inscritos con exactitud o no los datos inscritos, resultando así la posibilidad de suministrar chips con datos inscritos inadecuados.
En vista de estas técnicas convencionales, el presente invento crea una configuración de chips segura que permite inscribir con exactitud datos en una memoria no volátil, tal como una memoria rápida de estado sólido o una memoria FeRAM mientras se imponen restricciones a la lectura de datos, así como un método para fabricar tal chip
seguro.
La figura 89 muestra una configuración de chip de seguridad aplicable, por ejemplo, a la sección 302 de proceso criptográfico de dispositivo de registro y reproducción descrita anteriormente o a la sección 401 de proceso criptográfico de dispositivo de registro del dispositivo 400 de registro. La figura 89(A) representa una configuración de chip de seguridad formada durante un proceso de fabricación del chip, es decir durante un proceso de inscripción de datos, y la figura 89(B) muestra un ejemplo de la configuración de un producto, tal como el dispositivo 300 de registro y reproducción o el dispositivo 400 de registro, que tiene un chip de seguridad montado y datos inscritos en el
mismo.
Durante el proceso de fabricación, una sección 8001 de proceso del chip de seguridad tiene líneas 8003 de señal de especificación de modo de funcionamiento y diversas líneas 8004 de señal de orden conectadas a la misma y medios de inscripción o lectura de datos a y desde una sección 8002 de almacenamiento que comprende una memoria no volátil, dependiendo de si el chip, por ejemplo, está en un modo de inscripción de datos o en un modo de lectura de datos.
Por otra parte, en el producto montado en el chip de seguridad de la figura 89(B), el chip de seguridad está conectado a una interfaz conectada exteriormente, a un equipo periférico, y a otros elementos a través de líneas de señal de propósito general, mientras no están conectadas las líneas 8003 de señal. El procesamiento específico para las líneas 8003 de señal de especificación de modo incluye la conexión de estas líneas a masa, aumentar la tensión en estas líneas hasta Vcc, cortarlas, aislarlas con resina de aislamiento, etc. Tal procesamiento oculta las líneas de señal de modo de funcionamiento en el chip de seguridad en cuanto a acceso después del envío del producto, evitando así la lectura externa de datos del chip o la inscripción en el mismo.
Adicionalmente, el chip 8000 de seguridad de esta configuración impide la inscripción de datos en la sección 8002 de almacenamiento al tiempo que impide la lectura de datos inscritos, evitando así inscripciones o lecturas de datos no válidos incluso si una tercera persona accede con éxito a las líneas 8003 de señal de especificación de modo de funcionamiento. La figura 90 representa un flujo de proceso de una inscripción de datos o una lectura de datos del chip de seguridad de esta configuración.
En la operación S951, las líneas 8003 de señal de especificación de modo de funcionamiento son puestas en un modo de inscripción o lectura de datos.
En la operación S952, se extrae información de autentificación del chip. El chip de seguridad de esta configuración almacena información requerida para el proceso de autentificación, por ejemplo una contraseña e información de clave para el proceso de autentificación para la técnica criptográfica, por ejemplo, mediante cables o la configuración de ROM de máscara. En la operación S952, esta información de autentificación es leída para ejecutar el proceso de autentificación. Por ejemplo, si están conectados un zócalo de inscripción de datos regulares y un dispositivo de lectura de datos a las líneas de señal de propósito general para ejecutar el proceso de autentificación, la autentificación se realizará con éxito ("Si" en la operación S953). Sin embargo, si están conectados un zócalo de inscripción de datos y un dispositivo de lectura de datos con datos no válidos a las líneas de señal de propósito general para ejecutar el proceso de autentificación, la autentificación fallará ("No" en la operación S953) y el proceso se interrumpirá. El proceso de autentificación puede ejecutarse, por ejemplo, de acuerdo con el procedimiento de proceso de autentificación mutua descrito anteriormente en la figura 13. La sección 8001 de proceso representado en la figura 89(A) tiene una configuración capaz de tal proceso de autentificación. Esta puede implementarse, por ejemplo, utilizando una configuración similar a la de un registro de órdenes integrado en la sección 403 de control de la sección 401 de proceso criptográfico de dispositivo de registro del dispositivo 400 de registro representado en la figura 29 descrita anteriormente. Por ejemplo, la sección de proceso del chip de la figura 89(A) tiene una configuración similar a la del registro de órdenes integrado en la sección 403 de control de la sección 401 de proceso criptográfico de dispositivo de registro del dispositivo 400 de registro representado en la figura 29, y realiza un proceso adecuado para permitir la ejecución de la secuencia de proceso de autentificación, en respuesta a una entrada de una orden predeterminada procedente de un aparato conectado a las diversas líneas 8004 de señal de orden.
Solamente si tiene éxito el proceso de autentificación, la sección 8001 de proceso acepta la orden de inscripción o lectura de datos para ejecutar el proceso de inscripción de datos (operación S955) o lectura de datos (operación S956).
Como se ha descrito anteriormente, el chip de seguridad de esta configuración está configurado para ejecutar el proceso de autentificación en una inscripción o lectura de datos, evitando así que una tercera persona no autorizada lea o inscriba datos a o desde la sección de almacenamiento del chip de seguridad.
A continuación, la figura 91 muestra una realización de una configuración de elemento de seguridad. En este ejemplo, la sección 8200 de almacenamiento del chip de seguridad está separada en dos áreas; una de las áreas es un área 8201 de inscripción y lectura a y desde la cual pueden inscribirse y leerse datos, mientras que la otra es un área 8202 de solo inscripción en la cual solamente pueden inscribirse datos.
En esta configuración, se inscriben datos de clave criptográfica, datos de identificación y otros datos que requieren alta seguridad en el área 8202 de solo inscripción, mientras que se inscriben en el área 8201 de inscripción y lectura datos de comprobación de integridad y otros datos que no requieren un nivel de seguridad tan alto.
Como proceso para leer datos del área 8201 de inscripción y lectura, la sección 8001 de proceso ejecuta un proceso de lectura de datos que implica el proceso de autentificación descrito en la figura 90 comentada anteriormente. El proceso de inscripción de datos, sin embargo, se ejecuta a continuación del flujo de proceso de la figura 92.
En la operación S961 en la figura 92, las líneas 8003 de señal de especificación de modo están activadas para el modo de inscripción, y en la operación S962 se ejecuta un proceso de autentificación similar al descrito en la figura 90 anterior. Cuando el proceso de autentificación tiene éxito, el proceso avanza hasta la operación S963 para transferir a la sección 8001 de proceso una orden para inscribir información, tal como datos de clave, que requiere un nivel de seguridad alto, en el área 8202 de solo inscripción a través de las líneas 8004 de señal de orden, mientras que la inscripción de datos de comprobación u otros datos que no requieren un nivel de seguridad tan alto se realiza en el área 8201 de inscripción y lectura.
En la operación S964, al recibir la orden, la sección 8001 de proceso ejecuta un proceso de inscripción de datos sobre el área 8202 de solo inscripción o el área 8201 de inscripción y lectura dependiendo de la orden.
Adicionalmente, la figura 93 muestra el flujo de un proceso para verificar datos inscritos en el área 8202 de solo inscripción.
En la operación S971 de la figura 93, la sección 8001 de proceso hace que el área 8202 de solo inscripción ejecute el proceso de autentificación en base a los datos inscritos. Al igual que en la configuración de ejecución del proceso de autentificación anterior, la configuración de ejecución está implementada por una configuración para ejecutar secuencialmente la secuencia de proceso criptográfico almacenada en el registro de órdenes. Adicionalmente, el algoritmo de proceso criptográfico ejecutado en la sección 8001 de proceso no está particularmente limitado, pero, por ejemplo, puede aplicarse el algoritmo DES descrito anteriormente.
A continuación, en la operación S972, el dispositivo de verificación conectado al chip de seguridad recibe el resultado del proceso criptográfico de la sección 8001 de proceso. A continuación, en la operación S973, el resultado de la aplicación de un proceso criptográfico similar al algoritmo ejecutado por la sección 8001 de proceso sobre los datos de inscripción regulares inscritos en la sección de almacenamiento en la operación S973, se compara con el resultado de inscripción procedente de la sección 8001 de proceso.
Si los resultados comparados son idénticos, se verifica que son correctos los datos inscritos en el área 8202 de solo inscripción.
Con esta configuración, si hubiese de ser descifrado el proceso de autentificación para permitir la ejecución de la orden de lectura, pueden leerse datos solamente del área 8201 de inscripción y lectura, mientras que no pueden leerse datos inscritos en el área 8202 de solo inscripción; de este modo, esta configuración proporciona un nivel de seguridad mucho más alto. Adicionalmente, a diferencia de los chips que prohíben las operaciones de lectura de datos, este chip incluye el área 8201 de inscripción y lectura para permitir la validación de accesos a memoria.
Este invento se ha descrito con referencia a las realizaciones particulares. Sin embargo, obviamente pueden ser realizadas modificaciones o sustituciones en el presente invento por los expertos en la técnica sin apartarse de la esencialidad del mismo. Es decir, el presente invento se ha descrito solamente para fines ilustrativos y no deberá interpretarse de un modo restrictivo. Adicionalmente, en las realizaciones descritas anteriormente, se ha descrito a modo de ejemplo el dispositivo de registro y reproducción capaz de registrar y reproducir contenidos. Sin embargo, la configuración del presente invento es aplicable a aparatos capaces solamente de registrar o reproducir datos, y el presente invento puede implementarse en computadores personales, aparatos de juegos, y otros diversos aparatos de procesamiento de datos en general. Para determinar los puntos definitorios del presente invento, deberá hacerse referencia a las reivindicaciones referenciadas al principio.
Aplicabilidad industrial
El presente invento puede utilizarse en aparatos y sistemas que son capaces de reproducir diversos contenidos, tales como sonidos, imágenes, juegos y programas, que pueden obtenerse a través de un medio de almacenamiento, tal como un DVD o un CD, o a través de diversos medios de radio comunicación alámbricos e inalámbricos, tales como CATV, Internet, y medios de comunicación por satélite, en un dispositivo de registro y reproducción que tiene un usuario, y almacenar el contenido en un dispositivo de registro especial, tal como una tarjeta de memoria, un disco duro o un CD-R, y al mismo tiempo ofrecer seguridad en la que la utilización que desea un proveedor de contenidos está limitada en el caso de utilizar el contenido almacenado en el dispositivo de registro, y se impide que una tercera parte diferente de los usuarios regulares utilice ilegalmente el contenido proporcionado.

Claims (28)

1. Un aparato de procesamiento de datos para procesar datos de contenido proporcionados por un medio de registro o comunicación, cuyo aparato comprende: una sección (302, 401) de proceso criptográfico para ejecutar un proceso criptográfico sobre dichos datos de contenido; y una sección (306, 403) de control para ejecutar funciones de control para dicha sección (302, 401) de proceso criptográfico, y dicha sección (302, 401) de proceso criptográfico está configurada para generar una pluralidad de valores de comprobación de integridad parcial como valores de comprobación de integridad para una pluralidad correspondiente de conjuntos de datos parciales, cada uno de los cuales contiene uno o más datos parciales obtenidos por una sección constitutiva de datos de contenido dividiendo dichos datos de contenido en una pluralidad de partes, y para generar un valor de comprobación de integridad intermedia en base a una cadena de datos de conjunto de valores de comprobación de integridad parcial que contiene dicha pluralidad de valores de comprobación de integridad parcial, y utilizar el valor de comprobación de integridad intermedia generado para verificar toda la pluralidad de conjunto de datos parciales correspondientes a la pluralidad de valores de comprobación de integridad parcial que constituyen dicho conjunto de valores de comprobación de integridad parcial; en el que dicho valor de comprobación de integridad parcial se genera por medio de un proceso criptográfico con una clave de generación de valor de comprobación parcial aplicada al mismo, utilizando como mensaje datos parciales a comprobar; y dicho valor de comprobación de integridad intermedia se genera por medio de un proceso criptográfico con una clave de generación de valores de comprobación general aplicada al mismo, utilizando como mensaje una cadena de datos de conjunto de valores de comprobación de integridad parcial a comprobar; dicho valor de comprobación de integridad parcial es un código de autentificación de mensaje (MAC) generado en un modo DES-CBC utilizando como mensaje datos parciales a comprobar, dicho valor de comprobación de integridad intermedia es un código de autentificación de mensaje (MAC) generado en un modo DES-CBC utilizando como mensaje una cadena de datos de conjunto de valores de comprobación de integridad parcial a comprobar, y dicha sección de proceso criptográfico está configurada para ejecutar el proceso criptográfico en el modo de DES-CBS.
2. Un aparato de procesamiento de datos de acuerdo con la reivindicación 1ª, caracterizado porque dicha sección de proceso criptográfico está configurada para almacenar dicho valor de generación de valores de comprobación de integridad parcial y dicha clave de generación de valores de comprobación de integridad general.
3. Un aparato de procesamiento de datos de acuerdo con la reivindicación 1ª, caracterizado porque dicho proceso criptográfico tiene varios tipos de claves de generación de valor de comprobación parcial correspondientes a valores de comprobación de integridad parcial generados.
4. Un aparato de procesamiento de datos de acuerdo con la reivindicación 1ª, caracterizado porque en la configuración del proceso criptográfico basada en el modo DES-CBC de dicha sección de proceso criptográfico se aplica el modo DES triple solamente en parte de una cadena de mensajes a procesar.
5. Un aparato de procesamiento de datos de acuerdo con la reivindicación 1ª, caracterizado porque dicho aparato de procesamiento de datos tiene una clave de firma, y dicha sección de proceso criptográfico está configurada para aplicar un valor generado a partir de dicha comprobación de integridad intermedia por medio de dicho proceso criptográfico aplicado utilizando la clave de firma como valor de cotejamiento para verificación de datos.
6. Un aparato de procesamiento de datos de acuerdo con la reivindicación 5ª, caracterizado porque dicho aparato de procesamiento de datos tiene una pluralidad de claves de firma diferentes como claves de firma, y dicha sección de proceso criptográfico está configurada para aplicar al proceso criptográfico una clave de dicha pluralidad de claves de firma diferentes que está seleccionada dependiendo de una localización de dichos datos de contenido, para dicho valor de comprobación de integridad intermedia para obtener el valor de cotejamiento para verificación de datos.
7. Un aparato de procesamiento de datos de acuerdo con la reivindicación 6ª, caracterizado porque tiene una clave de firma común a todas las entidades de un sistema para ejecutar un proceso de verificación de datos, y una clave de firma específica de aparato específica para cada aparato que ejecuta un proceso de verificación de datos.
8. Un aparato de procesamiento de datos de acuerdo con la reivindicación 1ª, caracterizado porque dicho valor de comprobación de integridad parcial contiene uno o más valores de comprobación de integridad de sección de cabecera generados para datos que constituyen parcialmente datos intrasección de cabecera, y uno o más valores de comprobación de integridad de contenido generados para datos de bloque de contenido que constituyen parcialmente los datos, y porque dicho proceso criptográfico está configurado para generar uno o más valores de comprobación de integridad de sección de cabecera para un conjunto parcial de datos en dichos datos intrasección de cabecera para ejecutar un proceso de cotejamiento, generar uno o más valores de comprobación de integridad de contenido para un conjunto parcial de datos en dichos datos intrasección de contenido para ejecutar un proceso de cotejamiento, y generar adicionalmente un valor de comprobación de integridad general en base a todos los mencionados valores de comprobación de integridad de sección de cabecera y dichos valores de comprobación de integridad de contenido generados, para ejecutar un proceso de cotejamiento con el fin de verificar los datos.
9. Un aparato de procesamiento de datos de acuerdo con la reivindicación 1ª, caracterizado porque dicho valor de comprobación de integridad parcial contiene uno o más valores de comprobación de integridad de sección de cabecera generados para datos intrasección de cabecera que constituyen parcialmente datos de información, y porque dicho proceso criptográfico está configurado para generar uno o más valores de comprobación de integridad de sección de cabecera para un conjunto parcial de datos en dichos datos intrasección de cabecera para ejecutar un proceso de cotejamiento, y generar adicionalmente un valor de comprobación de integridad general en base a dichos valores de comprobación de integridad de sección de cabecera (uno o más) generados y a datos de bloque de contenido que constituyen parte de dichos datos, para ejecutar un proceso de cotejamiento con el fin de verificar los datos.
10. Un aparato de procesamiento de datos de acuerdo con la reivindicación 1ª, caracterizado porque comprende adicionalmente un dispositivo de registro para almacenar datos validados por dicha sección de proceso criptográfico.
11. Un aparato de procesamiento de datos de acuerdo con la reivindicación 10ª, caracterizado porque dicha sección de control está configurada de modo que si en el proceso ejecutado por dicha sección de proceso criptográfico para cotejar el valor de comprobación de integridad parcial no se establece una comparación satisfactoria, dicha sección de control suspende el proceso para almacenar datos en dicho dispositivo de registro.
12. Un aparato de procesamiento de datos de acuerdo con la reivindicación 1ª, caracterizado porque comprende adicionalmente una sección de proceso de reproducción para reproducir datos validados por dicha sección de proceso criptográfico.
13. Un aparato de procesamiento de datos de acuerdo con la reivindicación 12ª, caracterizado porque si en el proceso ejecutado por dicha sección de proceso criptográfico para cotejar el valor de comprobación de integridad parcial el cotejamiento no tiene éxito, dicha sección de control suspende el proceso de reproducción en dicha sección de proceso de reproducción.
14. Un aparato de procesamiento de datos de acuerdo con la reivindicación 12ª, caracterizado porque comprende: medios de control para cotejar solamente los valores de comprobación de integridad de sección de cabecera en los datos durante el proceso ejecutado por dicha sección de proceso criptográfico para cotejar los valores de comprobación de integridad parcial y transmitir a dicha sección de proceso de reproducción para su reproducción datos para los cuales se ha establecido el cotejamiento de los valores de comprobación de integridad de sección de cabecera.
15. Un método de procesamiento de datos para procesar datos de contenido proporcionados por un medio de registro o comunicación, caracterizado porque genera valores de comprobación de integridad parcial como valores de comprobación de integridad para un conjunto parcial de datos que contiene uno o más datos parciales obtenidos por una sección constitutiva de datos de contenido dividiendo dichos datos de contenido en una pluralidad de partes, coteja los valores de comprobación de integridad generados para verificar dichos datos parciales, genera un valor de comprobación de integridad intermedia en base a una cadena de datos de conjunto de valores de comprobación de integridad parcial que contiene dichos valores de comprobación de integridad parcial, y utiliza el valor de comprobación de integridad intermedia generado para verificar toda la pluralidad de conjuntos de datos parciales correspondiente a la pluralidad de valores de comprobación de integridad parcial que constituyen dicho conjunto de valores de comprobación de integridad parcial; en el que dicho valor de comprobación de integridad parcial es generado por medio de un proceso criptográfico con una clave de generación de valor de comprobación parcial aplicada, utilizando como mensaje datos parciales a comprobar, y en el que dicho valor de comprobación de integridad parcial es un código de autentificación de mensaje (MAC) generado en un modo DES-CBC utilizando como mensaje datos parciales a comprobar, y dicho valor de comprobación de integridad intermedia es un código de autentificación de mensaje (MAC) generado en un modo DES-CBC utilizando como mensaje una cadena de datos de conjunto de valores de comprobación de integridad parcial a comprobar.
16. Un método de procesamiento de datos de acuerdo con la reivindicación 15ª, caracterizado porque dicho valor de comprobación de integridad intermedia es generado por medio de un proceso criptográfico con una clave de generación de valores de comprobación general aplicada, utilizando como mensaje una cadena de datos de conjunto de valores de comprobación de integridad parcial.
17. Un método de procesamiento de datos de acuerdo con la reivindicación 15ª, caracterizado porque dicho valor de comprobación de integridad parcial es generado aplicando diferentes tipos de claves de generación de valor de comprobación parcial correspondientes a valores de comprobación de integridad parcial generados.
18. Un método de procesamiento de datos de acuerdo con la reivindicación 15ª, caracterizado porque un valor generado a partir de dicho valor de comprobación de integridad intermedia por medio de un proceso criptográfico con aplicación de clave de firma se aplica como valor de cotejamiento para verificación de datos.
19. Un método de procesamiento de datos de acuerdo con la reivindicación 18ª, caracterizado porque se aplican diferentes claves de firma al proceso criptográfico para dicho valor de comprobación de integridad intermedia dependiendo de una localización de dichos datos de contenido, para obtener el valor de cotejamiento para verificación de datos.
20. Un método de procesamiento de datos de acuerdo con la reivindicación 19ª, caracterizado porque se selecciona y se utiliza como dicha clave de firma una clave de firma común a todas las entidades de un sistema para ejecutar un proceso de verificación de datos, o una clave de firma específica de aparato específica para cada aparato que ejecuta un proceso de verificación de datos, dependiendo de la localización de los datos de contenido.
21. Un método de procesamiento de datos de acuerdo con la reivindicación 15ª, caracterizado porque dicho valor de comprobación de integridad parcial contiene uno o más valores de comprobación de integridad de sección de cabecera generados para datos intrasección de cabecera que constituyen parcialmente datos de información y uno o más valores de comprobación de integridad de contenido generados para datos intrasección de contenido que constituyen parcialmente los datos de información, y un proceso de verificación de datos: genera uno o más valores de comprobación de integridad de sección de cabecera para un conjunto parcial de datos en dichos datos intrasección de cabecera para ejecutar un proceso de cotejamiento; genera uno o más valores de comprobación de integridad de contenido para un conjunto parcial de datos en dichos datos intrasección de contenido para ejecutar un proceso de cotejamiento; y genera adicionalmente un valor de comprobación de integridad general en base a todos los mencionados valores de comprobación de integridad de sección de cabecera y dichos valores de comprobación de integridad de contenido generados, para ejecutar un proceso de cotejamiento con el fin de verificar los datos.
22. Un método de procesamiento de datos de acuerdo con la reivindicación 15ª, caracterizado porque: dicho valor de comprobación de integridad parcial contiene uno o más valores de comprobación de integridad de sección de cabecera generados para datos intrasección de cabecera que constituyen parcialmente datos de información, y el proceso de verificación de datos: genera uno o más valores de comprobación de integridad de sección de cabecera para un conjunto parcial de datos en dichos datos intrasección de cabecera para ejecutar un proceso de cotejamiento; y genera adicionalmente un valor de comprobación de integridad general en base a dichos valores de comprobación de integridad de sección de cabecera (uno o más) generados y en base a datos de bloque de contenido que constituyen parte de dichos datos, para ejecutar un proceso de cotejamiento con el fin de verificar los datos.
23. Un método de procesamiento de datos de acuerdo con la reivindicación 15ª, caracterizado porque comprende adicionalmente un proceso para almacenar, después de la verificación de datos, datos validados de almacenamiento.
24. Un método de procesamiento de datos de acuerdo con la reivindicación 23ª, caracterizado porque si en el proceso para cotejar dicho valor de comprobación de integridad parcial el cotejamiento no se establece, se ejecutan funciones de control tales como suspender el proceso para almacenar datos en dicho dispositivo de registro.
25. Un método de procesamiento de datos de acuerdo con la reivindicación 15ª, caracterizado porque comprende adicionalmente un proceso de reproducción de datos para reproducir datos después de la verificación de datos.
26. Un método de procesamiento de datos de acuerdo con la reivindicación 25ª, caracterizado porque si en el proceso para cotejar dicho valor de comprobación de integridad parcial no se establece el cotejamiento, se ejecutan funciones de control tales como suspender el proceso de reproducción ejecutado en dicha sección de proceso de reproducción.
27. Un método de procesamiento de datos de acuerdo con la reivindicación 26ª, caracterizado porque coteja solamente los valores de comprobación de integridad de sección de cabecera en los datos durante el proceso para cotejar los valores de comprobación de integridad parcial y transmite a dicha sección de proceso de reproducción para reproducción datos para los cuales se ha establecido el cotejamiento de los valores de comprobación de integridad de sección de cabecera.
28. Un medio de creación de programa para crear un programa de computador para hacer que se ejecute un proceso de verificación de datos en un sistema de computador para verificar la validez de datos, haciendo que dicho computador realice las operaciones del método de acuerdo con la reivindicación 15ª.
ES01901463T 2000-01-21 2001-01-19 Sistema de autentificacion de datos. Expired - Lifetime ES2301525T3 (es)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
JP2000-13322 2000-01-21
JP2000013322A JP2001203686A (ja) 2000-01-21 2000-01-21 データ処理装置、データ処理方法およびデータ検証値付与方法、並びにプログラム提供媒体
JP2000-16213 2000-01-25
JP2000015551A JP2001211148A (ja) 2000-01-25 2000-01-25 データ処理装置、データ処理システム、およびデータ処理方法、並びにプログラム提供媒体
JP2000-15551 2000-01-25
JP2000016251A JP2001211152A (ja) 2000-01-25 2000-01-25 データ処理装置、コンテンツデータ生成方法、およびデータ処理方法、並びにプログラム提供媒体
JP2000015858A JP2001209310A (ja) 2000-01-25 2000-01-25 データ処理装置、データ処理方法およびコンテンツデータ生成方法、並びにプログラム提供媒体
JP2000-16251 2000-01-25
JP2000016213A JP2001211151A (ja) 2000-01-25 2000-01-25 データ処理装置、データ処理方法およびコンテンツデータ検証値付与方法、並びにプログラム提供媒体
JP2000016292A JP2001211080A (ja) 2000-01-25 2000-01-25 データ処理装置、データ処理方法およびコンテンツデータ生成方法、並びにプログラム提供媒体
JP2000-16029 2000-01-25
JP2000-15858 2000-01-25
JP2000016029A JP2001211149A (ja) 2000-01-25 2000-01-25 データ処理装置およびデータ処理方法、並びにプログラム提供媒体
JP2000-16292 2000-01-25
PCT/JP2001/000346 WO2001054099A1 (fr) 2000-01-21 2001-01-19 Systeme d'authentification de donnees

Publications (1)

Publication Number Publication Date
ES2301525T3 true ES2301525T3 (es) 2008-07-01

Family

ID=27566947

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01901463T Expired - Lifetime ES2301525T3 (es) 2000-01-21 2001-01-19 Sistema de autentificacion de datos.

Country Status (14)

Country Link
US (6) US7373506B2 (es)
EP (4) EP1624609B1 (es)
KR (9) KR100653803B1 (es)
CN (4) CN1818990A (es)
AT (2) ATE387775T1 (es)
AU (1) AU785421B2 (es)
BR (1) BR0104356A (es)
CA (2) CA2400786C (es)
DE (1) DE60132962T2 (es)
DK (1) DK1195734T3 (es)
ES (1) ES2301525T3 (es)
HK (2) HK1047815A1 (es)
NZ (1) NZ513862A (es)
WO (1) WO2001054099A1 (es)

Families Citing this family (374)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328350B2 (en) * 2001-03-29 2008-02-05 Arcot Systems, Inc. Method and apparatus for secure cryptographic key generation, certification and use
WO2001039429A1 (en) * 1999-11-22 2001-05-31 Intel Corporation Integrity check values (icv) based on pseudorandom binary matrices
US7445550B2 (en) 2000-02-22 2008-11-04 Creative Kingdoms, Llc Magical wand and interactive play experience
US7878905B2 (en) 2000-02-22 2011-02-01 Creative Kingdoms, Llc Multi-layered interactive play experience
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 (ja) * 2000-12-05 2009-07-22 ソニー株式会社 データ転送システム、データ転送装置、データ転送方法、記録媒体
US7526795B2 (en) * 2001-03-27 2009-04-28 Micron Technology, Inc. Data security for digital data storage
US7409562B2 (en) 2001-09-21 2008-08-05 The Directv Group, Inc. Method and apparatus for encrypting media programs for later purchase and viewing
WO2003034425A1 (en) * 2001-10-12 2003-04-24 Koninklijke Philips Electronics N.V. Apparatus and method for reading or writing block-wise stored user data
JP4292736B2 (ja) * 2001-11-15 2009-07-08 ソニー株式会社 伝送システム、伝送方法
US20030145183A1 (en) * 2002-01-31 2003-07-31 Muehring Phillip T. Applications for removable storage
JP2003228915A (ja) * 2002-02-01 2003-08-15 Sony Corp 再生制御方法、プログラム、記録媒体
CN100399303C (zh) * 2002-02-27 2008-07-02 松下电器产业株式会社 主机装置、再现装置、著作权管理的方法和系统及所用程序和记录媒体
US7627753B2 (en) * 2002-03-19 2009-12-01 Microsoft Corporation Secure digital data format and code enforced policy
JPWO2003084125A1 (ja) * 2002-03-29 2005-08-04 松下電器産業株式会社 コンテンツ処理装置
US6967566B2 (en) 2002-04-05 2005-11-22 Creative Kingdoms, Llc Live-action interactive adventure game
US20070066396A1 (en) 2002-04-05 2007-03-22 Denise Chapman Weston Retail methods for providing an interactive product to a consumer
JP4729258B2 (ja) 2002-04-12 2011-07-20 トムソン ライセンシング データ送信者の匿名認証方法
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
EP1387238B1 (en) * 2002-07-30 2011-06-15 Fujitsu Limited Method and apparatus for reproducing information using a security module
KR20040017445A (ko) * 2002-08-21 2004-02-27 엘지전자 주식회사 멀티미디어 데이터 인증방법
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
US7401221B2 (en) * 2002-09-04 2008-07-15 Microsoft Corporation Advanced stream format (ASF) data stream header object protection
JP2004104602A (ja) * 2002-09-11 2004-04-02 Pioneer Electronic Corp 情報記録媒体、情報記録装置、情報再生装置、情報配信装置、それらの方法、それらのプログラムおよびそのプログラムを記録した記録媒体
JP3945644B2 (ja) * 2002-11-05 2007-07-18 ソニー株式会社 コピー回数制御方法、サーバ装置、記録制御方法および記録制御装置
US7353543B2 (en) * 2003-01-10 2008-04-01 Matsushita Electric Industrial Co., Ltd. Contents distribution system
KR20050123105A (ko) * 2003-03-24 2005-12-29 마츠시타 덴끼 산교 가부시키가이샤 데이터 보호 관리 장치 및 데이터 보호 관리 방법
US9446319B2 (en) 2003-03-25 2016-09-20 Mq Gaming, Llc Interactive gaming toy
JP2004295373A (ja) * 2003-03-26 2004-10-21 Sony Corp 情報記録媒体、情報処理装置、情報記録媒体製造装置、および方法、並びにコンピュータ・プログラム
RU2357366C2 (ru) * 2003-04-11 2009-05-27 Сони Корпорейшн Привод носителя записи информации
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 (de) * 2003-07-03 2014-02-27 Bt Ignite Gmbh & Co. Verfahren und Vorrichtung zum Übermitteln von Entschlüsselungscodes für frei übertragene, verschlüsselte Programminhalte an eindeutig identifizierbare Empfänger
JP4728611B2 (ja) 2003-08-12 2011-07-20 株式会社リコー 記憶媒体、記憶装置、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体
JP4676724B2 (ja) * 2003-08-12 2011-04-27 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
US7562230B2 (en) * 2003-10-14 2009-07-14 Intel Corporation Data security
EP1532984A1 (en) * 2003-11-19 2005-05-25 Institut National De La Sante Et De La Recherche Medicale (Inserm) Use of anti CD44 antibodies for eradicating stem cells in acute myeloid leukemia
US8165297B2 (en) * 2003-11-21 2012-04-24 Finisar Corporation Transceiver with controller for authentication
JP4250510B2 (ja) * 2003-11-26 2009-04-08 株式会社東芝 コンテンツ配信サービス提供システムとそのコンテンツ配信装置及びユーザ端末装置
KR20050050976A (ko) * 2003-11-26 2005-06-01 엘지전자 주식회사 이동 통신 단말기의 비밀번호 해킹 검출 방법
JP4338508B2 (ja) * 2003-12-05 2009-10-07 シャープ株式会社 データ処理装置
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
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 (ja) * 2003-12-26 2005-07-14 Toshiba Corp コンテンツ送信装置及びコンテンツ送信方法
JP4659742B2 (ja) 2004-01-15 2011-03-30 パナソニック株式会社 コンテンツ再生システムおよびインデックス情報出力方法
JP2005204250A (ja) * 2004-01-19 2005-07-28 Ricoh Co Ltd 証明書確認方法、証明書確認プログラム及び証明書
EP1733555A4 (en) * 2004-02-23 2009-09-30 Lexar Media Inc SAFE COMPACT FLASH
CA2559271A1 (en) 2004-03-12 2005-09-22 Ingenia Technology Limited Methods and apparatuses for creating authenticatable printed articles and subsequently verifying them
AU2005220385B2 (en) 2004-03-12 2010-07-15 Ingenia Holdings Limited Authenticity verification methods, products and apparatuses
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 (ja) * 2004-03-29 2010-10-13 ソニー株式会社 コンテンツ流通システム、暗号化装置、暗号化方法、情報処理プログラム、及び記憶媒体
EP1603138A1 (fr) * 2004-04-15 2005-12-07 STMicroelectronics SA Mémoire non volatile comprenant des moyens de brouillage de la lecture de cellules mémoire
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
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
US8769671B2 (en) 2004-05-02 2014-07-01 Markmonitor Inc. Online fraud solution
JP4749680B2 (ja) 2004-05-10 2011-08-17 株式会社ソニー・コンピュータエンタテインメント データ構造、データ処理装置、データ処理方法、認証装置、認証方法、コンピュータプログラム、及び記録媒体
JP4686138B2 (ja) * 2004-05-26 2011-05-18 株式会社東芝 記憶媒体変換方法、プログラム及び機器
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
US8011747B2 (en) * 2004-05-27 2011-09-06 Silverbrook Research Pty Ltd Printer controller for controlling a printhead with horizontally grouped firing order
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
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
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
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
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
US7377609B2 (en) * 2004-05-27 2008-05-27 Silverbrook Research Pty Ltd Printer controller for at least partially compensating for erroneous rotational displacement
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
US7549718B2 (en) 2004-05-27 2009-06-23 Silverbrook Research Pty Ltd Printhead module having operation controllable on basis of thermal sensors
US7735944B2 (en) * 2004-05-27 2010-06-15 Silverbrook Research Pty Ltd Printer comprising two printhead modules and at least two printer controllers
US7557941B2 (en) 2004-05-27 2009-07-07 Silverbrook Research Pty Ltd Use of variant and base keys with three or more entities
US7243193B2 (en) * 2004-05-27 2007-07-10 Silverbrook Research Pty Ltd Storage of program code in arbitrary locations in memory
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
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
US7484831B2 (en) * 2004-05-27 2009-02-03 Silverbrook Research Pty Ltd Printhead module having horizontally grouped firing order
US7600843B2 (en) * 2004-05-27 2009-10-13 Silverbrook Research Pty Ltd Printer controller for controlling a printhead module based on thermal sensing
US7281777B2 (en) * 2004-05-27 2007-10-16 Silverbrook Research Pty Ltd Printhead module having a communication input for data and control
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
US7631190B2 (en) * 2004-05-27 2009-12-08 Silverbrook Research Pty Ltd Use of variant and base keys with two entities
JP2005354217A (ja) * 2004-06-08 2005-12-22 Sony Corp 情報出力処理装置、情報入力処理装置、情報処理システム及び情報処理方法
US20080072072A1 (en) * 2004-06-09 2008-03-20 Kenji Muraki Recording Device and Recording Method
JP4144573B2 (ja) * 2004-07-15 2008-09-03 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US7623660B1 (en) * 2004-07-20 2009-11-24 Xilinx, Inc. Method and system for pipelined decryption
US8312267B2 (en) 2004-07-20 2012-11-13 Time Warner Cable Inc. Technique for securely communicating programming content
US8266429B2 (en) 2004-07-20 2012-09-11 Time Warner Cable, Inc. Technique for securely communicating and storing programming material in a trusted domain
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
US7941786B2 (en) * 2004-09-08 2011-05-10 Universal Electronics Inc. Configurable controlling device and associated configuration distribution system and method
US9632665B2 (en) 2004-09-08 2017-04-25 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US11687217B2 (en) 2004-09-08 2023-06-27 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US20060064394A1 (en) * 2004-09-17 2006-03-23 International Business Machines Corporation Method for handling changing and disappearing online references to research information
US7711965B2 (en) * 2004-10-20 2010-05-04 Intel Corporation Data security
KR100664306B1 (ko) * 2004-10-29 2007-01-04 삼성전자주식회사 데이터 유효성 검증을 위한 예방 통제 데이터 생성 및검증 장치 및 방법
KR101180612B1 (ko) * 2004-11-08 2012-09-06 소니 주식회사 정보 처리 시스템 및 정보 처리 장치
JP3810425B2 (ja) * 2004-12-16 2006-08-16 松下電器産業株式会社 改竄検出用データ生成方法、および改竄検出方法及び装置
US8601283B2 (en) * 2004-12-21 2013-12-03 Sandisk Technologies Inc. Method for versatile content control with partitioning
US8504849B2 (en) * 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
US8051052B2 (en) * 2004-12-21 2011-11-01 Sandisk Technologies Inc. Method for creating control structure for versatile content control
US20070168292A1 (en) * 2004-12-21 2007-07-19 Fabrice Jogand-Coulomb Memory system with versatile content control
US7801869B2 (en) * 2004-12-22 2010-09-21 Certicom Corp. Partial revocation list
US10064540B2 (en) * 2005-02-02 2018-09-04 Intuitive Surgical Operations, Inc. Visualization apparatus for transseptal access
JP4692003B2 (ja) * 2005-02-10 2011-06-01 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4833568B2 (ja) * 2005-03-15 2011-12-07 株式会社リコー 情報処理装置、画像形成装置、起動プログラムおよび記憶媒体
US7610273B2 (en) * 2005-03-22 2009-10-27 Microsoft Corporation Application identity and rating service
US20090055638A1 (en) * 2005-04-21 2009-02-26 Toshihisa Nakano Algorithm update system
JP2008545317A (ja) * 2005-06-29 2008-12-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ キーブロックに基づく認証のための装置および方法
EA200800163A1 (ru) * 2005-06-29 2008-04-28 Конинклейке Филипс Электроникс Н.В. Система и способ для аутентификации на основе блока ключей
KR100728928B1 (ko) 2005-07-01 2007-06-15 삼성전자주식회사 기록매체를 통해 오프라인된 영상기기에 컨텐츠 재생권한부여방법
DE602006004797D1 (de) * 2005-07-05 2009-03-05 St Microelectronics Sa Prüfung einer in einer Speicherzone abgelegten digitalen Nachricht
US7748031B2 (en) * 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
JP4788212B2 (ja) * 2005-07-13 2011-10-05 富士ゼロックス株式会社 デジタル署名プログラム及びデジタル署名システム
JP4818651B2 (ja) * 2005-07-13 2011-11-16 ルネサスエレクトロニクス株式会社 暗号化・復号化回路
JP4827468B2 (ja) 2005-07-25 2011-11-30 キヤノン株式会社 情報処理装置及び情報処理装置の制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
GB2428948B (en) * 2005-07-27 2007-09-05 Ingenia Technology Ltd Keys
US7702107B1 (en) * 2005-07-27 2010-04-20 Messing John H Server-based encrypted messaging method and apparatus
JP5123181B2 (ja) 2005-07-27 2013-01-16 インジェニア・テクノロジー・(ユーケイ)・リミテッド 真正性の検証
JP2009503672A (ja) * 2005-07-27 2009-01-29 インゲニア・テクノロジー・リミテッド スペックルパターンを使用した処方箋認証
JP2009503976A (ja) * 2005-07-27 2009-01-29 インゲニア・テクノロジー・リミテッド 物品の表面からのコヒーレントな光放射の散乱から得られた信号から作成された物品のシグネチャの検証
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 (ja) * 2005-09-09 2012-08-29 キヤノン株式会社 画像処理方法、画像処理装置、プログラムコード及び記憶媒体
DE102005045733A1 (de) * 2005-09-23 2007-04-05 Nec Europe Ltd. Verfahren zum Übermitteln von Nachrichten
US20070074038A1 (en) * 2005-09-29 2007-03-29 International Business Machines Corporation Method, apparatus and program storage device for providing a secure password manager
US20070083467A1 (en) * 2005-10-10 2007-04-12 Apple Computer, Inc. Partial encryption techniques for media data
ATE463897T1 (de) * 2005-10-14 2010-04-15 Research In Motion Ltd System und verfahren zum schutz von schlüsseln für masterverschlüsselung
TWI281825B (en) * 2005-10-18 2007-05-21 Univ Nat Taiwan Right management system and method for digital broadcasting
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 (ko) * 2005-11-26 2006-12-11 한국전자통신연구원 디지털 콘텐츠를 안전하게 배포하는 방법 및 그 장치
US8355410B2 (en) 2007-08-17 2013-01-15 At&T Intellectual Property I, L.P. Location-based mobile gaming application and method for implementing the same using a scalable tiered geocast protocol
US20090080647A1 (en) * 2005-12-14 2009-03-26 Nds Limited Method and System for Usage of Block Cipher Encryption
JP2009521039A (ja) * 2005-12-23 2009-05-28 インジェニア・ホールディングス・(ユー・ケイ)・リミテッド 光学的認証
KR100703811B1 (ko) * 2006-02-28 2007-04-09 삼성전자주식회사 휴대용 저장장치 및 휴대용 저장장치의 데이터 관리 방법
EP1999883A4 (en) 2006-03-14 2013-03-06 Divx Llc FEDERATED DIGITAL RIGHTS MANAGEMENT SYSTEM COMPRISING CONFIDENCE SYSTEMS
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
US8775319B2 (en) 2006-05-15 2014-07-08 The Directv Group, Inc. Secure content transfer systems and methods to operate the same
US8495380B2 (en) * 2006-06-06 2013-07-23 Red Hat, Inc. Methods and systems for server-side key generation
JP2008009631A (ja) * 2006-06-28 2008-01-17 Hitachi Ltd 記憶装置及び記憶方法
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
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
US20080063206A1 (en) * 2006-09-07 2008-03-13 Karp James M Method for altering the access characteristics of encrypted data
JP4957148B2 (ja) * 2006-09-26 2012-06-20 富士通株式会社 鍵管理機能を持つセキュア素子および情報処理装置
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 (ja) * 2006-10-25 2012-09-12 ソニー株式会社 メディアドライブ装置、メディアドライブ装置の動作方法、プログラム、プログラム記録媒体
US8949600B2 (en) * 2006-10-27 2015-02-03 Qualcomm Incorporated Composed message authentication code
US8732854B2 (en) 2006-11-01 2014-05-20 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
JP2008117459A (ja) * 2006-11-02 2008-05-22 Hitachi Ltd 記録再生装置
CN103561278B (zh) 2007-01-05 2017-04-12 索尼克知识产权股份有限公司 包含连续播放的视频分配系统
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 (zh) * 2007-02-15 2008-12-03 北京中星微电子有限公司 数字版权管理方法和内容服务器以及媒体播放器
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
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
US8762714B2 (en) * 2007-04-24 2014-06-24 Finisar Corporation Protecting against counterfeit electronics devices
KR20090001605A (ko) * 2007-05-03 2009-01-09 삼성전자주식회사 재생 설정 정보를 포함하는 이동식 기록매체, 이동식기록매체에 기록된 재생 설정 정보를 이용하여 콘텐츠를재생하는 장치 및 방법
KR101370829B1 (ko) * 2007-05-08 2014-03-10 삼성전자주식회사 데이터의 암호화/복호화 방법 및 이를 적용한 버스 시스템
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 (zh) 2007-06-21 2012-12-05 西门子(中国)有限公司 加密、解密方法,及应用所述方法的plc系统
KR101495535B1 (ko) * 2007-06-22 2015-02-25 삼성전자주식회사 컨텐츠 디바이스의 폐기 여부를 확인하여 데이터를전송하는 전송 방법과 시스템, 데이터 서버
US20100174917A1 (en) * 2007-07-03 2010-07-08 Pioneer Corporation Information recording medium, reproducing apparatus and cumputer program
JP4396737B2 (ja) * 2007-07-17 2010-01-13 ソニー株式会社 情報処理装置、コンテンツ提供システム、および情報処理方法、並びにコンピュータ・プログラム
CA2692817A1 (en) 2007-07-17 2009-01-22 Certicom Corp. Method of compressing a cryptographic value
FR2920067B1 (fr) * 2007-08-13 2014-11-28 Actimagine Procede et dispositif de chiffrement partiel d'un contenu numerique
EP2203861A1 (en) * 2007-08-24 2010-07-07 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
WO2009028873A2 (en) * 2007-08-29 2009-03-05 Cdnetworks Co., Ltd. Protection against unauthorized copying of digital media content
JP5053013B2 (ja) * 2007-09-25 2012-10-17 京セラ株式会社 受信装置、およびストリーム送信装置
JP5053014B2 (ja) * 2007-09-25 2012-10-17 京セラ株式会社 受信装置、およびストリーム送信装置
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
WO2009059331A2 (en) * 2007-11-02 2009-05-07 Finisar Corporation Anticounterfeiting means for optical communication components
CN101861583B (zh) 2007-11-16 2014-06-04 索尼克Ip股份有限公司 用于多媒体文件的分级及简化索引结构
ATE527614T1 (de) * 2008-01-20 2011-10-15 Nds Ltd Sichere datenbenutzung
US10552701B2 (en) * 2008-02-01 2020-02-04 Oath Inc. System and method for detecting the source of media content with application to business rules
JP4998314B2 (ja) * 2008-02-19 2012-08-15 コニカミノルタホールディングス株式会社 通信制御方法および通信制御プログラム
JP5248153B2 (ja) * 2008-03-14 2013-07-31 株式会社東芝 情報処理装置、方法及びプログラム
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 (zh) * 2008-04-10 2013-06-12 日本电气株式会社 信息泄露防止装置和方法及其程序
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
US20090290714A1 (en) * 2008-05-20 2009-11-26 Microsoft Corporation Protocol for Verifying Integrity of Remote Data
US8259949B2 (en) 2008-05-27 2012-09-04 Intel Corporation Methods and apparatus for protecting digital content
US8489836B2 (en) * 2008-06-24 2013-07-16 Nagravision Sa Secure memory management system and method
US8954696B2 (en) 2008-06-24 2015-02-10 Nagravision S.A. Secure memory management system and method
JP4737243B2 (ja) * 2008-07-11 2011-07-27 ソニー株式会社 集積回路装置及びデータ伝送システム
KR100897790B1 (ko) * 2008-08-07 2009-05-15 (주)씨디네트웍스 하드웨어 아이디 정보를 이용한 디지털 콘텐츠의 보호 방법및 장치
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
EP2166696B1 (fr) * 2008-08-27 2016-10-05 STMicroelectronics (Rousset) SAS Protection de l'intégrité de données chiffrées en utilisant un état intermédiare de chiffrement pour générer une 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
WO2010033497A1 (en) 2008-09-18 2010-03-25 Marvell World Trade Ltd. Preloading applications onto memory at least partially during boot up
WO2010035449A1 (ja) * 2008-09-24 2010-04-01 パナソニック株式会社 記録再生システム、記録媒体装置及び記録再生装置
US20100088520A1 (en) * 2008-10-02 2010-04-08 Microsoft Corporation Protocol for determining availability of peers in a peer-to-peer storage system
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 (fr) * 2008-11-10 2010-11-26 Active Circle Procede et systeme de stockage virtualise d'un ensemble de donnees numeriques
WO2010055924A1 (ja) * 2008-11-14 2010-05-20 Okiセミコンダクタ株式会社 秘密情報伝送方法、秘密情報伝送システム及び秘密情報送信装置
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
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
JP2010267240A (ja) * 2009-04-16 2010-11-25 Toshiba Corp 記録装置
ES2365887B1 (es) * 2009-05-05 2012-09-03 Scytl Secure Electronic Voting S.A. Metodo de verificacion de procesos de descifrado
US9602864B2 (en) 2009-06-08 2017-03-21 Time Warner Cable Enterprises Llc Media bridge apparatus and methods
US9866609B2 (en) 2009-06-08 2018-01-09 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
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 (zh) 2009-12-04 2016-04-20 密码研究公司 可验证防泄漏的加密和解密
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
US8869216B2 (en) 2009-12-14 2014-10-21 Lg Electronics Inc. Method of processing non-real time service and broadcast receiver
EP2532116A4 (en) 2010-02-04 2015-11-18 Gentex Corp SYSTEM AND METHOD FOR WIRELESS MEMORY PROGRAMMING IN A COMMUNICATION SYSTEM
US9906838B2 (en) 2010-07-12 2018-02-27 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
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
US10016684B2 (en) * 2010-10-28 2018-07-10 At&T Intellectual Property I, L.P. Secure geographic based gaming
US10162553B2 (en) 2010-11-24 2018-12-25 Western Digital Technologies, Inc. Methods and systems for object level de-duplication for solid state devices
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
JP5159916B2 (ja) * 2011-04-28 2013-03-13 株式会社東芝 ホスト
FR2976147B1 (fr) * 2011-05-30 2013-11-22 Maxim Integrated Products Schema d'entrelacement de donnees pour une memoire externe d'un microcontroleur securise
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
US8812662B2 (en) 2011-06-29 2014-08-19 Sonic Ip, Inc. Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
KR101290809B1 (ko) * 2011-07-08 2013-08-23 삼성중공업 주식회사 콘텐츠 제공 서버, 콘텐츠 암호화 방법, 콘텐츠 복호화 방법, 및 이들 방법이 저장된 기록매체
CN102279813B (zh) * 2011-08-12 2014-03-12 无锡城市云计算中心有限公司 一种加密卡内系统的保护方法
WO2013033458A2 (en) 2011-08-30 2013-03-07 Divx, Llc Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8799647B2 (en) 2011-08-31 2014-08-05 Sonic Ip, Inc. Systems and methods for application identification
US8787570B2 (en) 2011-08-31 2014-07-22 Sonic Ip, Inc. Systems and methods for automatically genenrating top level index files
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
JP5981923B2 (ja) 2011-09-06 2016-08-31 パナソニック株式会社 記録媒体装置、端末装置、配信装置、制御方法、プログラム、及びプログラムの記録媒体
JP5899751B2 (ja) * 2011-09-28 2016-04-06 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
KR101913424B1 (ko) * 2011-09-30 2018-11-01 한국전력공사 이종 기기간 암복호화 장치 및 방법
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
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
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
US20130179199A1 (en) 2012-01-06 2013-07-11 Rovi Corp. Systems and methods for granting access to digital content using electronic tickets and ticket tokens
US8868910B2 (en) * 2012-02-09 2014-10-21 Hewlett-Packard Development Company, L.P. Elliptic curve cryptographic signature
KR20150011802A (ko) 2012-03-20 2015-02-02 크림메니 테크놀로지스, 인크. 프로세스 작업 세트 격리를 위한 방법 및 시스템
CN103377347B (zh) * 2012-04-24 2016-01-06 腾讯科技(深圳)有限公司 文件加密、解密方法及装置
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
US9049022B2 (en) 2012-04-27 2015-06-02 Certicom Corp. Hashing prefix-free values in a certificate scheme
US9124432B2 (en) * 2012-05-25 2015-09-01 Kabushiki Kaisha Toshiba Host device and authentication method for host device
US10084818B1 (en) 2012-06-07 2018-09-25 Amazon Technologies, Inc. Flexibly configurable data modification services
US10075471B2 (en) 2012-06-07 2018-09-11 Amazon Technologies, Inc. Data loss prevention techniques
JP5973808B2 (ja) * 2012-07-03 2016-08-23 フェリカネットワークス株式会社 情報処理装置、端末装置、情報処理システム、情報処理方法およびコンピュータプログラム
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
US9936267B2 (en) 2012-08-31 2018-04-03 Divx Cf Holdings Llc System and method for decreasing an initial buffering period of an adaptive streaming system
CN102930223B (zh) * 2012-09-21 2015-07-22 北京深思洛克软件技术股份有限公司 一种磁盘数据保护方法和系统
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
EP2744145A1 (en) * 2012-12-14 2014-06-18 Gemalto SA Non alterable structure including cryptographic material
CN103092688B (zh) * 2012-12-28 2015-11-18 飞天诚信科技股份有限公司 一种在嵌入式系统中生成坐标点的方法
US9390291B2 (en) * 2012-12-29 2016-07-12 Intel Corporation Secure key derivation and cryptography logic for integrated circuits
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
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
US9367697B1 (en) 2013-02-12 2016-06-14 Amazon Technologies, Inc. Data security with a security module
US9705674B2 (en) 2013-02-12 2017-07-11 Amazon Technologies, Inc. Federated key management
US10467422B1 (en) 2013-02-12 2019-11-05 Amazon Technologies, Inc. Automatic key rotation
US20140282786A1 (en) 2013-03-12 2014-09-18 Time Warner Cable Enterprises Llc Methods and apparatus for providing and uploading content to personalized network storage
US10368255B2 (en) 2017-07-25 2019-07-30 Time Warner Cable Enterprises Llc Methods and apparatus for client-based dynamic control of connections to co-existing radio access networks
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US9066153B2 (en) 2013-03-15 2015-06-23 Time Warner Cable Enterprises Llc Apparatus and methods for multicast delivery of content in a content delivery network
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
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
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9380099B2 (en) 2013-05-31 2016-06-28 Sonic Ip, Inc. Synchronizing multiple over the top streaming clients
US9100687B2 (en) 2013-05-31 2015-08-04 Sonic Ip, Inc. Playback synchronization across playback devices
US9832171B1 (en) 2013-06-13 2017-11-28 Amazon Technologies, Inc. Negotiating a session with a cryptographic domain
US9313568B2 (en) 2013-07-23 2016-04-12 Chicago Custom Acoustics, Inc. Custom earphone with dome in the canal
WO2015015305A1 (en) 2013-07-31 2015-02-05 Marvell Word Trade Ltd. Parallelizing boot operations
FR3010598B1 (fr) 2013-09-06 2017-01-13 Sagem Defense Securite Procede de gestion de coherence de caches
US9087192B2 (en) * 2013-09-10 2015-07-21 Infineon Technologies Ag Electronic circuit and method for monitoring a data processing
US9455962B2 (en) 2013-09-22 2016-09-27 Winbond Electronics Corporation Protecting memory interface
US9343162B2 (en) 2013-10-11 2016-05-17 Winbond Electronics Corporation Protection against side-channel attacks on non-volatile memory
JP2015103890A (ja) * 2013-11-22 2015-06-04 ソニー株式会社 コンテンツ受信装置及びコンテンツ受信方法、並びにコンテンツ送信装置及びコンテンツ送信方法
US9386067B2 (en) 2013-12-30 2016-07-05 Sonic Ip, Inc. Systems and methods for playing adaptive bitrate streaming content by multicast
US9800419B2 (en) * 2014-02-04 2017-10-24 Exponential Horizons, Llc Cryptographic method and system of protecting digital content and recovery of same through unique user identification
FR3019416A1 (fr) * 2014-03-28 2015-10-02 Orange Procede de traitement de donnees
US9318221B2 (en) 2014-04-03 2016-04-19 Winbound Electronics Corporation Memory device with secure test mode
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US9397835B1 (en) 2014-05-21 2016-07-19 Amazon Technologies, Inc. Web of trust management in a distributed system
US9621940B2 (en) 2014-05-29 2017-04-11 Time Warner Cable Enterprises Llc Apparatus and methods for recording, accessing, and delivering packetized content
US11540148B2 (en) 2014-06-11 2022-12-27 Time Warner Cable Enterprises Llc Methods and apparatus for access point location
US11100234B2 (en) * 2014-06-13 2021-08-24 Hitachi Systems, Ltd. Work recording apparatus, system, program, and method preventing confidential information leaks
US9438421B1 (en) 2014-06-27 2016-09-06 Amazon Technologies, Inc. Supporting a fixed transaction rate with a variably-backed logical cryptographic key
CA2952847A1 (en) 2014-08-07 2016-02-11 Sonic Ip, Inc. Systems and methods for protecting elementary bitstreams incorporating independently encoded tiles
EP2990978B1 (en) * 2014-08-28 2020-11-18 Vodafone GmbH Operating a device for forwarding protected content to a client unit
US9866392B1 (en) 2014-09-15 2018-01-09 Amazon Technologies, Inc. Distributed system web of trust provisioning
IL234956A (en) 2014-10-02 2017-10-31 Kaluzhny Uri Data bus protection with enhanced key entropy
US9935833B2 (en) 2014-11-05 2018-04-03 Time Warner Cable Enterprises Llc Methods and apparatus for determining an optimized wireless interface installation configuration
KR102249826B1 (ko) * 2015-01-06 2021-05-11 삼성전자주식회사 데이터 관리 방법 및 이를 수행하는 전자 장치
JP6944371B2 (ja) 2015-01-06 2021-10-06 ディビックス, エルエルシー コンテンツを符号化し、デバイス間でコンテンツを共有するためのシステムおよび方法
DE112015005991B4 (de) * 2015-01-19 2024-02-08 Mitsubishi Electric Corporation Paketsendevorrichtung, Paketempfangsvorrichtung, Paketsendeprogramm und Paketempfangsprogramm
JP6613568B2 (ja) * 2015-01-19 2019-12-04 富士通株式会社 処理プログラム、処理装置および処理方法
US10110572B2 (en) * 2015-01-21 2018-10-23 Oracle International Corporation Tape drive encryption in the data path
CN107251008B (zh) 2015-02-27 2020-11-13 帝威视有限公司 在实况视频编码和流传输中进行帧复制和帧扩展的系统和方法
WO2017034642A2 (en) * 2015-06-05 2017-03-02 Nutanix, Inc. Optimizable full-path encryption in a virtualization environment
JP2017069617A (ja) * 2015-09-28 2017-04-06 ルネサスエレクトロニクス株式会社 半導体装置および画像符号化方法
US9986578B2 (en) 2015-12-04 2018-05-29 Time Warner Cable Enterprises Llc Apparatus and methods for selective data network access
US10310774B2 (en) * 2015-12-24 2019-06-04 Intel Corporation Techniques for data storage protection and integrity checking
US9918345B2 (en) 2016-01-20 2018-03-13 Time Warner Cable Enterprises Llc Apparatus and method for wireless network services in moving vehicles
US10492034B2 (en) 2016-03-07 2019-11-26 Time Warner Cable Enterprises Llc Apparatus and methods for dynamic open-access networks
CN109075968A (zh) 2016-03-08 2018-12-21 马维尔国际贸易有限公司 用于安全设备认证的方法和装置
US10019571B2 (en) 2016-03-13 2018-07-10 Winbond Electronics Corporation Protection from side-channel attacks by varying clock delays
US10095635B2 (en) 2016-03-29 2018-10-09 Seagate Technology Llc Securing information relating to data compression and encryption in a storage device
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US10231001B2 (en) 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
US10129574B2 (en) 2016-05-24 2018-11-13 Divx, Llc Systems and methods for providing variable speeds in a trick-play mode
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10164858B2 (en) 2016-06-15 2018-12-25 Time Warner Cable Enterprises Llc Apparatus and methods for monitoring and diagnosing a wireless network
US20180013566A1 (en) * 2016-07-05 2018-01-11 Dark Matter L.L.C. Apparatus, computer program, and method for securely broadcasting messages
CN106897348B (zh) * 2016-08-19 2020-10-27 创新先进技术有限公司 一种数据存储、数据校验、数据溯源方法和设备
US10389693B2 (en) * 2016-08-23 2019-08-20 Hewlett Packard Enterprise Development Lp Keys for encrypted disk partitions
WO2018134945A1 (ja) * 2017-01-19 2018-07-26 株式会社クリエイターズ・ヘッド 情報制御プログラム、情報制御システム、及び情報制御方法
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
CN108737353B (zh) * 2017-04-25 2021-08-20 北京国双科技有限公司 一种基于数据分析系统的数据加密方法及装置
JP6757697B2 (ja) * 2017-04-28 2020-09-23 株式会社日立製作所 制御コントローラおよび制御方法
KR101987025B1 (ko) * 2017-05-31 2019-06-10 삼성에스디에스 주식회사 암호화 처리 방법 및 그 장치
US10645547B2 (en) 2017-06-02 2020-05-05 Charter Communications Operating, Llc Apparatus and methods for providing wireless service in a venue
US10638361B2 (en) 2017-06-06 2020-04-28 Charter Communications Operating, Llc Methods and apparatus for dynamic control of connections to co-existing radio access networks
CN107241356B (zh) * 2017-07-24 2020-08-14 无锡江南计算技术研究所 一种网络设备合法性验证方法
US11030221B2 (en) * 2017-12-22 2021-06-08 Permutive Limited System for fast and secure content provision
CN108599922B (zh) * 2018-04-26 2021-03-30 成都盛拓源科技有限公司 新型含密钥消息完整性认证码的生成方法
CN108566270B (zh) * 2018-04-26 2021-10-01 成都盛拓源科技有限公司 使用双分组密码的新型加密方法
WO2019222516A1 (en) * 2018-05-16 2019-11-21 Lg Electronics, Inc. Systems and methods for efficient key management in a vehicular intranet
US10904292B1 (en) * 2018-09-25 2021-01-26 Amazon Technologies, Inc. Secure data transfer device
JP2020072348A (ja) * 2018-10-30 2020-05-07 キヤノン株式会社 認証方法、認証装置、被認証装置及び画像形成装置
US11469903B2 (en) * 2019-02-28 2022-10-11 Microsoft Technology Licensing, Llc Autonomous signing management operations for a key distribution service
EP3942437B1 (en) 2019-03-21 2024-01-10 DivX, LLC Systems and methods for multimedia swarms
FR3094520B1 (fr) * 2019-03-25 2021-10-22 St Microelectronics Rousset Clé de chiffrement et/ou de déchiffrement
US11444776B2 (en) * 2019-05-01 2022-09-13 Kelce S. Wilson Blockchain with daisy chained records, document corral, quarantine, message timestamping, and self-addressing
TWI772648B (zh) * 2019-06-03 2022-08-01 銓鴻資訊有限公司 基於集體驗證的部分資料驗證方法
US10803969B1 (en) 2019-08-28 2020-10-13 Micron Technology, Inc. Memory authentication
RU2759259C1 (ru) * 2020-08-19 2021-11-11 Акционерное общество "ЦентрИнформ" Система маркировки и проверки подлинности объекта
US11863679B2 (en) 2020-08-26 2024-01-02 Tenet 3, LLC Blockchain records with third party digital signatures as a trust element for high-risk digital content
US20220069981A1 (en) * 2020-09-03 2022-03-03 Google Llc Distribute Encryption Keys Securely and Efficiently
US20220103354A1 (en) * 2020-09-25 2022-03-31 Renesas Electronics Corporation Secure encryption key generation and management in open and secure processor environments

Family Cites Families (69)

* 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
JP2997483B2 (ja) * 1989-11-08 2000-01-11 株式会社日立製作所 検証用データ生成装置
EP0483424A1 (en) * 1990-10-30 1992-05-06 International Business Machines Corporation Key hashing in data processors
JPH05327394A (ja) 1992-05-27 1993-12-10 Japan Radio Co Ltd 弾性表面波素子のフェースダウン実装用パッケージ
JP3080202B2 (ja) * 1992-11-18 2000-08-21 日本電信電話株式会社 Icクレジットカード及びicカード端末
US5396558A (en) * 1992-09-18 1995-03-07 Nippon Telegraph And Telephone Corporation Method and apparatus for settlement of accounts by IC cards
FR2696854A1 (fr) * 1992-10-09 1994-04-15 Kudelski Sa Fabrique Enreg Nag Système de traitement d'information utilisant un ensemble de cartes à mémoire.
JPH06289782A (ja) * 1993-04-07 1994-10-18 Matsushita Electric Ind Co Ltd 相互認証方法
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
DE69638018D1 (de) * 1995-02-13 2009-10-15 Intertrust Tech Corp Systeme und Verfahren zur Verwaltung von gesicherten Transaktionen und zum Schutz von elektronischen Rechten
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
WO1997005551A1 (en) * 1995-07-31 1997-02-13 Verifone, Inc. Method and apparatus for operating resources under control of a security module or other secure processor
EP0802535B1 (en) * 1995-10-09 2005-06-15 Matsushita Electric Industrial Co., Ltd. Information recording medium, information reproduction apparatus and information reproduction method
JPH09106429A (ja) 1995-10-12 1997-04-22 Hitachi Ltd 電子伝票処理方法
US5917910A (en) * 1995-10-16 1999-06-29 Sony Corporation Encrypting method and apparatus, recording method, decrypting method and apparatus, and recording medium
JP3151738B2 (ja) 1995-11-21 2001-04-03 株式会社小糸製作所 車両用灯具
JPH09179951A (ja) 1995-12-22 1997-07-11 Dainippon Printing Co Ltd 携帯可能情報記憶媒体及びそのシステム
TW346571B (en) * 1996-02-06 1998-12-01 Matsushita Electric Ind Co Ltd Data reception apparatus, data transmission apparatus, information processing system, data reception method
US5673316A (en) * 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
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
JPH1065662A (ja) 1996-04-01 1998-03-06 Sony Corp データ復号方法および装置、認証方法、記録媒体、ディスク製造方法、記録方法、並びに記録装置
DE69737593T2 (de) * 1996-05-15 2007-12-20 Intertrust Technologies Corp., Sunnyvale Verfahren und Vorrichtung zum Zugriff auf DVD-Inhalte
JP3540511B2 (ja) * 1996-06-18 2004-07-07 株式会社東芝 電子署名検証装置
JPH10126406A (ja) 1996-10-23 1998-05-15 Toyo Commun Equip Co Ltd ネットワークにおけるデータの暗号方式
JP3039624B2 (ja) 1996-12-02 2000-05-08 日本電気株式会社 オーディオ・ビデオ同期再生装置
JPH10187826A (ja) 1996-12-19 1998-07-21 Nec Corp 偽造カード使用防止方法およびカード読取書込装置ならびに偽造カード使用防止システム
TW412734B (en) * 1996-12-26 2000-11-21 Toshiba Corp Storage medium for recording data, regeneration device for regenerating data recorded in the storage medium, and regeneration system for regenerating data recorded in the storage medium via network
JP3746146B2 (ja) * 1997-02-07 2006-02-15 株式会社東芝 暗号情報の生成及び復号方法及び伝送及び受信装置
JP4268690B2 (ja) 1997-03-26 2009-05-27 ソニー株式会社 認証システムおよび方法、並びに認証方法
JPH10283280A (ja) * 1997-04-07 1998-10-23 M V P Kk マルチメディア電子メール送信方法およびそれに用いる記録媒体
JPH10303880A (ja) * 1997-05-01 1998-11-13 Digital Vision Lab:Kk サービス提供システム
JP3575951B2 (ja) * 1997-06-17 2004-10-13 株式会社東芝 機器認証方法及び装置並びに認証システム
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
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 (fr) 1997-12-16 2000-01-07 Schlumberger Ind Sa Procede de securisation de la transmission d'un message d'un dispositif emetteur a un dispositif recepteur
JPH11185006A (ja) 1997-12-25 1999-07-09 Dainippon Printing Co Ltd Icカード
KR100611867B1 (ko) 1998-01-26 2006-08-11 마츠시타 덴끼 산교 가부시키가이샤 데이터 기록재생방법, 데이터 기록재생 시스템, 기록장치, 재생장치, 프로그램 기록매체
JPH11213552A (ja) 1998-01-26 1999-08-06 Matsushita Electric Ind Co Ltd データ記録再生方法およびデータ記録再生システム
EP0972374A1 (en) 1998-02-04 2000-01-19 Sun Microsystems, Inc. Method and apparatus for efficient authentication and integrity checking using hierarchical hashing
US6055236A (en) * 1998-03-05 2000-04-25 3Com Corporation Method and system for locating network services with distributed network address translation
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
JP2002512412A (ja) * 1998-04-17 2002-04-23 アイオメガ コーポレイション 不正コピー防止のため特定媒体へ電子化保護データを対応づけるシステム
US6356753B1 (en) * 1998-04-24 2002-03-12 Ericsson Inc Management of authentication and encryption user information in digital user terminals
JPH11306088A (ja) 1998-04-27 1999-11-05 Toppan Printing Co Ltd Icカードおよびicカードシステム
JPH11338982A (ja) * 1998-05-25 1999-12-10 Mitsubishi Electric Corp Icメモリカードシステム装置及びそのicメモリカード
JP4208998B2 (ja) * 1998-07-03 2009-01-14 パイオニア株式会社 複製制限機能を備えた記録再生システム、記録装置および再生装置
US6304973B1 (en) * 1998-08-06 2001-10-16 Cryptek Secure Communications, Llc Multi-level security network system
CN100426263C (zh) * 1998-10-16 2008-10-15 松下电器产业株式会社 记录媒体装置和存取装置
KR100286572B1 (ko) * 1998-11-19 2001-04-16 남창우 금속박막을 이용한 연료전지 자동차용 소형연료개질기 및 그시스템
JP2000181803A (ja) 1998-12-18 2000-06-30 Fujitsu Ltd 鍵管理機能付電子データ保管装置および電子データ保管方法
JP2000196582A (ja) 1998-12-25 2000-07-14 Nippon Telegr & Teleph Corp <Ntt> 記憶メディア識別子を利用した不正利用防止のための情報記録、利用および配送方法
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
MY123388A (en) 1999-03-15 2006-05-31 Sony Corp Processing method and apparatus for encrypted data transfer
JP3992396B2 (ja) 1999-03-31 2007-10-17 株式会社リコー 電子文書管理装置、電子文書管理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US6468160B2 (en) 1999-04-08 2002-10-22 Nintendo Of America, Inc. Security system for video game system with hard disk drive and internet access capability
JP4177517B2 (ja) 1999-05-21 2008-11-05 株式会社東芝 コンテンツ処理システムおよびコンテンツ保護方法
JP2000341265A (ja) 1999-05-28 2000-12-08 Matsushita Electric Ind Co Ltd データ記録および読み出し方法および記録装置および読み取り装置および書き込み装置
US6898709B1 (en) * 1999-07-02 2005-05-24 Time Certain Llc Personal computer system and methods for proving dates in digital data files
US6598161B1 (en) * 1999-08-09 2003-07-22 International Business Machines Corporation Methods, systems and computer program products for multi-level encryption
JP3748352B2 (ja) * 1999-12-16 2006-02-22 富士通株式会社 データ運用方法、画像生成方法のプログラムを記録する記録媒体、画像復元方法のプログラムを記録する記録媒体
FR2804023B1 (fr) * 2000-01-26 2002-09-20 Johnson & Johnson Consumer Fr Complement nutritionnel a base d'huile de pepins de cassis
JP4219680B2 (ja) * 2000-12-07 2009-02-04 サンディスク コーポレイション 不揮発性メモリカード、コンパクトディスクまたはその他のメディアから記録済みのオーディオ、ビデオまたはその他のコンテンツを再生するためのシステム、方法およびデバイス

Also Published As

Publication number Publication date
KR20040053330A (ko) 2004-06-23
DE60132962D1 (de) 2008-04-10
CA2400786C (en) 2007-04-10
DE60132962T2 (de) 2009-02-26
US20100005301A1 (en) 2010-01-07
KR100652098B1 (ko) 2006-12-01
CN100511329C (zh) 2009-07-08
US7669052B2 (en) 2010-02-23
KR20040096492A (ko) 2004-11-16
CN1363077A (zh) 2002-08-07
KR100653805B1 (ko) 2006-12-05
CN1420480A (zh) 2003-05-28
AU785421B2 (en) 2007-05-03
HK1047815A1 (zh) 2003-03-07
KR100653806B1 (ko) 2006-12-05
KR20040053329A (ko) 2004-06-23
EP1624609B1 (en) 2011-08-24
KR20040053328A (ko) 2004-06-23
US7373506B2 (en) 2008-05-13
BR0104356A (pt) 2002-02-19
EP1195734B1 (en) 2008-02-27
KR100653803B1 (ko) 2006-12-05
KR100653804B1 (ko) 2006-12-05
US20020169971A1 (en) 2002-11-14
KR20040096493A (ko) 2004-11-16
KR100653802B1 (ko) 2006-12-05
EP1195734A1 (en) 2002-04-10
CN1779689A (zh) 2006-05-31
US20030233559A1 (en) 2003-12-18
WO2001054099A1 (fr) 2001-07-26
KR20040097120A (ko) 2004-11-17
US20070088961A1 (en) 2007-04-19
AU2707401A (en) 2001-07-31
NZ513862A (en) 2001-09-28
EP1267515A3 (en) 2004-04-07
ATE387775T1 (de) 2008-03-15
DK1195734T3 (da) 2008-05-13
CA2365236A1 (en) 2001-07-26
KR100456496B1 (ko) 2004-11-10
US20070136612A1 (en) 2007-06-14
HK1057122A1 (en) 2004-03-12
EP1624609A2 (en) 2006-02-08
KR100653807B1 (ko) 2006-12-05
KR100653801B1 (ko) 2006-12-05
KR20020084904A (ko) 2002-11-13
EP1622302A2 (en) 2006-02-01
EP1622302A3 (en) 2006-08-23
CN1818990A (zh) 2006-08-16
US8375206B2 (en) 2013-02-12
EP1624609A3 (en) 2006-08-30
KR20010108366A (ko) 2001-12-07
KR20040058296A (ko) 2004-07-03
CA2400786A1 (en) 2001-07-26
EP1195734A4 (en) 2004-03-03
CN100423041C (zh) 2008-10-01
ATE522039T1 (de) 2011-09-15
US20100235633A1 (en) 2010-09-16
EP1267515A2 (en) 2002-12-18

Similar Documents

Publication Publication Date Title
ES2301525T3 (es) Sistema de autentificacion de datos.
EP1164748A1 (en) Storage device authentication system
KR20010109323A (ko) 데이터 기록 재생기 및 세이브 데이터 처리 방법, 및프로그램 제공 매체
JP4524829B2 (ja) データ処理システム、記録デバイス、およびデータ処理方法、並びにプログラム提供媒体
JP2001211162A (ja) データ処理システム、記録デバイス、およびデータ処理方法、並びにプログラム提供媒体
JP2001211152A (ja) データ処理装置、コンテンツデータ生成方法、およびデータ処理方法、並びにプログラム提供媒体
JP4686805B2 (ja) データ記憶素子製造方法およびデータ記憶素子、並びにデータ処理装置
JP2001209310A (ja) データ処理装置、データ処理方法およびコンテンツデータ生成方法、並びにプログラム提供媒体
JP2001211148A (ja) データ処理装置、データ処理システム、およびデータ処理方法、並びにプログラム提供媒体
JP2001209312A (ja) データ処理システム、記録デバイス、およびデータ処理方法、並びにプログラム提供媒体
AU2005200290B2 (en) Data processing apparatus and data processing method
JP2001211149A (ja) データ処理装置およびデータ処理方法、並びにプログラム提供媒体
AU2002301287B8 (en) Data Processing Apparatus and Data Processing Method
AU2005200289B2 (en) Data processing apparatus and data processing method