ES2389725T3 - Mecanismo de seguridad adaptable para impedir el acceso no autorizado a datos digitales - Google Patents

Mecanismo de seguridad adaptable para impedir el acceso no autorizado a datos digitales Download PDF

Info

Publication number
ES2389725T3
ES2389725T3 ES04030306T ES04030306T ES2389725T3 ES 2389725 T3 ES2389725 T3 ES 2389725T3 ES 04030306 T ES04030306 T ES 04030306T ES 04030306 T ES04030306 T ES 04030306T ES 2389725 T3 ES2389725 T3 ES 2389725T3
Authority
ES
Spain
Prior art keywords
passport
key
user
content
linked
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
ES04030306T
Other languages
English (en)
Inventor
Steven T. Ansell
Andrew R. Cherenson
Leon Rishniw
Susan A. Cannon
Edward J. Allard
Jason S. Brownell
Micah Stroud
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.)
Microsoft Corp
Original Assignee
Microsoft 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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Application granted granted Critical
Publication of ES2389725T3 publication Critical patent/ES2389725T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1011Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to devices
    • 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]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1015Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to users

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Burglar Alarm Systems (AREA)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)
  • Slot Machines And Peripheral Devices (AREA)

Abstract

Una estructura (148) de datos de pasaporte para asegurar el contenido digital entregado a un usuario, estando elcontenido digital cifrado con una clave maestra, e incluyendo una clave de medios obtenida cifrando la clave maestra(208) con una clave pública, comprendiendo la estructura de datos de pasaporte un campo (2204A) de información depasaporte, un campo (2206) de algoritmo de firma y un campo (2208) de firma, en la cual:el campo (2204A) de información de pasaporte almacena datos referidos al contenido digital de la estructura dedatos de pasaporte, e incluyeun certificado (2302) de usuario que incluye la clave pública (2320) usada para cifrar la clave maestra,una clave (2308) de registro cifrada usando una contraseña proporcionada por el usuario, requiriéndose tambiénla contraseña del usuario para descifrar dicha clave de registro cifrada;una clave privada (304, 2304), recíproca de dicha clave pública, cifrada usando la clave de registro,requiriéndose también la clave de registro para descifrar dicha clave privada cifrada, la cual, a su vez, se usapara descifrar la clave (302) de medios a fin de producir la clave maestra (208);información privada cifrada (2306) con respecto al usuario al cual está ligado el pasaporte, siendo descifrada lainformación privada de usuario usando la clave (2308) de registro, y exhibida durante la reproducción delcontenido de datos;el campo (2206) de algoritmo de firma especifica el algoritmo usado para generar la firma criptográfico delcampo de información de pasaporte, usando la clave privada de un servidor (126) de autenticación, yel campo (2208) de firma almacena la firma criptográfica del campo de información de pasaporte.

Description

Mecanismo de seguridad adaptable para impedir el acceso no autorizado a datos digitales
La presente invención se refiere a sistemas para restringir el acceso no autorizado a datos digitales y, en particular, a un mecanismo para limitar el acceso a tales datos digitales, bien a una máquina específica o bien a un usuario específico, y a un mecanismo para convertir el acceso limitado desde una máquina específica a un usuario específico.
La protección de datos digitales contra el acceso no autorizado ha sido una preocupación principal de los proveedores de software desde el momento en que los proveedores de software comenzaron por primera vez a entregar software de ordenador en medios portátiles de almacenamiento de datos. Tal protección ha cobrado nueva importancia desde que otras formas de datos digitales también se transportan ahora en medios portátiles de almacenamiento de datos. Por ejemplo, los ordenadores personales actuales leen y escriben medios de almacenamiento que también se usan para el ubicuo entretenimiento audiovisual, tal como los discos compactos de audio (CD) y los discos de vídeo digitales (DVD). Así, los ordenadores personales comunes son capaces de replicar datos muy valiosos de modo que copias exactas de los datos originales puedan distribuirse fácilmente a las amistades.
Un desarrollo reciente ha expandido en gran medida la amenaza para el valor comercial de datos digitales fácilmente copiables: Internet. Ahora, los individuos pueden poner en circulación, y frecuentemente lo hacen, valiosos datos digitales para su copia libre por parte de millones de personas. Tal publicación representa un fallo catastrófico de cualquier intento de impedir la copia no autorizada.
Un primer intento de impedir la copia no autorizada de software fue requerir que un dispositivo de hardware se adosara a un ordenador para que el software se ejecutase. Tales dispositivos se denominaban usualmente “llaves electrónicas”. Una llave electrónica incluía datos de identificación verificados por el software antes de la ejecución, o incluía datos de cifrado y / o lógica para descifrar el software antes de la ejecución. Las llaves electrónicas eran habitualmente adosables externamente, de modo que el software pudiera ser transferido a otro ordenador adosando la llave electrónica al otro ordenador.
Las llaves electrónicas nunca obtuvieron mucho éxito en el mercado. Una razón es que múltiples productos de software pueden instalarse en cada ordenador. Como resultado, muchas llaves electrónicas tendrían que adosarse a cada ordenador. Otra razón es que añadir un nuevo dispositivo de hardware a un ordenador podría tener resultados no pretendidos, interfiriendo con el funcionamiento normal del ordenador. Una tercera razón es que mucha gente tiene múltiples ordenadores y llevar una entre múltiples llaves electrónicas desde un ordenador a otro con regularidad era una molestia significativa. En general, los usuarios preferían no adosar nuevo hardware a sus ordenadores para ejecutar software si un proveedor de software competidor no requería tal hardware adicional.
El enlace de máquinas, por ejemplo, por el uso de llaves electrónicas, es generalmente inaceptable para las personas que adquieren contenido audiovisual en lugar de software de ordenador. Tal vez como resultado de la naturaleza portátil de los medios históricos de distribución de contenido audiovisual (p. ej., álbumes en vinilo, CD de audio, cinta de vídeo, DVD, etc.), el público consumidor parece esperar que se permita que el contenido audiovisual sea reproducido en dispositivos cualesquiera pertenecientes al comprador. Por ejemplo, un comprador de una cinta de casete de vídeo de una película específica espera poder ver la película en cualquier reproductor de casetes de vídeo de un formato compatible. Así, ligar estrictamente a máquinas contenido audiovisual es generalmente inaceptable por el público consumidor.
Otro mecanismo por el cual los proveedores de software intentan frustrar la copia no autorizada de software es ligar el software a un usuario específico. Por ejemplo, la ejecución exitosa del software puede estar supeditada al ingreso de una contraseña por parte del usuario específico. Lo cual, en general, proporciona seguridad insuficiente, ya que el usuario puede comunicar la contraseña a un amigo o asociado, junto con una copia no autorizada del software. Además, requerir que un usuario recuerde contraseñas para cada producto de software y / o cada obra audiovisual a la que acceda el usuario representa una molestia considerable para el usuario.
En general, debería recordarse que la protección de copias beneficia al proveedor de datos digitales, p. ej., software y / u obras audiovisuales, y no beneficia al comprador. En consecuencia, los compradores de tales datos digitales tienen una tolerancia relativamente baja para las molestias. Como resultado, el público consumidor tiende a adquirir datos de los proveedores que emplean menos protección de copias.
Lo que se necesita es un mecanismo por el cual el contenido sujeto a derechos de autor de medios de almacenamiento digital esté protegido contra la copia no autorizada, ofreciendo a la vez al propietario de tal almacenamiento digital una razonable comodidad sin impedimentos para el uso y disfrute del contenido.
El documento US-A-5 737 416 describe un fichero de claves que contiene una clave de producto, una clave de cliente, que se genera a partir de un número de cliente, y una clave interna generadora de claves y una cadena ASCII diáfana que contiene una identificación de máquina. Los tres elementos deben permanecer sin cambios a fin de que la
herramienta de descifrado obtenga la clave de cifrado real. Para atar adicionalmente el fichero de claves a este específico sistema de procesamiento de datos controlado por el usuario, el mismo fichero de claves se cifra con una clave que se obtiene de los parámetros del sistema. Una clave temporal, que habitualmente se da verbalmente por teléfono, se crea a partir de un algoritmo que utiliza el cifrado para combinar la clave real con un número de cliente, el número de identificación de la máquina y otro texto abierto predefinido. Específicamente, una clave 377 de producto puede comunicarse al cliente de software mediante un canal de comunicación inseguro, sin riesgo de revelar la clave real 371. La clave real 371 está enmascarada por la operación de cifrado y, dado que la clave 377 de producto solamente puede utilizarse en un sistema de procesamiento de datos que tenga una configuración idéntica a aquella de la cual se ha obtenido la identificación 357 de máquina, el acceso al producto de software cifrado se mantiene en condiciones seguras. Un fichero 397 de claves se ilustra incluyendo la clave temporal del producto, la clave del cliente, que es una versión cifrada del número de cliente, el número de identificación de máquina en texto abierto y los datos del intervalo de prueba. Este fichero de claves se proporciona como una entrada al motor 399 de cifrado. La clave 401 se proporciona como una entrada al motor 399 de cifrado, en donde la clave 401 se obtiene de los atributos 403 únicos de sistema. El motor 399 de cifrado proporciona como salida el fichero 405 de claves cifradas.
La invención es lo que se define en la reivindicación independiente.
Las realizaciones preferidas se definen en las reivindicaciones dependientes.
De acuerdo a la presente invención, el contenido puede convertirse desde un estado ligado a la máquina a un estado ligado al usuario, sin modificación de los datos en sí. En cambio, las claves usadas para acceder al contenido se convierten desde el estado ligado a la máquina al estado ligado al usuario. En particular, las claves se mantienen en una estructura de datos de pasaporte que puede representar una ligadura con máquina o bien una ligadura con usuario.
En la ligadura con máquina, el pasaporte contiene una clave privada y un certificado que incluye una clave pública que es la recíproca de la clave privada. La clave privada se cifra usando un identificador de hardware específico para el sistema de ordenador al cual está ligado el pasaporte. El identificador de hardware es específico para uno o más dispositivos de hardware y es preferiblemente único con respecto a sistemas de ordenador capaces de acceder al contenido que se pretende ligar. La clave pública se usa para cifrar una clave maestra con la cual se cifra el contenido, y para crear de la misma una clave de medios que esté incluida con el contenido, junto con el certificado del pasaporte ligado a máquina. Como resultado, la clave privada se requiere para descifrar los medios y para recuperar la clave maestra y, por lo tanto, para descifrar el contenido. Cifrando la clave privada con el identificador de hardware de un sistema específico de ordenador, el contenido se liga efectivamente a ese sistema de ordenador, ya que el identificador de hardware de ese ordenador se requiere para recuperar la clave maestra.
En la ligadura con usuario, el pasaporte también contiene una clave privada y un certificado que incluye una clave pública que es la recíproca de la clave privada. El pasaporte ligado al usuario asegura la clave privada de la misma manera, en gran medida, que lo hace un pasaporte ligado a la máquina, excepto en que el pasaporte ligado al usuario cifra la clave privada con una contraseña proporcionada por el usuario. En consecuencia, se requiere la contraseña para descifrar la clave privada, la cual, a su vez, se requiere para descifrar la clave maestra a partir de la clave de medios, y la clave maestra se requiere para descifrar el contenido. Al requerir la contraseña, el contenido se liga con el usuario en posesión de la contraseña.
Dado que la protección de copias beneficia al propietario de los derechos de autor e incomoda al consumidor de obras con derechos de autor, una desincentivacion para compartir la propia contraseña se incluye en el pasaporte ligado al usuario. Específicamente, el pasaporte ligado al usuario incluye información que se espera sea cuidadosamente custodiada por el usuario. Por ejemplo, el pasaporte de usuario puede incluir información de tarjeta de crédito del usuario, suficiente para cargar fondos a la tarjeta de crédito, p. ej., el número de tarjeta de crédito, la fecha de caducidad y el nombre del titular de la tarjeta. También puede incluirse una dirección de facturación. Durante la reproducción del contenido, se exhibe la información privada del usuario. Por lo tanto, compartir el propio pasaporte incluye compartir el propio crédito.
Se brinda al usuario la opción de tener bien un pasaporte ligado a máquina o bien un pasaporte ligado a usuario. El pasaporte ligado a máquina es más limitado, dado que el contenido solamente puede ser reproducido en una máquina específica. Lo cual sería adecuado para una persona con acceso a solamente un único ordenador o para una persona que esté generalmente insegura en cuanto al proceso total de adquirir obras con derecho de autor mediante una red de ordenadores. El pasaporte ligado al usuario es menos limitado y puede llevarse de un sistema de ordenador a otro. Sin embargo, el pasaporte ligado a usuario requiere que el usuario proporcione información privada más sensible. Se espera que los nuevos usuarios opten por el pasaporte ligado a máquina y más tarde deseen avanzar hasta el pasaporte ligado a usuario. Lo cual puede ser requerido, por ejemplo, si el usuario vende o modifica el sistema de ordenador al cual ya está ligado el contenido.
Un pasaporte ligado a máquina puede avanzar hasta un pasaporte ligado a usuario sin modificar el contenido ligado.
En particular, las claves privadas y públicas originales del pasaporte ligado a máquina se usan en un pasaporte de usuario recién creado de modo tal que no se requiera volver a cifrar el contenido. Específicamente, la clave privada del pasaporte ligado a máquina, en forma de texto abierto, se incluye en el pasaporte ligado al usuario y se cifra usando una contraseña proporcionada por el usuario para ligar la clave privada al usuario. Además, la información privada del usuario se recoge y se verifica e incluye en el pasaporte ligado al usuario. De esta forma, la contraseña proporcionada por el usuario descifra la clave privada para proporcionar la misma clave privada de texto abierto que resulta del descifrado de la clave privada del pasaporte ligado a máquina, usando el identificador de hardware. En consecuencia, el contenido anteriormente ligado a máquina puede ser descifrado ahora usando el pasaporte ligado a usuario. Además, dado que el pasaporte ligado a usuario no está ligado a ningún identificador de hardware específico, el contenido y el pasaporte ligado a usuario pueden llevarse de un sistema de ordenador a otro y pueden reproducirse solamente con el esfuerzo requerido para ingresar la contraseña del usuario y para ver la información privada del usuario.
Además, la actualización de un pasaporte ligado a máquina puede ser iniciada automáticamente al detectar que se hace un intento de reproducir contenido ligado a máquina en una máquina distinta a aquella a la cual está ligado el contenido.
Ocasionalmente, un usuario podría tener múltiples pasaportes. Algún contenido puede haber sido ligado a un pasaporte ligado a máquina y otro contenido puede haber sido posteriormente ligado a un pasaporte ligado a usuario. La actualización del contenido ligado a máquina implica añadir las claves previamente ligadas a máquina al pasaporte ligado a usuario, de modo que el pasaporte contenga ahora múltiples conjuntos de claves. Como resultado, el mismo pasaporte puede usarse para reproducir contenido adquirido con dos pasaportes distintos.
Breve descripción de los dibujos
La Figura 1 es un diagrama en bloques de un sistema de ordenador que incluye un sistema de ordenador servidor acoplado con un sistema de ordenador cliente a través de una red de ordenadores de área amplia. El sistema de ordenador cliente incluye un reproductor de contenidos que, a su vez, accede a datos que están asegurados de acuerdo a la presente invención.
La Figura 2 es un diagrama en bloques del reproductor de contenidos de la Figura 1 en mayor detalle.
Las Figuras 3A-B son diagramas en bloques del administrador de seguridad del reproductor de contenidos de la Figura 2 en mayor detalle.
La Figura 4 es un diagrama en bloques de un generador de pasaportes ligados a máqina, de acuerdo a la presente invención.
La Figura 5 es un diagrama en bloques de un generador de pasaportes portátil y completo, de acuerdo a la presente invención.
La Figura 6A es un diagrama en bloques de un convertidor de pasaportes que convierte un pasaporte ligado a máquina en un pasaporte completo, de acuerdo a la presente invención.
La Figura 6B es un diagrama de flujo lógico que ilustra la conversión de un pasaporte de acuerdo a una realización alternativa.
La Figura 7 es un diagrama de flujo lógico de la autenticación de un usuario para la adquisición de datos digitales, de acuerdo a la presente invención.
La Figura 8 es un diagrama de flujo lógico de la adquisición de un nuevo pasaporte ligado a máquina durante la autenticación de usuario, de acuerdo a la presente invención.
La Figura 9 es un diagrama de flujo lógico del procesamiento, por parte del proceso servidor de la Figura 1, de una solicitud de un nuevo pasaporte ligado a máquina, de acuerdo a la presente invención.
La Figura 10 es un diagrama de flujo lógico de la adquisición de un nuevo pasaporte completo durante la autenticación de usuario, de acuerdo a la presente invención.
La Figura 11 es un diagrama de flujo lógico del procesamiento, por parte del proceso servidor de la Figura 1, de una solicitud de un nuevo pasaporte completo, de acuerdo a la presente invención.
La Figura 12 es un diagrama de flujo lógico del procesamiento, por parte del proceso servidor de la Figura 1, de una solicitud de un nuevo pasaporte completo, de acuerdo a la presente invención
La Figura 13 es un diagrama de flujo lógico del procesamiento, por parte del proceso servidor de la Figura 1, de una
solicitud de un nuevo pasaporte completo, de acuerdo a la presente invención
La Figura 14 es un diagrama de flujo lógico del procesamiento, por parte del proceso servidor de la Figura 1, de una solicitud de un nuevo pasaporte completo, de acuerdo a la presente invención
La Figura 15 es un diagrama de flujo lógico del procesamiento de una etapa del diagrama de flujo lógico de la Figura 14, en mayor detalle.
La Figura 16 es un diagrama de flujo lógico del procesamiento de una etapa del diagrama de flujo lógico de la Figura 14, en mayor detalle.
La Figura 17 es un diagrama en bloques que muestra la base de datos de certificados de la Figura 1 en mayor detalle.
La Figura 18 es un diagrama en bloques que muestra el registro de cuenta de la Figura 17 en mayor detalle.
La Figura 19 es un diagrama en bloques que muestra el registro de clave de la Figura 17 en mayor detalle.
La Figura 20 es un diagrama en bloques que muestra el registro histórico de la Figura 17 en mayor detalle.
La Figura 21 es un diagrama en bloques de un certificado.
La Figura 22 es un diagrama en bloques que muestra el pasaporte de la Figura 1 en mayor detalle.
La Figura 23 es un diagrama en bloques de un pasaporte ligado a usuario.
La Figura 24 es un diagrama en bloques de un pasaporte ligado a máquina.
Descripción detallada
De acuerdo a la presente invención, el contenido puede ser convertido desde un estado ligado a máquina a un estado ligado a usuario, sin modificación de los datos en sí. En cambio, las claves usadas para acceder al contenido son convertidas desde el estado ligado a máquina al estado ligado a usuario. En particular, las claves se mantienen un una estructura de datos de pasaporte que puede representar una ligadura a máquina o bien una ligadura a usuario.
El sistema 100 de suministro de datos digitales (Figura 1) incluye un sistema 102 de autorización y un sistema 104 de ordenador cliente, que están acoplados entre sí a través de una red 106 de ordenadores de área amplia. En una realización, la red 106 de ordenadores de área amplia es Internet. Si bien se muestra una red 106 de área amplia, se aprecia que los principios del sistema descrito en el presente documento son igualmente aplicables a otras redes, tales como las redes de área local. El sistema 102 de autorización incluye una base 122 de datos de contenidos y una base 124 de datos de certificados. La base 122 de datos de contenidos incluye contenidos de datos digitales que están disponibles para su distribución desde el sistema 102 de autorización. Tal contenido puede incluir, por ejemplo, datos que representan obras audiovisuales y / o software de ordenador.
Si bien la base 122 de datos de contenidos se muestra como incluida dentro del sistema 102 de autorización, se aprecia que podría ser ventajoso separar el suministro de contenidos de la autenticación de accesos y situar la base 122 de datos de contenidos en un sistema servidor distinto. Una ventaja es que el suministro de contenidos tiende a implicar la transferencia de grandes cantidades de datos. Tales transferencias se benefician al ser suministradas desde servidores de suministro distribuidos que están situados cerca de los sistemas de ordenadores clientes que reciben el contenido suministrado. Por el contrario, la autenticación implica muchas transacciones pequeñas que son menos dependientes de las velocidades rápidas de transferencia de datos, pero se beneficia de una base de datos centralizada de autenticación en el ámbito del sistema. Sin embargo, para mayor simplicidad, ambas tareas servidoras y de autenticación son gestionadas por el sistema 102 de autorización, y el sistema 102 de autorización incluye tanto la base 122 de datos de contenidos como la base 124 de datos de certificados.
La base 124 de datos de certificados incluye datos que representan la manera en que se asegura el contenido previamente distribuido de la base 122 de datos de contenidos, bien a un sistema específico de ordenador cliente o bien a un adquirente humano específico. Los tipos de información almacenados en la base 124 de datos de certificados se describen más completamente más adelante. En breve, tal información incluye certificados digitales que son estructuras conocidas de datos de autenticación, p. ej., la conocida estructura de datos del certificado ITU-T X.509.
El sistema 102 de autorización también incluye un servidor 126 de autenticación que es todo, o parte de, uno o más procesos de ordenador que se ejecutan dentro del sistema 102 de autorización. El servidor 126 de autenticación recibe solicitudes a través de la red 106 de área amplia y sirve dichas solicitudes. Tales solicitudes incluyen solicitudes de seguridad ligada a máquina para contenidos entregados, de seguridad ligada a usuario para contenidos entregados y de conversión de seguridad de contenidos entregados, de una manera descrita más completamente más adelante.
El sistema 104 de ordenador cliente incluye una base 144 de datos de contenido adquirido, una base 146 de datos de usuario, uno o más pasaportes tales como el pasaporte 148, un identificador 140 de hardware y un reproductor 142 de contenido. La base 144 de datos de contenido adquirido incluye contenido adquirido desde la base 122 de datos de contenido y, tal vez, similares bases de datos de contenido. Tal contenido adquirido se asegura de una manera descrita más completamente más adelante, usando uno o más pasaportes.
La base 146 de datos de usuario almacena información para uno o más usuarios del sistema 104 de ordenador cliente. Tal información incluye, por ejemplo, contraseñas por las cuales los usuarios pueden autenticarse a sí mismos. “Contraseña” se usa en el presente documento para describir datos cualesquiera proporcionados por un usuario con fines de autenticación. En consecuencia, “contraseña” se usa en el presente documento para describir tanto contraseñas de palabra única como contraseñas de múltiples palabras que algunas veces son denominadas en general “frases contraseña”.
Los pasaportes tales como el pasaporte 148 representan el mecanismo por el cual es asegurado el contenido adquirido en la base 144 de datos de contenido. Los pasaportes son emitidos por el servidor 126 de autenticación. Un pasaporte puede asegurar contenido para un sistema específico de ordenador cliente y / o para un usuario específico, de una manera descrita más completamente más adelante.
El identificador 140 de hardware identifica unívocamente el sistema 104 de ordenador cliente dentro de la base 124 de datos de certificados. Además, el identificador 140 de hardware se obtiene de datos que son difíciles de cambiar dentro del sistema 104 de ordenador cliente, es decir, son de sólo lectura. Por ejemplo, el identificador 140 de hardware puede ser un troceo de datos únicos para uno o más componentes de hardware del sistema 104 de ordenador cliente, tal como (i) un número de serie de un procesador del sistema 104 de ordenador cliente, (ii) una dirección de MAC (Control de Acceso al Medio) de una tarjeta de acceso a red, por la cual el sistema 104 de ordenador cliente accede a la red 106 de área amplia, y (iii) números de serie de uno o más controladores de disco rígido instalados en el sistema 104 de ordenador cliente. En esta realización ilustrativa, el identificador 140 de hardware se forma usando el conjunto de herramientas de software Interlok®, disponible en la empresa PACE Anti-Piratería de San José, California.
El reproductor 142 de contenidos es todo, o parte de, uno o más procesos de ordenador que se ejecutan dentro del sistema 104 de ordenador cliente, y reproduce contenido adquirido de la base 144 de datos de contenido adquirido, que a veces se denomina en el presente documento simplemente “contenido adquirido” o “contenido 144 adquirido”. Por ejemplo, si el contenido adquirido representa obras de audio, el reproductor 142 de contenido convierte los datos del contenido adquirido en datos adecuadamente formateados para la reproducción mediante una tarjeta de sonido y altavoces de audio del sistema 104 de ordenador cliente. De manera similar, si el contenido adquirido representa obras audiovisuales, el reproductor 142 de contenidos convierte los datos del contenido adquirido en datos adecuadamente formateados para la reproducción mediante una tarjeta de sonido y altavoces de audio, y en un visor de vídeo del sistema 104 de ordenador cliente. Además, si el contenido adquirido es software de ordenador, el reproductor 142 de contenidos descodifica las instrucciones de ordenador del contenido adquirido y hace que esas instrucciones de ordenador descodificadas sean ejecutadas por el sistema 104 de ordenador cliente. El contenido adquirido puede incluir, en general, cualquier clase de datos, incluyendo sin limitación (i) obras audiovisuales tales como música, otros sonidos registrados, vídeo en movimiento e imágenes fijas, (ii) documentos en formatos tales como texto ASCII, formato de texto enriquecido (RTF), Word de Microsoft® y el formato portátil de documentos (PDF) de Acrobat® de Adobe®, y (iii) software de ordenador ejecutable.
El reproductor 142 de contenido se muestra en mayor detalle en la Figura 2. El reproductor 142 de contenidos incluye un descifrador 202 que descifra el contenido adquirido 144 usando una clave maestra 208 proporcionada por un gestor 206 de seguridad. En esta realización ilustrativa, el descifrador 202 usa algoritmos de descifrado de clave simétrica tales como FIPS 46-2 DES o RC4 de RSA Security, para mayor eficacia. La eficacia es importante en esta realización, dado que el contenido adquirido debe ser tanto descifrado como descodificado por un descodificador 204 para la reproducción en tiempo real. Según se usa en el presente documento, la reproducción en tiempo real significa que la reproducción por el reproductor 142 de contenidos requiere una cantidad mínima de datos descifrados y descodificados provenientes del contenido 144 adquirido por unidad de tiempo. Por ejemplo, si el contenido adquirido 144 representa obras de audio, el reproductor 142 de contenidos debe, en general, descifrar y descodificar 44.100 muestras de audio por segundo - 176.400 octetos por segundo para audio estereofónico de calidad de CD.
Si bien el descifrado de clave simétrica brinda eficacia al descifrar el contenido adquirido 144, el mismo requiere que la clave maestra 208 sea comunicada de algún modo desde el proceso servidor 126 (Figura 1), que usa la clave maestra 208 (Figura 2) para cifrar el contenido, al reproductor 142 de contenidos. El gestor 206 de seguridad obtiene la clave maestra 208 de manera segura.
El gestor 206 de seguridad se muestra en mayor detalle en las Figuras 3A y 3B. La Figura 3A muestra la obtención de la clave maestra 208 a partir de un pasaporte 148A ligado a usuario, y la Figura 3B muestra la obtención de la clave maestra 208 a partir de un pasaporte 148B ligado a máquina. El gestor 206 de seguridad incluye un descifrador 306 que usa una clave privada 304 para descifrar la clave maestra 208 a partir de una clave 302 de medios que está
incluida dentro del contenido adquirido 144. La clave privada 304 es una clave privada de un par de claves privada / pública dentro de la base 124 de datos de certificados (Figura 1). El descifrador 306 (Figura 3A) usa el descifrado de clave asimétrica, p. ej., el conocido algoritmo de clave pública RSA de RSA Security.
El cifrado / descifrado simétrico y asimétrico de claves son conocidos, pero se describen brevemente aquí por completitud. El cifrado de clave simétrica usa la misma clave para cifrar y descifrar los datos. Por ejemplo, los datos se cifran usando un patrón específico de datos denominado clave. El cifrado de los datos mezcla los datos de manera que parezcan algo aleatorios y hace que los datos aparezcan como indescifrables. Los datos cifrados pueden ser devueltos a su estado original “abierto” descifrando los datos usando la misma clave específica.
El cifrado de clave asimétrica usa dos claves que están asociadas entre sí para formar un par. Una clave se mantiene privada y la otra clave se hace pública; en consecuencia, el par de claves se denomina a veces un par de claves privada / pública. El cifrado con cualquiera de las claves forma datos cifrados que pueden ser descifrados usando la otra clave del par. Las claves del par, por lo tanto, son a veces denominadas, en general, recíprocas entre sí. El reproductor 142 de contenidos (Figura 1) puede firmar criptográficamente datos cifrando los datos usando su clave privada. Cualquier titular de la clave pública del reproductor 142 de contenido puede verificar la firma descifrando los datos, usando la clave pública del reproductor 142 de contenidos. De manera similar, cualquier titular de la clave pública del reproductor 142 de contenidos puede cifrar datos usando la clave pública, de modo que los datos puedan ser descifrados solamente usando la clave privada del reproductor 142 de contenidos. Por ejemplo, el proceso servidor 126 cifra la clave maestra 208 (Figura 3) para el pasaporte 148A, usando la clave pública de un par de claves para formar la clave 302 de medios, e incluyendo la clave privada del par dentro del pasaporte 148A. Como resultado, la clave 302 de medios puede ser descifrada usando la clave privada almacenada dentro del pasaporte 148A, es decir, la clave privada 304 del reproductor.
El gestor 206 de seguridad obtiene la clave privada 304, bien de un pasaporte 148A ligado a usuario (Figura 3A) o bien de un pasaporte 148B ligado a máquina (Figura 3B). Un pasaporte es una estructura de datos por la cual una clave privada, que se usa para descifrar la clave de medios, p. ej., la clave 208 de medios, del contenido adquirido, se liga bien a un usuario o bien a un sistema de ordenador. Un pasaporte ligado a usuario está ligado a un usuario específico y puede ser transportado a cualquier sistema de ordenador dentro del cual el usuario quisiera reproducir el contenido adquirido. En consecuencia, un pasaporte ligado a usuario se denomina a veces un pasaporte completo o un pasaporte portátil. Un pasaporte ligado a máquina está ligado a un sistema de ordenador específico para la reproducción del contenido adquirido y puede ser usado, en general, por cualquier usuario del sistema de ordenador.
Debería observarse que la seguridad está provista por el descifrador 306, conjuntamente con la clave 302 de medios y la clave privada 304. Los pasaportes 148A-B proporcionan una estructura de datos en la cual la clave privada 304 puede estar ligada bien a un usuario o bien a un sistema de ordenador específico. Tal ligadura limita la portabilidad de un contenido adquirido, proporcionando a la vez al usuario una elección en cuanto a qué tipo de ligadura es más conveniente. En otras palabras, el usuario puede seleccionar un pasaporte, bien ligado a máquina o bien ligado a usuario.
Para facilitar la comprensión y la apreciación de esta flexibilidad con respecto a la ligadura de claves privadas, se describe la estructura de un pasaporte. El pasaporte 148 (Figura 1) puede ser bien ligado a máquina o bien ligado a usuario. El pasaporte 148 se muestra en mayor detalle en la Figura 22, que muestra componentes que son comunes a ambos pasaportes ligados a máquina y ligados a usuario. El pasaporte 148 incluye un campo 2204 de información de pasaporte, un campo 2206 de algoritmo de firma y un campo 2208 de firma.
El campo 2204 de información de pasaporte contiene datos que representan la información sustancial del pasaporte, incluso una clave privada por la cual puede ser descifrado el contenido adquirido ligado al pasaporte 148. El tipo y estructura de los datos almacenados en el campo 2204 de información de pasaporte depende del tipo de pasaporte. Por ejemplo, el pasaporte 148A (Figura 3A) es un pasaporte completo ligado a usuario e incluye la información 2204A de pasaporte, del tipo y la estructura descritos más adelante en el contexto de la Figura 23. El pasaporte 148B (Figura 3B) es un pasaporte ligado a máquina e incluye la información 2204B de pasaporte, del tipo y estructura descritos más adelante en el contexto de la Figura 24.
El campo 2206 de algoritmo de firma y el campo 2208 de firma especifican colectivamente una firma criptográfica del campo 2204 de información de pasaporte. El campo 2206 de algoritmo de firma especifica el algoritmo específico y parámetros cualesquiera del mismo, usados para firmar criptográficamente el campo 2204 de información de pasaporte. El campo 2208 de firma contiene datos que representan la resultante firma criptográfica, usando la clave privada del servidor 126 de autenticación. El campo 2206 de algoritmo de firma y el campo 2208 de firma proporcionan un mecanismo efectivo para determinar si los datos almacenados dentro de la información 2204 de pasaporte han sido
o no alterados. Por ejemplo, si un pirata informático cambia los datos almacenados dentro de la información 2204 de pasaporte, el pirata informático debe crear una firma correspondiente de modo que tal alteración no sea detectada. Sin embargo, como la clave privada del servidor 126 de autenticación está guardada cuidadosamente y mantenida en el más estricto secreto, falsificar tal firma criptográfica es especialmente difícil.
La información 2204B de pasaporte (Figura 24) del pasaporte 148B ligado a máquina se describe más adelante en el contexto de la Figura 3B. La información 2204A de pasaporte (Figura 23) incluye los siguientes componentes de datos:
(i) certificado 2302 de usuario, (ii) clave privada 2304, (iii) información privada 2306 de usuario y (iv) clave 2308 de registro.
El certificado 2302 de usuario es un certificado digital por el cual el usuario es autenticado. Los certificados digitales y su uso en la autenticación son conocidos. En una realización, el certificado 2302 de usuario está en forma de un certificado digital ITU-T X.509.
El certificado 2302 de usuario incluye una clave pública 2320, fechas 2322 de validez, un número 2324 de serie de certificado y una firma digital 2326. La clave pública 2320 es la recíproca de la clave privada 2304. Para ligar el contenido al usuario al cual está ligado el pasaporte 148A ligado a usuario, la clave maestra 208 es cifrada usando la clave pública 2320, de modo que solamente la clave privada 2304 pueda descifrar la clave maestra 208 a partir de la clave 302 de medios. Las fechas 2322 de validez especifican un periodo de tiempo durante el cual el certificado 2302 de usuario se considera válido. El número 2324 de serie de certificado identifica unívocamente el certificado 2302 de usuario dentro de la base 124 de datos de certificados (Figura 1). La firma digital 2326 es una firma digital adjuntada por la entidad que emite el certificado 2302 de usuario, y se usa para verificar que el certificado 2302 de usuario (i) no ha sido alterado y (ii) fue emitido por la autoridad adecuada de certificados.
La clave privada 2304 es la clave privada del par de claves usados para cifrar la clave maestra 208 (Figura 3A), a fin de formar por ello la clave 302 de medios, p. ej., la clave privada 304. En consecuencia, el descifrado de la clave 302 de medios por el descifrador 306 del gestor 206 de seguridad, usando la clave privada 304, produce la clave maestra 208. Además, la clave privada 2304 es la clave recíproca de la clave pública 2320 del certificado 2302 de usuario. La clave privada 2304 se cifra usando la clave 2308 de registro, que se describe más adelante.
La información privada 2306 de usuario contiene información acerca del usuario al cual está ligado el pasaporte 148A. Tal información es preferiblemente privada y está vigilada por el usuario. La información privada 2306 de usuario es exhibida por el sistema 104 de ordenador cliente durante la reproducción del contenido adquirido 144. En consecuencia, se desalienta al usuario para compartir el pasaporte 148A ligado a usuario, dado que tal cosa requeriría compartir asimismo la información privada 2306 de usuario. La información privada 2306 de usuario incluye el nombre 2362 del usuario y la información 2364 de la tarjeta de crédito del usuario. La información 2364 de la tarjeta de crédito puede incluir, por ejemplo, el número de tarjeta de crédito, la fecha de caducidad y la dirección de facturación. Durante el registro del usuario, se verifica la información 2364 de tarjeta de crédito para asegurar que la información privada 2306 de usuario sea exacta. Si la información 2364 de tarjeta de crédito es inexacta, p. ej., incluye un número de tarjeta de crédito robada, ingresado por el usuario con fines de registro, no se desalienta adecuadamente al usuario para compartir la información privada 2306 ni, por tanto, el pasaporte 148A y cualquier contenido ligado al mismo.
La información privada 2306 de usuario se cifra usando la clave 2308 de registro. La clave 2308 de registro se cifra a su vez usando una contraseña proporcionada por el usuario. Por consiguiente, se requiere la contraseña del usuario para descifrar la clave 2308 de registro, la cual a su vez es requerida para descifrar la clave privada 2304 y la información privada 2306 de usuario. La clave 2308 de registro se almacena dentro de la base 124 de datos de certificados en un formato que sea recuperable sin la contraseña del usuario, de modo que una clave 2304 de registro pueda ser generada para una nueva contraseña en el caso de que el usuario olvide su contraseña.
El número aleatorio 2310 almacena datos seudo-aleatorios y se incluye para frustrar el criptoanálisis de la información cifrada 2204A de pasaporte. El servidor 126 de autenticación genera un nuevo número aleatorio cada vez que se reemite el pasaporte 148A. La información 2204A de pasaporte se comunica a través de la red 106 de área amplia (Figura 1) en un formato cifrado. En consecuencia, los cambios en el número aleatorio 2310 se propagan por la información 2204A de pasaporte, de modo que copias, idénticas en otro aspecto, de la información 2204A de pasaporte, parezcan totalmente distintas en formato cifrado. En una realización, el número aleatorio 2310 se usa solamente al transportar información 2204A de pasaporte, a través de la red 106 de área amplia, por ejemplo, y no se almacena en el registro de disco permanente del pasaporte 148A.
Para obtener la clave privada 304 (Figura 3A), el descifrador 310 del gestor 206 de seguridad descifra la clave 2308 de registro usando la contraseña proporcionada por el usuario. El usuario proporciona la contraseña usando técnicas convencionales de interfaz de usuario, en respuesta a un incentivo exhibido al usuario por el reproductor 142 de contenidos. El resultado del descifrado de la clave 2308 de registro es usado como una clave por el descifrador 312 para descifrar la clave privada 304 a partir de la clave privada 2304. La clave privada 304 se usa de la manera descrita anteriormente para obtener la clave maestra 208, por la cual puede ser descifrado el contenido adquirido para su reproducción.
El pasaporte 148B ligado a máquina (Figura 3B) está ligado al sistema 104 de ordenador cliente, y no a ningún usuario específico. Como resultado, la reproducción del contenido adquirido ligado al pasaporte 148B no exhibe información privada de usuario, tal como la información privada 2306 de usuario (Figura 23). En cambio, la clave privada 2404
(Figura 3B) del pasaporte 148B ligado a máquina es cifrado usando como clave el identificador de hardware del sistema de ordenador al cual está ligado el pasaporte 148B. En este ejemplo, el pasaporte 148B está ligado al sistema 104 de ordenador cliente (Figura 1), y la clave privada 2404 (Figura 3B) se cifra usando el identificador 140 de hardware. En consecuencia, la clave privada 2404 es descifrada por el descifrador 308 usando el identificador 140 de hardware como clave, para producir por ello la clave privada 304. Por lo tanto, el pasaporte 148B es solamente útil cuando se dispone del identificador 140 de hardware, es decir, cuando se usa el pasaporte 148B dentro del sistema 104 de ordenador cliente. Si el pasaporte 148B se copia a otro sistema de ordenador que tenga un identificador de hardware que no sea equivalente al identificador 140 de hardware, la clave privada 304 no puede obtenerse de la clave privada 2404. Por consiguiente, el pasaporte 148B liga el contenido adquirido 144 al sistema 104 de ordenador cliente.
Cuando se adquiere el contenido de la base 122 de datos de contenido (Figura 1), el servidor 126 de autenticación asiste para ligar el contenido adquirido, bien al sistema de ordenador al cual ha de entregarse el contenido, o bien al usuario adquirente. Se proporciona al usuario la opción en cuanto a qué tipo de ligadura se prefiere. En una realización, la opción se presenta al usuario al instalar por primera vez el reproductor 142 de contenidos en el sistema de ordenador cliente, y esa selección se registra y se respeta hasta que el usuario realiza activamente una selección distinta. Si el usuario deseara acceder al contenido en múltiples sistemas de ordenador (o al menos un sistema de ordenador distinto al usado para hacer la adquisición), el usuario selecciona la ligadura a usuario brindada por un pasaporte tal como el pasaporte 148A (Figura 3A). Alternativamente, si el usuario prefiriera no proporcionar información privada de usuario tal como la información privada 2306 de usuario (Figura 23) y está dispuesto a acceder al contenido solamente en el específico sistema de ordenador a través del cual se lleva a cabo la adquisición, el usuario selecciona la ligadura a máquina brindada por un pasaporte tal como el pasaporte 148B (Figura 3B).
Para preparar el contenido para la ligadura, bien a un usuario o bien a un sistema de ordenador, el contenido se cifra usando una clave maestra tal como la clave maestra 208 (Figura 4), la cual es cifrada a su vez por un cifrador 406 para formar la clave 302 de medios. La clave 302 de medios está incluida en el contenido cifrado. Una clave pública 304B es usada conjuntamente con el cifrado asimétrico para formar la clave 302 de medios, de modo que la clave 302 de medios y, por lo tanto, el mismo contenido cifrado, puedan ser descifrados solamente con la clave privada 304.
Para ligar el contenido a un sistema de ordenador específico, el servidor 126 de autenticación incluye un generador 404 de pasaportes ligados a máquina (Figura 4). Dentro de la base 124 de datos de certificados (Figura 1), el servidor 126 de autenticación almacena pares de claves privadas / públicas para todos los reproductores de contenidos registrados en el servidor 126 de autenticación, tal como el reproductor 142 de contenidos. Para facilitar la comprensión y la apreciación del funcionamiento del servidor 126 de autenticación, el tipo y estructura de los datos almacenados dentro de la base 124 de datos de certificados se describen más completamente en el contexto de la Figura 17.
La base 127 de datos de certificados incluye un cierto número de tablas, a saber, (i) una tabla de registros 1702 de cuenta, (ii) una tabla de registros 1704 de clave y (iii) una tabla de registros 1706 históricos. Un registro de cuenta, tal como el registro 1702 de cuenta, almacena datos relativos a un usuario específico dentro del sistema 100 de distribución de contenidos (Figura 1). Un registro de clave, como el registro 1704 de clave (Figura 17), representa un par de claves privada / pública, usado para cifrar contenido entregado, de la manera descrita anteriormente, e incluye parámetros de uso del par de claves, tal como la caducidad y los límites del número de veces que puede re-emitirse el par de claves. La re-emisión de un par de claves se describe más adelante en mayor detalle. Un registro histórico tal como el registro histórico 1706 representa un suceso, tal como la re-emisión de un par de claves, o la conversión de un pasaporte, de ligado a máquina a ligado a usuario. El fraude y / o la copia no autorizada de pasaportes y / o contenido puede ser detectado a veces examinando registros históricos. Por ejemplo, las solicitudes por el mismo usuario desde muchos sistemas distintos de ordenador cliente, para reemplazar claves perdidas, sugieren que un usuario ha proporcionado numerosas copias de su pasaporte a otros.
El registro 1702 de cuenta se muestra en mayor detalle en la Figura 18 e incluye los siguientes campos: (i) campo 1802 de número de serie, (ii) campo 1804 de nombre, (iii) campo 1806 de dirección de correo electrónico, (iv) campo 1808 de país, (v) campo 1810 de pregunta, (vi) campo 1812 de respuesta, (vii) campo 1814 de estado y (viii) campo 1816 de tipo. El campo 1802 de número de serie almacena un número de serie que es único dentro de los números de serie procesados dentro del servidor 126 de autenticación. Los números de serie se usan en esta realización ilustrativa para asociar registros relacionados. Por ejemplo, si el registro 1702 de cuenta representa a un usuario específico y el registro 1704 de clave (Figura 19) representa al par de claves privada / pública del usuario, el número de serie almacenado en el campo 1802 de número de serie (Figura 18) es equivalente al número de serie almacenado en el campo 1902 de número de serie (Figura 19). Además, los registros históricos relativos a la cuenta y claves del usuario pueden ser hallados localizando registros históricos con un número de serie equivalente almacenado en el campo 2002 de número de serie (Figura 20).
El campo 1804 de nombre (Figura 18) almacena datos que representan el nombre del usuario que posee la cuenta representada por el registro 1702 de cuenta. El campo 1806 de dirección de correo electrónico almacena datos que representan la dirección de correo electrónico del usuario. El campo 1808 de país almacena datos que representan el
país de residencia del usuario.
El campo 1810 de pregunta y el campo 1812 de respuesta se usan para autenticar al usuario, por ejemplo, cuando se recibe una solicitud para modificar el registro 1702 de cuenta. El campo 1810 de pregunta especifica una pregunta a formular al usuario, y el campo 1812 de respuesta especifica la respuesta correcta. Por ejemplo, la pregunta puede ser respecto al nombre de soltera de la madre del usuario.
El campo 1814 de estado representa el estado de la cuenta. Los valores de estado almacenados dentro del campo 1814 de estado incluyen “válido” y “revocado”. El campo 1814 de campo representa el tipo de cuenta. Los valores del tipo almacenados dentro del campo 1814 de tipo incluyen “ligado a máquina” y “ligado a usuario”.
El registro 1704 de clave se muestra en mayor detalle en la Figura 19 e incluye los siguientes campos: (i) campo 1902 de número de serie, (ii) campo 1904 de clave privada, (iii) campo 1906 de clave pública, campo 1908 de fechas de validez, (v) campo 1910 de límite de re-emisión, (vi) límite 1912 de clave de pasaporte y (vii) identificador 1914 de hardware. El campo 1902 del número de serie almacena el número de serie al cual corresponde el registro de clave. El campo 1904 de clave privada y el campo 1906 de clave pública almacenan, respectivamente, las claves privada y pública, del par de claves privada / pública representado por el registro 1704 de clave.
El campo 1908 de fechas de validez especifica fechas para las cuales son válidos los certificados creados a partir del registro 1704 de clave. Cuando la fecha de fin de validez en el registro 1704 de clave ha caducado, los certificados creados a partir del registro 1704 de clave ya no pueden ser usados para adquirir contenido desde la base 122 de datos de contenido. Sin embargo, los certificados creados a partir del registro 1704 de clave, de la manera descrita más adelante, continúan descifrando correctamente el contenido previamente adquirido. Cuando el registro 1704 de clave es renovado, el campo 1908 de fechas de validez es actualizado para especificar nuevas fechas de validez distintas, y la clave privada 1904 y la clave pública 1906 permanecen sin cambios. Como resultado, el contenido adquirido usando un pasaporte caducado, basado en el registro 1704 de clave, pueden descifrarse usando una versión renovada del mismo pasaporte, es decir, creada a partir de una versión renovada del registro 1704 de clave, dado que el pasaporte renovado incluye las mismas claves. Sin embargo, debería apreciarse que la renovación puede requerir que el usuario cambie su contraseña y, como resultado, los componentes del pasaporte que están cifrados con la contraseña del usuario tendrán distinto aspecto.
El campo 1910 de límite de re-emisión especifica un número máximo de veces que las claves del registro 1704 de clave pueden ser re-emitidas, de la manera descrita más completamente más adelante. El campo 1912 de límite de clave de pasaporte especifica el máximo número de claves que pueden ser mantenidas por un pasaporte en poder del propietario de la cuenta asociada, según lo determinado por el campo 1902 de número de serie, de la manera descrita anteriormente. El campo 1914 de identificador de hardware representa un identificador de hardware al cual se liga el par de claves de la manera anteriormente descrita. Por ejemplo, si el campo 1914 de identificador de hardware representa al identificador 140 de hardware, un pasaporte ligado a máquina que incluya la clave privada representada en el campo 1904 de clave privada se cifra usando el identificador 140 de hardware.
El registro histórico 1706 (Figura 17) se muestra más completamente en la Figura 20 e incluye los siguientes campos:
(i) campo 2002 de número de serie, (ii) campo 2004 de creación y (iii) campo 2006 de actividad. El campo 2002 de número de serie almacena un número de serie que es análogo al descrito anteriormente con respecto a los campos 1802 (Figura 18) y 1902 (Figura 19) de número de serie. El campo 2004 de creación (Figura 20) especifica un momento en que se crea el registro histórico 1706. El campo 2006 de actividad especifica el tipo de actividad asociado al número de serie del campo 2002 de número de serie a registrar en la tabla de registros históricos 1706 (Figura 17). Los tipos representados por el campo 2006 de actividad incluyen, por ejemplo, la re-emisión de una clave, la renovación de una clave y el agregado de una clave a un pasaporte ligado a usuario.
El servidor 126 de autenticación puede crear un certificado digital, por ejemplo, un certificado ITU-T X.509, a partir de campos del registro 1702 de cuenta y el registro 1704 de clave, como se muestra en la Figura 21. En particular, el certificado 2100 incluye la clave pública 1906 y las fechas 1908 de validez provenientes del registro 1704 de clave (Figura 19) y el nombre 1804 (Figura 21), la dirección 1806 de correo electrónico y el país 1808 provenientes del registro 1702 de cuenta (Figura 18). Además, el certificado 2100 incluye un número 2102 de serie de certificado que, en esta realización ilustrativa, es conforme a la especificación ITU-T X.509. Debería observarse que el número 2102 de serie de certificado no tiene relación con, y es independiente de, los números de serie 1802 (Figura 18), 1902 (Figura 19) y 2002 (Figura 20). El certificado 2100 también incluye una firma digital 2104 creada por el servidor 126 de autenticación a partir de la clave privada del servidor 126 de autenticación, en conformidad con la especificación ITU-T
X.509 en esta realización ilustrativa.
La base 124 de datos de certificados proporciona una base exhaustiva y flexible para la autenticación del contenido adquirido, ya sea ligado a máquina o ligado a usuario.
Volviendo ahora al generador 404 de pasaportes ligados a máquina (Figura 4), la clave maestra 208 solamente puede
ser descifrada a partir de la clave 302 de medios, usando la clave privada 304. Por lo tanto, para ligar la clave 302 de medios, y cualquier contenido asociado al mismo, al sistema 104 de ordenador cliente (Figura 1), la clave privada 304 es cifrada dentro de un cifrador 408 para formar la clave privada 2404, usando el identificador 140 de hardware como clave. De esta manera, el identificador 140 de hardware es requerido para descifrar y restaurar la clave privada 304, que es necesaria luego para descifrar y restaurar la clave maestra 208, la cual, a su vez, es necesaria para descifrar el contenido adquirido cifrado con la misma. El identificador 140 de hardware está representado en el campo 1914 de identificador de hardware del par 1704 de claves, que incluye la clave privada 304 y la clave pública 304B en el campo 1904 de clave privada y el campo 1906 de clave pública, respectivamente.
La clave privada 2404B es incluida en la información 2204B de pasaporte por un empaquetador 410 de pasaportes que también firma la información 2204B de pasaporte usando la clave privada del servidor 126 de autenticación para formar la firma 2208. Además, el empaquetador 410 de pasaportes envía la información 2204B de pasaporte y la firma 2208 al reproductor 142 de contenidos, a través de un canal seguro, de la manera descrita más completamente más adelante. Así, el generador 404 de pasaportes ligados a máquina liga el contenido cifrado con la clave maestra 208 al identificador 140 de hardware.
El servidor 126 de autenticación también incluye un generador 504 de pasaportes completos (Figura 5) que crea pasaportes ligados al usuario tales como el pasaporte 148A (Figura 3A). El cifrador 406 cifra la clave maestra 208 usando la clave pública 304B para formar la clave 302 de medios, de la manera descrita anteriormente.
El generador 504 de pasaportes completos (Figura 5) incluye un cifrador 508 que cifra la clave recíproca, es decir, la clave privada 304, usando una clave 520 de registro abierto para formar la clave privada 2304. En consecuencia, la clave privada 2304 queda oscurecida y lista para su inclusión en la información 2204A de pasaporte. La clave 520 de registro abierto es cifrada por un cifrador 506 usando una contraseña proporcionada por el usuario, como clave para formar la clave 2308 de registro. Para desalentar la distribución del pasaporte completo resultante a otros usuarios, un empaquetador 510 de pasaportes empaqueta la clave privada 2304 y la clave 2308 de registro con la información privada 2306 de usuario para formar la información 2204A de pasaporte. Además, el empaquetador 510 de pasaportes forma la firma 2208 para detectar e impedir la alteración de la información 2204A de pasaporte. En una realización, la información privada 2306 de usuario se cifra usando la contraseña proporcionada por el usuario para proteger la información privada del usuario cuando el contenido adquirido no está siendo reproducido. Para descifrar exitosamente el contenido adquirido, cifrado con la clave maestra 208, usando la información 2204A de pasaporte, la autenticidad de la firma 2208 es verificada y la clave privada 2304 y la clave 2308 de registro son analizadas sintácticamente a partir de la información 2204A de pasaporte. La clave 2308 de registro se descifra luego usando una clave proporcionada por el usuario y, después del descifrado, se usa para descifrar la clave privada 304 a partir de la clave privada 2304. La clave privada 304 se usa luego para descifrar la clave maestra 208 a partir de la clave 302 de medios, que es analizada sintácticamente a partir del contenido adquirido. El empaquetador 510 de pasaportes envía la información 2204A de pasaporte y la firma 2208 al reproductor 142 de contenidos a través de un canal seguro, de la manera descrita más completamente más adelante.
En algún momento, un usuario que ha optado previamente por reproducir datos adquiridos usando solamente el ordenador cliente 104, es decir, que ha optado previamente por la ligadura a máquina, puede preferir progresar desde la ligadura a máquina a la ligadura a usuario, de modo que el usuario pueda reproducir el contenido adquirido usando un sistema de ordenador distinto. Por ejemplo, el usuario puede haber reemplazado su anterior sistema de ordenador por uno nuevo, o puede haber adquirido un sistema de ordenador adicional. La conversión por parte del servidor 126 de autenticación de un pasaporte ligado a máquina, tal como el pasaporte 148B, a un pasaporte ligado a usuario, tal como el pasaporte 148B, es realizada por un convertidor 602 de pasaportes (Figura 6A).
Para convertir el pasaporte, el convertidor 602 de pasaportes recibe el identificador 140 de hardware, la información privada 2306 de usuario y la contraseña proporcionada por el usuario. Estos elementos son recibidos desde el sistema 104 de ordenador cliente a través de una conexión segura. La información privada 2306 de usuario y la contraseña proporcionada por el usuario son ingresadas por un usuario del sistema 102 de ordenador cliente en el momento de la conversión, dado que tal información es requerida en una contraseña ligada a usuario, pero no es requerida en un pasaporte ligado a máquina. Una consideración importante en la conversión desde la ligadura a máquina es que no se requiere ninguna modificación a ningún contenido adquirido. En esencia, la clave privada central requerida para descifrar el contenido adquirido, p. ej., la clave privada 304, es preservada dentro del pasaporte convertido, de modo que la clave 302 de medios pueda permanecer sin cambios.
El convertidor 602 de pasaportes de la Figura 6A es una realización algo simplificada en la cual la mayor parte del procesamiento es realizado por el servidor 126 de autenticación. Una realización alternativa, en la cual algunos de los elementos del convertidor 602 de pasaportes son parte del reproductor 142 de contenidos, se describe más adelante en el contexto de la Figura 6B.
El convertidor 602 de pasaportes incluye un analizador sintáctico 604 de pasaportes que verifica la firma 2208B del pasaporte a actualizar y analiza sintácticamente la clave privada 2404 proveniente de la información 2204B de
pasaporte. Además, el convertidor 602 de pasaportes incluye un descifrador 606 que descifra la clave privada 2404 usando el identificador 140 de hardware como una clave para re-obtener la clave privada 304. Alternativamente, el servidor 126 de autenticación usa el identificador 140 de hardware para extraer el registro 1704 de clave (Figura 19) correspondiente a las claves 304 y 304B, según el campo 1914 de identificador de hardware proveniente de la base 124 de datos de certificados. En cualquier caso, la clave privada 304 (Figura 6A) es necesaria para reproducir cualquier contenido adquirido previamente ligado al sistema 104 de ordenador cliente usando el identificador 140 de hardware.
El convertidor 602 de pasaportes incluye los cifradores 506 y 508, que forman la clave privada 2304 y la clave 2308 de registro, de la manera descrita anteriormente en el contexto de la Figura 5. La información privada 2306 de usuario también es cifrada usando la contraseña proporcionada por el usuario como clave. El convertidor 602 de pasaportes incluye el empaquetador 510 de pasaportes, que empaqueta la clave privada 2304, la clave 2308 de registro y la información privada 2306 de usuario, para formar la información 2204A de pasaporte. El empaquetador 510 de pasaportes forma la firma 2208 para detectar e impedir la alteración de la información 2204A de pasaporte. Como se ha descrito anteriormente con respecto a la Figura 3B, un pasaporte ligado a usuario, tal como el pasaporte 148A, liga el contenido adquirido a un usuario específico, mediante la solicitud de la contraseña proporcionada por el usuario y mediante la exhibición de la información privada 2306 de usuario (Figura 23). El pasaporte 148A, y cualquier contenido accesible a través del mismo, no están ligados al identificador 140 de hardware, y pueden ser llevados a otros sistemas de ordenador para su reproducción.
El diagrama 650 de flujo lógico (Figura 6B) muestra la conversión del pasaporte 148B ligado a máquina al pasaporte 148A ligado a usuario, de acuerdo a una realización alternativa. En la etapa 652, el reproductor 142 de contenidos cifra el identificador 140 de hardware usando la clave pública del pasaporte 148B, p. ej., la clave pública del certificado 2402. En la etapa 654, el reproductor 142 de contenidos envía el certificado del pasaporte 148B y el identificador de hardware cifrado al servidor 126 de autenticación, como parte de una solicitud para actualizar el pasaporte 148B como un pasaporte ligado a usuario.
En la etapa 656, el servidor 126 de autenticación recibe el certificado y el identificador de hardware cifrado desde el reproductor 142 de contenidos. En la etapa 658, el servidor 126 de autenticación verifica la firma del certificado. El servidor 126 de autenticación extrae el registro de certificado, p. ej., el registro 2100 de certificado (Figura 21), correspondiente al certificado recibido desde la base 124 de datos de certificados en la etapa 660 (Figura 6B). En la etapa 662, el servidor 126 de autenticación obtiene el registro de cuenta asociado, p. ej., el registro 1702 de cuenta, y el registro de clave, p. ej., el registro 1704 de clave.
En la etapa 664, el servidor 126 de autenticación descifra el identificador de hardware cifrado recibido, usando la clave privada del registro de clave extraído, p. ej., la clave privada 1904 del registro 1704 de clave. En la etapa 666, el servidor 126 de autenticación compara el identificador de hardware descifrado con el identificador de hardware del registro de clave extraído, p. ej., el identificador 1914 de hardware del registro 1704 de clave. Si los identificadores de hardware no coinciden, la conversión del pasaporte 148B falla. En caso contrario, la conversión continúa.
En la etapa 668, el servidor 126 de autenticación construye y envía un registro de pasaporte completo con una clave privada de texto abierto y una clave de registro, e información de usuario en blanco. El texto abierto se usa en el presente documento, como en el uso común en la criptografía, para significar texto no cifrado y no necesariamente inteligible por humanos. Debería observarse que una clave puede formarse usando un algoritmo de cifrado, pero se considera texto abierto si la clave no requiere descifrado antes de usar la clave, por ejemplo, para cifrar / descifrar otros datos. El registro del pasaporte completo se envía al reproductor 142 de contenidos a través de un canal seguro.
En la etapa 670, el reproductor 142 de contenidos recibe el registro del pasaporte completo desde el servidor 126 de autenticación. El reproductor 142 de contenidos recibe una contraseña proporcionada por el usuario e información privada de usuario, provenientes del usuario, por medio de técnicas convencionales de interfaz de usuario, en la etapa
672.
En la etapa 674, el reproductor 142 de contenidos cifra la información privada de usuario, la clave privada y la clave de registro, usando la contraseña proporcionada por el usuario, de la manera descrita anteriormente con respecto a los cifradores 506-508 (Figura 6A) y el empaquetador 510 de pasaportes.
Uso de pasaportes convertibles para la adquisición y reproducción de datos
El diagrama 700 de flujo lógico (Figura 7) ilustra la autenticación por parte del reproductor 142 de contenidos (Figura 1) durante una adquisición de datos por parte de un usuario adquirente. En la etapa 702 de prueba (Figura 7), el reproductor 142 de contenidos (Figura 1) determina si está o no presente un pasaporte completo, ligado a usuario. En una realización, el reproductor 142 de contenidos incluye un registro de uno o más pasaportes asociados a datos que pueden ser reproducidos mediante el reproductor 142 de contenidos. Si está presente un pasaporte completo, el procesamiento se transfiere a la etapa 704 (Figura 7), en la cual el usuario adquirente ingresa una contraseña, usando técnicas convencionales de interfaz de usuario. En la etapa 706 de prueba (Figura 7), el reproductor 142 de contenidos
determina si la contraseña ingresada corresponde o no al pasaporte completo determinado como presente en la etapa 702 de prueba, que algunas veces se denomina, en el presente documento, el pasaporte completo seleccionado. El reproductor 142 de contenidos toma tal determinación intentando descifrar la clave privada 2304 (Figura 23) del pasaporte completo seleccionado. En esta realización ilustrativa, la clave privada 2304 se cifra usando el conocido algoritmo de cifrado de contraseñas PKCS #5 de RSA Security, y el uso de ese algoritmo proporciona una señal que indica si la contraseña usada para descifrar la clave privada 2304 es o no la contraseña correcta. Si la contraseña no corresponde al pasaporte completo seleccionado, el procesamiento se transfiere a la etapa 704 y el usuario ingresa otra contraseña. Si la contraseña corresponde al pasaporte completo seleccionado, el procesamiento se transfiere a la etapa 708, en la cual continúa el procesamiento de la adquisición del contenido.
La adquisición incluye la selección del contenido específico a adquirir y la autorización del pago. El contenido específico seleccionado por el usuario para su adquisición se denomina a veces en el presente documento el contenido seleccionado. El reproductor 142 de contenidos proporciona el certificado dentro de su pasaporte, especificando el pasaporte completo seleccionado como el pasaporte al cual debería ligarse el contenido seleccionado, y el servidor 126 de autenticación liga el contenido al certificado seleccionado de la manera descrita anteriormente con respecto a la Figura 5. En particular, la clave maestra del contenido seleccionado es cifrada por el cifrador 406 usando la clave pública 304B del reproductor como la clave para formar la clave 302 de medios. El generador 504 de pasaportes completos no se usa, dado que el pasaporte completo seleccionado ya existe dentro del reproductor 142 de contenidos. El uso de la clave pública 304B para cifrar la clave maestra 208 liga el contenido a un pasaporte que incluye la clave privada 304. El número de serie del certificado, p. ej., el número 2102 de serie del certificado, incluido en el contenido seleccionado, identifica a cuál pasaporte está ligado el contenido seleccionado.
Volviendo ahora a la etapa 702 de prueba (Figura 7), si no está presente ningún pasaporte completo dentro del reproductor 142 de contenidos, el procesamiento se transfiere a la etapa 710 de prueba. En la etapa 710 de prueba, el reproductor 142 de contenidos determina si está o no presente un pasaporte ligado a máquina. Si no está presente ningún pasaporte ligado a máquina, el procesamiento se transfiere a la etapa 718, que se describe más adelante. Por el contrario, si está presente un pasaporte ligado a máquina, el procesamiento se transfiere a la etapa 712.
En la etapa 712, el reproductor 142 de contenidos extrae el identificador 140 de hardware. En la etapa 714 de prueba, el reproductor 142 de contenidos determina si el identificador 140 de hardware es o no el identificador de hardware correspondiente al pasaporte ligado a máquina localizado por el reproductor 142 de contenidos. En una realización, tal determinación se toma intentando descifrar la clave privada 2404, usando el identificador 140 de hardware, usando un algoritmo de descifrado, tal como el algoritmo RSA PCKS #5, que indica si la clave usada para el descifrado es o no la clave correcta. Si no lo es, el procesamiento se transfiere a la etapa 716, en la cual se presenta un mensaje de error al usuario. El mensaje de error indica que el pasaporte ligado a máquina localizado no pertenece al sistema 104 de ordenador cliente. El reproductor 142 de contenidos puede responder de varias formas a tal error. Por ejemplo, el reproductor 142 de contenidos puede instruir al usuario para borrar el pasaporte erróneo ligado a máquina y reiniciar el procesamiento según el diagrama 700 de flujo lógico (el procesamiento llegará a las etapas 718, y siguientes a continuación, en el subsiguiente procesamiento iterativo, según el diagrama 700 de flujo lógico). El reproductor 142 de contenidos también puede informar un error de ese tipo al servidor 126 de autenticación, de modo que la distribución no autorizada de pasaportes ligados a máquina pueda ser rastreada.
Sin embargo, si el identificador 140 de hardware es el identificador correcto, el procesamiento se transfiere desde la etapa 714 de prueba a la etapa 708 y el proceso de adquisición continúa de la manera descrita anteriormente, excepto en que cualquier contenido adquirido está ligado a un pasaporte ligado a máquina. Al solicitar el contenido seleccionado, el reproductor 142 de contenidos envía su certificado al servidor 126 de autenticación. El servidor 126 de autenticación usa la clave pública de ese certificado para cifrar la clave maestra 208 a fin de ligar por ello el contenido seleccionado al reproductor 142 de contenidos. El pasaporte ligado a máquina detectado por el reproductor 142 de contenidos ya incluye la clave privada del reproductor 142 de contenidos, cifrada usando la clave 140 de hardware.
Volviendo a la etapa 710 de prueba (Figura 7), si ningún pasaporte ligado a máquina es hallado por el reproductor 142 de contenidos, el reproductor 142 de contenidos no tiene pasaportes en absoluto y el procesamiento se transfiere a la etapa 718. En la etapa 718, el reproductor 142 de contenidos solicita un nuevo pasaporte ligado a máquina al servidor 126 de autenticación. La etapa 718 se describe más completamente más adelante, conjuntamente con el diagrama 718 de flujo lógico (Figura 8). Después de la etapa 718, el reproductor 142 de contenidos construye un nuevo pasaporte ligado a máquina a partir de un registro de pasaporte ligado a máquina recibido desde el servidor 126 de autenticación. Después de la etapa 720, la adquisición del contenido continúa en la etapa 708, de la manera descrita anteriormente.
El diagrama 718 de flujo lógico (Figura 8) muestra la solicitud de un pasaporte ligado a máquina en mayor detalle. En la etapa 802, el reproductor 142 de contenidos establece una conexión segura con el servidor 126 de autenticación. Una tal conexión segura se describe más adelante en mayor detalle. En la etapa 804, el reproductor 142 de contenidos solicita una plantilla de información para un nuevo pasaporte ligado a máquina. En respuesta a tal solicitud, el servidor 126 de autenticación envía una plantilla de información para nuevos pasaportes ligados a máquina. Una plantilla de
información es una colección de datos que especifican campos de datos proporcionados por el usuario e identificadores para los mismos. En una realización, la plantilla de información es una descripción XML de los datos a recolectar del usuario. Si una plantilla de información es recibida por el reproductor 142 de contenidos, el procesamiento se transfiere, a través de la etapa 806 de prueba, a la etapa 808, en la cual el reproductor 142 de contenidos recoge información especificada en la plantilla de información recibida. Tal información puede ser ingresada por el usuario usando técnicas convencionales de interfaz de usuario. El procesamiento se transfiere a la etapa 810. Si no se recibe ninguna plantilla de información, el procesamiento se transfiere, directamente a través de la etapa 806 de prueba, a la etapa 810, omitiendo la etapa 808.
En la etapa 810, el reproductor 142 de contenidos envía el identificador 140 de hardware y cualquier información proporcionada por el usuario al servidor 126 de autenticación, como una solicitud de un nuevo pasaporte ligado a máquina. Después de la etapa 810, se completa el procesamiento según el diagrama 718 de flujo lógico y, por lo tanto, la etapa 718 (Figura 7).
El diagrama 900 de flujo lógico (Figura 9) ilustra el procesamiento por el servidor 126 de autenticación (Figura 1) en respuesta a una solicitud de un nuevo pasaporte ligado a máquina, hecha por el reproductor 142 de contenidos en la etapa 810 (Figura 8). En la etapa 902 (Figura 9), el servidor 126 de autenticación recibe el identificador de hardware y cualquier información proporcionada por el usuario. En la etapa 904 de prueba, el servidor 126 de autenticación determina si existe o no algún registro de clave, correspondiente al identificador de hardware recibido, en la base 124 de datos de certificados. El servidor 126 de autenticación toma tal determinación buscando registros de clave, p. ej., el registro 1704 de clave (Figura 19), que representen un identificador de hardware equivalente dentro del campo 1914 de identificador de hardware. Si no se halla ningún registro de clave de ese tipo, el procesamiento se transfiere a la etapa 906 (Figura 9). Por el contrario, si se halla un registro de clave de ese tipo, el procesamiento se transfiere a la etapa 912 de prueba, que se describe más adelante.
En la etapa 906, el servidor 126 de autenticación crea un nuevo par de claves privada / pública y crea un nuevo certificado en base al nuevo par de claves, p. ej., el par de claves del registro 1704 de clave (Figura 19) y el certificado 2100 (Figura 21), respectivamente. En la etapa 908 (Figura 9), el servidor 126 de autenticación asocia el nuevo certificado al identificador de hardware recibido, p. ej., el identificador 140 de hardware, dentro de la base 124 de datos de certificados. Tal asociación se logra almacenando el identificador 140 de hardware en el campo 1914 de identificador de hardware (Figura 19) del registro 1704 de clave. En la etapa 910 (Figura 9), el servidor 126 de autenticación devuelve al reproductor 142 de contenidos un registro de pasaporte ligado a máquina. Un registro de pasaporte ligado a máquina es una colección de datos a partir de los cuales el reproductor 142 de contenidos puede construir un pasaporte ligado a máquina, tal como el pasaporte 148B descrito anteriormente. Un registro de pasaporte ligado a máquina de ese tipo incluye, por ejemplo, la información 2204B de pasaporte (Figura 24) y el algoritmo 2206 de firma, y la firma 2208. Después de la etapa 910 (Figura 9), se completa el procesamiento según el diagrama 900 de flujo lógico.
Volviendo a la etapa 904 de prueba, si un par de claves asociado al identificador 140 de hardware (Figura 1) ya está presente dentro de la base 124 de datos de certificados, el procesamiento se transfiere a la etapa 912 de prueba (Figura 9), en la cual se implementa una decisión directriz. La directriz determina si admitir o no que claves asociadas a pasaportes existentes ligados a máquina sean re-emitidas. Es posible que un usuario pierda un pasaporte ligado a máquina, p. ej., por borrado involuntario o mediante la pérdida de datos debida a un fallo de hardware. Además, si se permite la re-emisión de claves de pasaportes ligados a máquina, el número de veces que se permite tal re-emisión puede limitarse. Por ejemplo, un límite de ese tipo se especifica en el campo 1910 de límite de re-emisión (Figura 19). En una realización, un límite de cero indica que las claves ligadas a máquina no pueden ser re-emitidas. En esta realización, el campo 1910 de límite de re-emisión almacena datos con un valor de uno para indicar que las claves ligadas a máquina pueden ser re-emitidas solamente una vez. Si las directrices determinan que estas claves no serán re-emitidas, p. ej., puesto que las claves no son re-emitidas, o que la base 124 de datos de certificados indica que se ha llevado a cabo el máximo número permitido de re-emisiones para este pasaporte ligado a máquina, el procesamiento se transfiere a la etapa 914 (Figura 9). En la etapa 914, se devuelve un error en lugar de un registro de pasaporte ligado a máquina. Por el contrario, si la re-emisión es permitida por las directrices, el procesamiento se transfiere a la etapa 916. Las directrices pueden permitir tal re-emisión si la re-emisión está permitida en general, y la base 124 de datos de certificados indica que se han llevado a cabo menos del número máximo permitido de reemisiones. En una realización, el servidor 126 de autenticación determina el número de veces que han sido re-emitidas las claves del registro 1704 de claves (Figura 17), buscando y contando registros históricos, tales como el registro histórico 1706 dentro de la base 124 de datos de certificados, que representan una re-emisión de ese tipo. El registro histórico 1706 representa una re-emisión de las claves del registro 1704 de clave si el número 2002 de serie (Figura 20) corresponde al número 1902 de serie (Figura 19) y el campo 2006 de actividad especifica un suceso de re-emisión.
En la etapa 916, el servidor 126 de autenticación extrae el par de claves privada / pública asociado al identificador de hardware recibido, p. ej., el par de claves del registro 1704 de clave asociado el identificador 140 de hardware, de la base 124 de datos de certificados, y forma un registro de pasaporte ligado a máquina a partir del par extraído, de la
manera descrita anteriormente. En la etapa 918, el servidor 126 de autenticación actualiza la base 124 de datos de certificados para reflejar la emisión adicional de las claves asociadas al identificador de hardware recibido. En esta realización ilustrativa, el servidor 126 de autenticación registra una tal re-emisión creando un nuevo registro histórico, p. ej., el registro histórico 1706, con número 2002 de serie (Figura 20) correspondiente al número 1902 de serie (Figura 19) del registro de clave y al campo 2006 de actividad que representa un suceso de re-emisión. El procesamiento se transfiere desde la etapa 918 a la etapa 910, en la cual el registro de pasaporte es devuelto de la manera descrita anteriormente. Después de la etapa 910, se completa el procesamiento según el diagrama 900 de flujo lógico.
El diagrama 1000 de flujo lógico (Figura 10) ilustra el procesamiento de pasaportes durante el acceso del contenido adquirido. En el contexto de las Figuras 10 a 16, el contenido específico del contenido adquirido 144 ha sido seleccionado por el usuario para su reproducción, y ese contenido se denomina a veces el contenido adquirido seleccionado. En la etapa 1002 de prueba (Figura 10), el reproductor 142 de contenidos determina si está presente o no un pasaporte completo. Si no lo está, el procesamiento se transfiere a la etapa 1008 de prueba, que se describe más completamente más adelante. Por el contrario, si está presente un pasaporte completo, el procesamiento se transfiere a la etapa 1004, en la cual el reproductor 142 de contenidos autentica al usuario mediante la comprobación de una contraseña proporcionada por el usuario, de la manera descrita anteriormente con respecto a las etapas 704 (Figura 7) y 706. Después de que el usuario es autenticado, el reproductor 142 de contenidos intenta, en la etapa 1006 (Figura 10), reproducir el contenido seleccionado usando el pasaporte completo ligado a usuario localizado en la etapa 1002 de prueba.
En la etapa 1008 de prueba, el reproductor 142 de contenidos determina si está o no presente un pasaporte ligado a máquina. Si no lo está, no está presente ningún pasaporte y el procesamiento se transfiere a la etapa 1016 de diálogo. Por otra parte, si está presente un pasaporte ligado a máquina, el procesamiento se transfiere a la etapa 1010, en la cual el reproductor 142 de contenidos verifica que el identificador 140 de hardware corresponda al pasaporte ligado a máquina, de la manera descrita anteriormente con respecto a las etapas 712 (Figura 7) y 714. Si la etapa 1010 produce un error de verificación, es decir, si el identificador 140 de hardware no corresponde al pasaporte ligado a máquina, el procesamiento se transfiere a la etapa 1016 de diálogo, que se describe más adelante. Por el contrario, si la verificación es exitosa, el procesamiento se transfiere a la etapa 1006.
En la etapa 1006, el reproductor 142 de contenidos intenta reproducir el contenido seleccionado. En la etapa 1012 de prueba, el reproductor 142 de contenidos determina si la reproducción intentada es o no exitosa, es decir, si la clave del pasaporte descodifica o no con éxito el contenido seleccionado. Tal determinación se toma de la manera descrita anteriormente con respecto a las etapas 706 (Figura 7) y 714.
Si la clave de pasaporte seleccionada descifra exitosamente el contenido seleccionado, el procesamiento se transfiere a la etapa 1014, en la cual el reproductor 142 de contenidos continúa con la reproducción del contenido seleccionado. En la etapa 1014, el usuario y / o el sistema 104 de ordenador cliente han sido autenticados como autorizados para acceder al contenido seleccionado.
Por otra parte, si la clave de pasaporte seleccionada no puede descifrar exitosamente el contenido seleccionado, el procesamiento se transfiere a la etapa 1016 de diálogo. De esa manera, el procesamiento se transfiere a la etapa 1016 de diálogo si ningún pasaporte es detectado por el reproductor 142 de contenidos (a través de la etapa 1008 de prueba), si el identificador 140 de hardware no corresponde al pasaporte ligado a máquina localizado por el reproductor 142 de contenidos (desde la etapa 1010), o si la clave de pasaporte seleccionada no puede descifrar exitosamente el contenido seleccionado (a través de la etapa 1012 de prueba). En la etapa 1016 de diálogo, el reproductor 142 de contenidos informa al usuario de que el usuario no está autorizado a reproducir el contenido seleccionado y pregunta al usuario si el usuario desearía ser autorizado a tal efecto.
Si el usuario responde negativamente, el procesamiento se transfiere a la etapa 1020, en la cual el reproductor 142 de contenidos devuelve un error y termina el procesamiento. Por el contrario, si el usuario responde afirmativamente, el procesamiento se transfiere a la etapa 1018, en la cual un nuevo pasaporte es creado para el contenido seleccionado, y se continúa en la etapa 1014, en la cual el reproductor 142 de contenidos continúa con la reproducción del contenido seleccionado.
La etapa 1018 se muestra en mayor detalle como el diagrama 1018 de flujo lógico (Figura 11). En la etapa 1102, el reproductor 142 de contenidos extrae un certificado de contenido proveniente del contenido seleccionado. El certificado de contenido es un certificado digital, p. ej., un certificado digital ITU-T X.509, que está incluido en el contenido seleccionado y que identifica quién adquirió el contenido originalmente. El certificado 2100 (Figura 21) es un ejemplo ilustrativo de un certificado de ese tipo y se describe más completamente en lo precedente. En esta realización ilustrativa, el reproductor 142 de contenidos extrae el número de serie del certificado, p. ej., el número 2102 de serie del certificado, por el cual el servidor 126 de autenticación (Figura 1) puede localizar el certificado 2100 dentro de la base 124 de datos de certificados. En la etapa 1104 de prueba (Figura 11), el reproductor 142 de contenidos determina si el usuario tiene o no un pasaporte completo. El reproductor 142 de contenidos puede tomar tal determinación en base a la presencia de un pasaporte completo, según lo determinado en la etapa 1002 (Figura 10), o al fracaso del usuario
para autenticar cualquier pasaporte completo presente en la etapa 1004. Además, se puede pedir al usuario un nombre y una dirección de correo electrónico, y las respuestas a ello del usuario pueden ser usadas para buscar registros de cuenta, tales como el registro 1702 de cuenta (Figura 18), con un campo 1804 de nombre y un campo 1806 de dirección de correo electrónico equivalentes. Si el usuario tiene un pasaporte completo, el procesamiento se transfiere a la etapa 1106 (Figura 11), en la cual el reproductor 142 de contenidos solicita un pasaporte para el contenido adquirido seleccionado usando la información del pasaporte completo del usuario, incluso la información privada 2306 de usuario (Figura 23). Si el usuario no tiene ningún pasaporte completo, el procesamiento se transfiere a la etapa 1114 (Figura 11), en la cual el reproductor 142 de contenidos solicita un pasaporte para el contenido seleccionado usando el identificador 140 de hardware. En esta realización, se brinda al usuario una oportunidad para proporcionar alguna información personal, tal como un nombre, dirección de correo electrónico y país de residencia, y esa información puede acompañar al identificador 140 de hardware en la solicitud de un nuevo pasaporte en la etapa 1114.
El procesamiento por el servidor 126 de autenticación en respuesta a las solicitudes de las etapas 1106 y 1114 se describe más adelante conjuntamente con las Figuras 13 y 12, respectivamente. En respuesta a la solicitud de las etapas 1106 (Figura 11), el servidor 126 de autenticación puede enviar un registro de pasaporte completo o un mensaje de error. En respuesta a la solicitud de la etapa 1114, el servidor 126 de autenticación puede enviar un registro de pasaporte ligado a máquina o un mensaje de error.
En la etapa 1108 de prueba, el reproductor 142 de contenidos determina si un registro de pasaporte completo es devuelto o no por el servidor 126 de autenticación. Si no es así, se devuelve un error y termina el procesamiento según los diagramas 1018 y 1000 de flujo lógico. Por el contrario, si se devuelve un registro de pasaporte completo, el procesamiento se transfiere a la etapa 1110.
En la etapa 1110, el reproductor 142 de contenidos asegura la información de pasaporte completo del registro de pasaporte completo con una contraseña proporcionada por el usuario, de la manera descrita anteriormente con respecto al generador 504 de pasaportes completos (Figura 5).
El procesamiento se transfiere desde la etapa 1110 (Figura 11) a la etapa 1112, en la cual el reproductor 142 de contenidos crea el pasaporte completo 148A (Figura 3A) a partir de la información de pasaporte completo recibida desde el servidor 126 de autenticación.
El procesamiento se transfiere desde la etapa 1114 a la etapa 1116 de prueba. En la etapa 1116 de prueba, el reproductor 142 de contenidos determina si los datos recibidos desde el servidor 126 de autenticación en respuesta a la solicitud de la etapa 1114, o de la etapa 1106, representan o no un registro de pasaporte ligado a máquina. Si es así, el reproductor 142 de contenidos crea un pasaporte ligado a máquina tal como el pasaporte 148B (Figura 3B), usando el registro de pasaporte ligado a máquina, y se completa el procesamiento según el diagrama 1018 de flujo lógico y, por lo tanto, la etapa 1018 (Figura 10).
Por el contrario, si los datos devueltos por el servidor 126 de autorización no representan un registro de pasaporte ligado a máquina, el procesamiento se transfiere a la etapa 1120 de prueba. En la etapa 1120 de prueba, el reproductor 142 de contenidos determina si la respuesta del servidor 126 de autenticación indica o no que el usuario necesita un pasaporte completo para estar debidamente autenticado para acceder al contenido adquirido seleccionado. Si no es así, el usuario no puede ser autenticado para acceder al contenido adquirido, y el reproductor 126 de contenidos observa que ha ocurrido un error e informa del error al usuario, terminando el procesamiento según el diagrama 1018 de flujo lógico y, por lo tanto, la etapa 1018 (Figura 10). Por otra parte, si la respuesta del servidor 126 de autenticación indica que el usuario necesita un pasaporte completo, el procesamiento se transfiere a la etapa 1122.
En la etapa 1122, el reproductor 142 de contenidos envía al servidor 126 de autenticación una solicitud de un nuevo pasaporte. La solicitud incluye datos que especifican el identificador 140 de hardware y un certificado extraído del contenido adquirido seleccionado. El certificado del contenido adquirido identifica el contenido adquirido seleccionado dentro de la base 124 de datos de certificados (Figura 1). El servidor 126 de autenticación responde a tal solicitud de la manera descrita más adelante con respecto al diagrama 1400 de flujo lógico (Figura 14), enviando al reproductor 142 de contenidos un registro de pasaporte completo o bien un mensaje de error.
En la etapa 1124 de prueba, el reproductor 142 de contenidos determina si el servidor 126 de autenticación devuelve un registro de pasaporte completo, o bien un error. Si se devuelve un error, el usuario no puede ser autenticado para acceder al contenido adquirido, y el reproductor 126 de contenidos observa que ha ocurrido un error e informa del error al usuario, terminando el procesamiento según el diagrama 1018 de flujo lógico y, por lo tanto, la etapa 1018 (Figura 10). Por otra parte, si la respuesta desde el servidor 126 de autenticación es un registro de pasaporte completo, el procesamiento se transfiere a la etapa 1126 (Figura 11), en la cual el reproductor 142 de contenidos solicita al usuario que ingrese una contraseña.
El procesamiento se transfiere desde la etapa 1126 a la etapa 1112, en la cual el reproductor 142 de contenidos crea el pasaporte completo 148A (Figura 3A), a partir de la información de pasaporte completo recibida desde el servidor 126
de autenticación. Después de la etapa 1112 (Figura 11), ya sea a través de la etapa 1110 o la etapa 1126, se completa el procesamiento según el diagrama 1018 de flujo lógico y, por lo tanto, la etapa 1018 (Figura 10).
Como se ha descrito anteriormente, el servidor 126 de autenticación responde a una solicitud de un pasaporte que incluye un identificador de hardware de la manera mostrada como el diagrama 1200 de flujo lógico (Figura 12). Específicamente, el diagrama 1200 de flujo lógico representa la respuesta del servidor 126 de autenticación a la solicitud hecha por el reproductor 142 de contenidos en la etapa 1114 (Figura 11), en la cual el usuario no tenía ningún pasaporte completo. En consecuencia, se pide al servidor 126 de autenticación re-emitir el mismo pasaporte ligado a máquina al cual ya debería estar ligado el contenido seleccionado. En la etapa 1202 (Figura 12), el servidor 126 de autenticación extrae el certificado para el contenido seleccionado de la base 124 de datos de certificados. Por ejemplo, si el reproductor 142 de contenidos proporciona - como el certificado del contenido seleccionado - el número 2102 de serie de certificado (Figura 21), el servidor 126 de autenticación extrae el certificado 2100 de la base 124 de datos de certificados (Figura 17).
En la etapa 1204 de prueba (Figura 12), el servidor 124 de autenticación determina si el contenido adquirido está o no ligado a un pasaporte ligado a máquina. El servidor 124 de autenticación toma una determinación de ese tipo extrayendo un registro de cuenta, p. ej., el registro de cuenta (Figura 18) que corresponde al certificado. El servidor 126 de autenticación puede localizar un registro de cuenta de ese tipo buscando registros de cuenta con valores correspondientes de datos para el nombre 1804, la dirección 1806 de correo electrónico y el país 1808 o, alternativamente, manteniendo una tabla de registros que correlacionen el número de serie del certificado, tal como el número 2102 de serie de certificado (Figura 21), con números de serie tales como el número 1802 de serie (Figura 18). Examinando el campo 1816 de tipo del registro de cuenta extraído, y comparando los datos almacenados en el mismo con los datos que representan un tipo ligado a máquina. Si los datos en el campo 1816 de tipo así lo indican, el contenido seleccionado está ligado a un pasaporte ligado a máquina. En caso contrario, el contenido seleccionado está ligado a un pasaporte completo.
Si el contenido seleccionado no está ligado a un pasaporte ligado a máquina, el servidor 126 de autenticación devuelve un mensaje de error, que indica que se requiere un pasaporte completo para acceder al contenido seleccionado, y termina el procesamiento según el diagrama 1200 de flujo lógico. Se requiere el pasaporte completo, ya que el contenido seleccionado ya está ligado a un pasaporte completo, ligado a usuario. Permitir que el contenido también se ligara a un nuevo pasaporte ligado a máquina permitiría que el contenido se reprodujera en numerosos sistemas de ordenador distintos a los usados por el usuario adquirente original, y representaría un compromiso de la seguridad.
Por el contrario, si el contenido adquirido seleccionado está ligado a un pasaporte ligado a máquina, el procesamiento se transfiere a la etapa 1206, en la cual el servidor 126 de autenticación extrae un registro de clave que representa al sistema de ordenador asociado al identificador de hardware recibido en la solicitud desde el reproductor 142 de contenidos. Específicamente, el servidor 126 de autenticación extrae el registro de clave, p. ej., el registro 1704 de clave (Figura 19), cuyo registro 1914 de identificador de hardware represente el identificador de hardware recibido desde el reproductor 142 de contenidos.
Si no se halla ningún registro de clave de ese tipo, el procesamiento se transfiere, a través de la etapa 1208 de prueba (Figura 12), a la etapa terminal 1210. En la etapa terminal 1210, el servidor 126 de autenticación devuelve un mensaje de error que indica que el usuario necesita un pasaporte completo para acceder al contenido seleccionado. El usuario necesita un pasaporte completo, dado que se ha determinado, en la etapa 1208 de prueba, que el identificador de hardware recibido desde el reproductor 142 de contenidos representa un sistema de ordenador con el cual el servidor 126 de autenticación no está familiarizado.
Si el servidor 126 de autenticación halla el registro de clave, pero el registro de clave no es el mismo que el registro de clave extraído en la etapa 1204 de prueba, el procesamiento atraviesa la etapa 1208 de prueba y la etapa 1212 de prueba, hasta la etapa terminal 1210. El usuario necesita un pasaporte completo, dado que la solicitud de un pasaporte ligado a máquina aparece como proveniente de un sistema de ordenador distinto a aquel al cual estaba originalmente ligado el contenido adquirido.
Si se halla el registro de clave según lo determinado en la etapa 1208 de prueba, y es el mismo que el registro de clave asociado al contenido adquirido seleccionado, según lo determinado en la etapa 1212 de prueba, el procesamiento se transfiere a la etapa 1214 de prueba, en la cual el servidor 126 de autenticación implementa una decisión directriz. En particular, el servidor 126 de autenticación determina si las claves ligadas a máquina pueden ser re-emitidas. En esta realización ilustrativa, el servidor 126 de autenticación toma una determinación de ese tipo según los datos almacenados en el campo 1910 de límite de re-emisión (Figura 19) del registro de clave extraído en la etapa 1206 (Figura 12). Si no se permite la re-emisión, el procesamiento se transfiere a la etapa terminal 1210, en la cual el servidor 126 de autenticación devuelve un mensaje de error que indica que el usuario necesita un pasaporte completo para acceder al contenido seleccionado. Por el contrario, si se permite la re-emisión de las claves ligadas a máquina, el procesamiento se transfiere a la etapa 1216.
En la etapa 1216, el servidor 126 de autenticación registra la re-emisión del registro 1704 de clave (Figura 19) en la base 124 de datos de certificados (Figura 17) con un nuevo registro histórico, tal como el registro histórico 1706. Después de la etapa 1216 (Figura 12), el servidor 126 de autenticación devuelve un registro de pasaporte ligado a máquina, que contiene información proveniente del registro 1704 de clave (Figura 19), al reproductor 142 de contenidos (Figura 1) en la etapa terminal 1218 (Figura 12). Después de la etapa terminal 1210, o bien la etapa terminal 1218, se completa el procesamiento según el diagrama 1200 de flujo lógico.
Como se ha descrito anteriormente, el diagrama 1300 de flujo lógico (Figura 13) representa el procesamiento por parte del servidor 126 de autenticación en respuesta a una solicitud de un nuevo pasaporte, que incluye información de pasaporte completo. En particular, el diagrama 1300 de flujo lógico representa la respuesta por parte del servidor 126 de autenticación a la solicitud hecha por el reproductor 142 de contenidos en la etapa 1106 (Figura 11), en la cual el usuario ya tiene un pasaporte completo y, en esencia, está pidiendo tener claves ligadas a máquina añadidas al pasaporte completo. En la etapa 1302 (Figura 13), el servidor 126 de autenticación extrae un certificado para el contenido seleccionado, de la manera descrita anteriormente con respecto a la etapa 1202 (Figura 12). En la etapa 1304 de prueba (Figura 13), el servidor 126 de autenticación determina si el certificado del contenido está ligado a máquina, de la manera descrita anteriormente con respecto a la etapa 1204 (Figura 12).
Si el certificado de contenido no está ligado a máquina, el servidor 126 de autenticación devuelve un error en la etapa terminal 1306 (Figura 13), dado que el contenido seleccionado está ligado a un pasaporte completo distinto, ligado a usuario, es decir, está ligado a un usuario distinto. Por el contrario, si el certificado está ligado a máquina, el procesamiento se transfiere a la etapa 1308.
La etapa 1308 de prueba implementa una decisión directriz en la cual el servidor 126 de autenticación determina si las claves ligadas a máquina pueden añadirse o no al pasaporte completo pre-existente. Tal cosa ocurriría, por ejemplo, si un usuario hubiera registrado un pasaporte completo en un sistema de ordenador cliente, y registrado un pasaporte ligado a máquina en otro sistema de ordenador cliente, y quisiera más tarde llevar contenido adquirido desde el último sistema de ordenador cliente al primero. El usuario habría adquirido contenido ligado a dos conjuntos distintos de claves. Si esto no se permite, el procesamiento se transfiere a la etapa terminal 1306 y devuelve un error. Por el contrario, si se permite tal cosa, el procesamiento se transfiere a la etapa 1310 de prueba.
En la etapa 1310 de prueba, el servidor 126 de autenticación implementa otra decisión directriz, a saber, si este pasaporte completo específico puede contener más claves. Habitualmente, se permite a los pasaportes completos mantener solamente un número limitado de claves adicionales, de modo que los usuarios no puedan recolectar claves y contenido ligados a máquina de amigos y colegas sin límite. En esta realización, un límite 1912 de clave de pasaporte (Figura 19) especifica un número máximo de claves mantenidas por un pasaporte, en base al registro 1704 de clave. El servidor 126 de autenticación compara el número de claves ya mantenidas en el pasaporte completo del usuario con el límite especificado en el límite 1912 de clave de pasaporte, para determinar si el pasaporte puede o no incluir más claves.
Si el pasaporte no puede incluir más claves, el procesamiento se transfiere a la etapa terminal 1306 (Figura 13) en la cual se devuelve un error. En la etapa terminal 1306, ya sea desde la etapa 1304 de prueba, la etapa 1308 de prueba o la etapa 1310 de prueba, termina el procesamiento según el diagrama 1300 de flujo lógico.
Por el contrario, si el pasaporte puede incluir más claves, el procesamiento se transfiere a la etapa 1312, en la cual se añade la clave al pasaporte y el agregado de la clave se registra en un nuevo registro histórico en la base 124 de datos de certificados. Al agregar la clave, el servidor 126 de autenticación agrega un registro 2312 de clave añadida (Figura 23) al pasaporte. El registro 2312 de clave adicional incluye una clave 2314 y un certificado 2316. El certificado 2316 es el certificado del reproductor de contenidos al cual ya está ligado el contenido seleccionado, y la clave 2314 es la clave privada recíproca. La clave 2314 se cifra usando la clave 2310 de registro no cifrada - véase, p. ej., la clave 520 de registro abierto (Figura 5). En una realización, tal cifrado es efectuado por el reproductor 142 de contenidos (Figura 1) después de la devolución de la información de pasaporte por parte del servidor 126 de autenticación, dado que el reproductor 142 de contenidos recibe directamente la contraseña proporcionada por el usuario. En una realización alternativa, el servidor 126 de autenticación mantiene la clave 520 de registro abierto y recibe la contraseña proporcionada por el usuario desde el reproductor 142 de contenidos, junto con la solicitud de pasaporte y, en consecuencia, el servidor 126 de autenticación cifra la clave 2314 (Figura 23).
Después de la etapa 1314 (Figura 12), el procesamiento se transfiere a la etapa terminal 1316, en la cual el servidor de autenticación envía un registro de pasaporte completo y completa el procesamiento según el diagrama 1300 de flujo lógico.
El diagrama 1400 de flujo lógico (Figura 14) representa la respuesta por parte del servidor 126 de autenticación a la solicitud del reproductor 142 de contenidos en la etapa 1122 (Figura 11), en la cual el usuario no tiene ningún pasaporte completo, pero está solicitando que un pasaporte ligado a máquina previamente adquirido sea ampliado hasta un pasaporte completo. El usuario puede solicitar explícitamente tal ampliación, o bien una ampliación de ese
tipo puede ser intentada, cuando un usuario lo acuerda, después de intentar reproducir contenido ligado a máquina en un sistema de ordenador cliente al cual el contenido no estaba ligado. En la etapa 1402 (Figura 14), el servidor 126 de autenticación genera un nuevo pasaporte completo con una clave para el contenido. La etapa 1402 se muestra en mayor detalle como el diagrama 1402 de flujo lógico (Figura 15).
En la etapa 1502, el servidor 126 de autenticación busca un registro de clave con un identificador 1914 de hardware (Figura 19) correspondiente al identificador de hardware recibido desde el reproductor 142 de contenidos en la solicitud de la etapa 1122 (Figura 11). Si no se halla ninguno, el procesamiento se transfiere a la etapa 1504.
En la etapa 1504, el servidor 126 de autenticación crea un nuevo par de claves y forma un nuevo registro de clave, tal como el registro 1704 de clave (Figura 19), que representa el nuevo par de claves. En la etapa 1506, el servidor 126 de autenticación crea un pasaporte completo con las claves del nuevo registro de clave. Específicamente, el servidor 126 de autenticación copia la clave pública 1906 (Figura 19) y las fechas 1908 de validez del registro 1704 de clave recién creado a la clave pública 2320 (Figura 23) y las fechas 2322 de validez, respectivamente. El servidor 126 de autenticación crea un nuevo número 2324 de serie de certificado y firma el certificado 2302 para formar la firma 2326. El servidor 126 de autenticación copia la clave privada 1904 (Figura 19) a la clave privada 2304 (Figura 23). En esta realización, la clave privada 2304 es asegurada por el reproductor 142 de contenidos (Figura 1) en la etapa 1010 (Figura 10) según lo descrito anteriormente. Además, la información privada 2306 de usuario (Figura 23) se deja vacía, para ser completada por el reproductor 142 de contenidos. El servidor 126 de autenticación crea una nueva clave 2308 de registro y un nuevo número aleatorio 2310. El reproductor 142 de contenidos asegura la clave 2308 de registro en la etapa 1010 (Figura 10), según lo descrito anteriormente.
Volviendo a la etapa 1502 de prueba, si se halla un registro de clave correspondiente al identificador de hardware recibido, el procesamiento se transfiere a la etapa 1508 de prueba, que implementa una decisión directriz. Específicamente, la etapa 1508 de prueba implementa la misma decisión directriz implementada por la etapa 1308 de prueba (Figura 13) - es decir, si un pasaporte completo puede o no incluir claves ligadas a máquina. Si el servidor 126 de autenticación determina que un pasaporte completo no puede incluir claves ligadas a máquina, el procesamiento se transfiere a la etapa terminal 1510, en la cual el servidor 126 de autenticación devuelve un error y completa el procesamiento según los diagramas 1402 y 1400 de flujo lógico (Figura 14). Por el contrario, si el pasaporte completo puede incluir claves ligadas a máquina, el procesamiento se transfiere a la etapa 1512 (Figura 15).
En la etapa 1512, el servidor 126 de autenticación registra la emisión de las claves del registro de clave localizado en la etapa 1502 de prueba en un nuevo registro histórico dentro de la base 124 de datos de certificados. En la etapa 1514, el servidor 126 de autenticación crea un pasaporte completo con las claves del registro de clave ligada a máquina. La etapa 1514 es análoga a la etapa 1506 descrita anteriormente, excepto en que el registro 1704 de clave no está recién creado en la etapa 1514. En cambio, el registro 1704 de clave es el registro de clave localizado en la etapa 1502 de prueba.
Después de la etapa 1506, o bien de la etapa 1514, se completa el procesamiento según el diagrama 1402 de flujo lógico y, por lo tanto, la etapa 1402 (Figura 14). En la etapa 1404, el servidor 126 de autenticación usa el identificador de hardware recibido y la información de contenido para generar el nuevo pasaporte completo. La etapa 1404 se muestra en mayor detalle como el diagrama 1404 de flujo lógico (Figura 16).
En la etapa 1602 de prueba, el servidor 126 de autenticación determina si se ha recibido o no un certificado para el contenido seleccionado desde el reproductor 142 de contenidos, junto con la solicitud de la etapa 1122. Si el usuario solicita explícitamente la ampliación de su pasaporte al ligado a usuario desde el ligado a máquina, sin solicitar la reproducción de ningún contenido específico, la solicitud recibida por el servidor 126 de autenticación no incluiría un certificado de contenido. Sin embargo, si la solicitud llega a través de la etapa 1122 (Figura 11), en la cual la solicitud de ampliación es en respuesta a un intento de reproducir contenido en un primer sistema de ordenador cliente cuando el contenido está ligado a un segundo sistema de ordenador cliente, la solicitud incluye el certificado del contenido que se intenta reproducir.
Si no se incluye ningún certificado de contenido en la solicitud desde el reproductor 142 de contenidos, el procesamiento se transfiere a la etapa 1604 (Figura 16), en la cual se devuelve la información de pasaporte completo creada en la etapa 1506 (Figura 15) o la etapa 1514. El procesamiento según el diagrama 1402 de flujo lógico (Figura 16) y, por lo tanto, la etapa 1404 (Figura 14), se completa después de la etapa 1604 (Figura 16).
Por otra parte, si se incluye un certificado de contenido en la solicitud desde el reproductor 142 de contenidos, el procesamiento se transfiere a la etapa 1606 de prueba. En la etapa 1606 de prueba, el servidor 126 de autenticación determina si el identificador de hardware recibido desde el reproductor 142 de contenidos coincide o no con el certificado de contenido. Si es así, el usuario está solicitando una ampliación desde la máquina a la cual está ligado su contenido, y el procesamiento se transfiere a la etapa 1604, en la cual se devuelve la información de pasaporte completo creada en la etapa 1506 (Figura 15) o la etapa 1514. Por el contrario, si el identificador de hardware recibido y el certificado de contenido no coinciden, el procesamiento se transfiere a la etapa 1610 de prueba.
En la etapa 1610 de prueba, el servidor 126 de autenticación implementa una decisión directriz, a saber, si pueden ser emitidas claves ligadas a máquina para un pasaporte completo. Esto es lo mismo que la decisión directriz de la etapa 1608 de prueba. Si no pueden emitirse claves ligadas a máquina para un pasaporte completo, se devuelve un error y termina el procesamiento según los diagramas 1404 y 1400 de flujo lógico (Figura 14). Por el contrario, si las claves ligadas a máquina pueden ser añadidas al pasaporte completo, el procesamiento se transfiere a la etapa 1612 de prueba.
En la etapa 1612 de prueba, el servidor 126 de autenticación implementa otra decisión directriz, a saber, si puede este pasaporte mantener más claves. Esto es lo mismo que la decisión directriz de la etapa 1310 de prueba. Si el pasaporte completo no puede mantener más claves, se devuelve un error y termina el procesamiento según los diagramas 1404 y 1400 de flujo lógico (Figura 14). Por el contrario, si el pasaporte completo puede mantener más claves, el procesamiento se transfiere a la etapa 1614 (Figura 16).
En la etapa 1614, el servidor 126 de autenticación registra la inclusión de las claves ligadas a máquina en el pasaporte completo en la base 124 de datos de certificados, de la manera descrita anteriormente en la etapa 1312 (Figura 13). En la etapa 1616, el servidor 126 de autenticación agrega las claves provenientes del certificado de contenido al pasaporte completo. Por ejemplo, si el certificado 2100 (Figura 21) representa el certificado de contenido, el servidor 126 de autenticación almacena el certificado 2100 como el certificado 2316 (Figura 23) y almacena la clave privada 1904 asociada del registro de clave asociado como la clave 2314 (Figura 23).
Después de la etapa 1614 (Figura 16), el procesamiento se transfiere a la etapa 1604, en la cual se devuelve la información de pasaporte completo creada en la etapa 1506 (Figura 15) o la etapa 1514, con las claves adicionales de la etapa 1616 (Figura 16), y se completa el procesamiento según los diagramas 1404 y 1400 de flujo lógico (Figura 14).
De esta manera, un pasaporte ligado a máquina es convertido en un pasaporte ligado a usuario de una manera segura, que es relativamente cómoda para el usuario, y sin requerir el re-cifrado, o la modificación de otro modo, de los datos ligados.
Conexión segura entre el servidor de autenticación y el reproductor de contenidos
Como se ha descrito brevemente en lo que antecede, el servidor 126 de autenticación (Figura 1) y el reproductor 142 de contenidos se comunican a través de una conexión segura, a través de la red 106 de área amplia. En una realización, se usa el conocido tipo de conexión Capa de Zócalos Seguros (SSL) para la comunicación segura entre el servidor 126 de autenticación y el reproductor 142 de contenidos.
En una realización alternativa, el servidor 126 de autenticación y el reproductor 142 de contenidos se comunican entre sí en una sesión criptográficamente segura que es más sencilla que el protocolo SSL. El reproductor 142 de contenidos envía un mensaje de solicitud al servidor 126 de autenticación para obtener el certificado del servidor 126 de autenticación. El reproductor 142 de contenidos cifra su información de registro usando la clave pública del servidor 126 de autenticación, de modo que solamente el servidor 126 de autenticación pueda descifrar la información de registro. El servidor 126 de autenticación devuelve la información necesaria para crear el pasaporte al reproductor 142 de contenidos. La información se cifra usando una clave obtenida de la información de registro proporcionada por el reproductor 142 de contenidos, de modo que solamente el reproductor 142 de contenidos pueda descifrar la información de pasaporte.
La descripción anterior es solamente ilustrativa y no es limitadora. La presente invención está limitada solamente por las siguientes reivindicaciones.
La siguiente es una lista de ejemplos adicionales de la invención
Ejemplo 1. Un procedimiento para convertir datos de contenidos, de ligados a máquina a ligados a usuario, comprendiendo el procedimiento:
(i)
ligar los datos de contenidos a uno o más dispositivos de hardware usando una o más claves de ligado que estén relacionadas con dicho(s) dispositivo(s) de hardware;
(ii)
convertir dicha(s) clave(s) de ligado para formar una o más claves de texto abierto, de modo que dicha(s) clave(s) de texto abierto sea(n) independiente(s) de dicho(s) dispositivo(s) de hardware; y
(iii) ligar dicha(s) clave(s) de texto abierto a un usuario para formar una o más claves ligadas a usuario.
Ejemplo 2. El procedimiento del ejemplo 1, en el cual la ligadura (iii) comprende:
requerir que el usuario ingrese una contraseña antes de permitir el uso de las claves ligadas a usuario para acceder a los datos de contenidos.
Ejemplo 3. El procedimiento del ejemplo 2, en el cual el ligado (iii) comprende adicionalmente: cifrar dicha(s) clave(s) de texto abierto usando la contraseña como una clave de cifrado. Ejemplo 4. El procedimiento del ejemplo 1, en el cual el ligado (iii) comprende: cifrar dicha(s) clave(s) de texto abierto para formar las claves ligadas a usuario, de una manera que requiera que el
5 usuario proporcione una clave de descifrado para descifrar las claves de texto abierto a partir de las claves ligadas a usuario, a fin de proporcionar por ello el acceso a los datos de contenidos.
Ejemplo 5. El procedimiento del ejemplo 1, en el cual el ligado (iii) comprende: asociar información privada del usuario a los datos de contenidos, de modo que la reproducción de los datos de contenidos cause la exhibición de la información privada del usuario.
10 Ejemplo 6. El procedimiento del ejemplo 1, en el cual el ligado (i) comprende: cifrar dicha(s) clave(s) de texto abierto usando datos de identificación de hardware como una clave de cifrado, para
formar dicha(s) clave(s) de ligado, en donde los datos de identificación de hardware corresponden a dicho(s) dispositivo(s) de hardware. Ejemplo 7. El procedimiento del ejemplo 6, en el cual la conversión (ii) comprende:
15 descifrar dicha(s) clave(s) de ligado usando los datos de identificación de hardware como la clave de cifrado, para formar dicha(s) clave(s) de texto abierto. Ejemplo 8. El procedimiento del ejemplo 1, que comprende adicionalmente: determinar que una estructura de datos pre-existente liga el usuario a otro contenido; en el cual el ligado (iii) incluye:
20 incluir las claves ligadas al usuario como una o más claves adicionales para la estructura de datos. Ejemplo 9. El procedimiento del ejemplo 1, en el cual la conversión (ii) y el ligado (iii) se realizan en respuesta a la detección de una condición en la cual el usuario solicita la reproducción de los datos de contenidos en un sistema que no incluye dicho(s) dispositivo(s) de hardware.

Claims (2)

  1. REIVINDICACIONES
    1. Una estructura (148) de datos de pasaporte para asegurar el contenido digital entregado a un usuario, estando el contenido digital cifrado con una clave maestra, e incluyendo una clave de medios obtenida cifrando la clave maestra
    (208) con una clave pública, comprendiendo la estructura de datos de pasaporte un campo (2204A) de información de 5 pasaporte, un campo (2206) de algoritmo de firma y un campo (2208) de firma, en la cual:
    el campo (2204A) de información de pasaporte almacena datos referidos al contenido digital de la estructura de datos de pasaporte, e incluye
    un certificado (2302) de usuario que incluye la clave pública (2320) usada para cifrar la clave maestra,
    una clave (2308) de registro cifrada usando una contraseña proporcionada por el usuario, requiriéndose también 10 la contraseña del usuario para descifrar dicha clave de registro cifrada;
    una clave privada (304, 2304), recíproca de dicha clave pública, cifrada usando la clave de registro, requiriéndose también la clave de registro para descifrar dicha clave privada cifrada, la cual, a su vez, se usa para descifrar la clave (302) de medios a fin de producir la clave maestra (208);
    información privada cifrada (2306) con respecto al usuario al cual está ligado el pasaporte, siendo descifrada la
    15 información privada de usuario usando la clave (2308) de registro, y exhibida durante la reproducción del contenido de datos;
    el campo (2206) de algoritmo de firma especifica el algoritmo usado para generar la firma criptográfico del campo de información de pasaporte, usando la clave privada de un servidor (126) de autenticación, y
    el campo (2208) de firma almacena la firma criptográfica del campo de información de pasaporte.
    20 2, La estructura de datos de pasaporte de la reivindicación 1, en la cual el campo (2204A) de información de pasaporte comprende adicionalmente una o más claves (2314) privadas cifradas adicionales de otros pares de claves asimétricas de cifrado, usados en la provisión segura de otro contenido digital.
  2. 3. Un medio legible por ordenador que tiene contenido en el mismo la estructura de datos de pasaporte de una de las reivindicaciones 1 o 2.
ES04030306T 1999-12-20 2000-10-11 Mecanismo de seguridad adaptable para impedir el acceso no autorizado a datos digitales Expired - Lifetime ES2389725T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US468279 1983-02-22
US09/468,279 US6792113B1 (en) 1999-12-20 1999-12-20 Adaptable security mechanism for preventing unauthorized access of digital data

Publications (1)

Publication Number Publication Date
ES2389725T3 true ES2389725T3 (es) 2012-10-30

Family

ID=23859172

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04030306T Expired - Lifetime ES2389725T3 (es) 1999-12-20 2000-10-11 Mecanismo de seguridad adaptable para impedir el acceso no autorizado a datos digitales

Country Status (8)

Country Link
US (2) US6792113B1 (es)
EP (3) EP1517215B1 (es)
JP (1) JP4689920B2 (es)
AT (1) ATE285598T1 (es)
AU (1) AU1432301A (es)
DE (1) DE60016972T2 (es)
ES (1) ES2389725T3 (es)
WO (1) WO2001046786A1 (es)

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298446B1 (en) 1998-06-14 2001-10-02 Alchemedia Ltd. Method and system for copyright protection of digital images transmitted over networks
US7493497B1 (en) 2000-02-03 2009-02-17 Integrated Information Solutions Digital identity device
WO2001084283A2 (en) * 2000-04-28 2001-11-08 Moldflow Corporation Network enabled application software system and method
US7409061B2 (en) * 2000-11-29 2008-08-05 Noatak Software Llc Method and system for secure distribution of subscription-based game software
US9047609B2 (en) * 2000-11-29 2015-06-02 Noatak Software Llc Method and system for dynamically incorporating advertising content into multimedia environments
US8260723B2 (en) 2000-12-01 2012-09-04 Carrott Richard F Transactional security over a network
US20070288394A1 (en) 2000-12-01 2007-12-13 Carrott Richard F Transactional security over a network
US7174568B2 (en) * 2001-01-31 2007-02-06 Sony Computer Entertainment America Inc. Method and system for securely distributing computer software products
JP2002297477A (ja) * 2001-03-28 2002-10-11 Sony Computer Entertainment Inc 配信システム及び配信方法
US7216368B2 (en) * 2001-03-29 2007-05-08 Sony Corporation Information processing apparatus for watermarking digital content
TW561753B (en) * 2001-03-29 2003-11-11 Sony Corp Information processing device
JP2002297452A (ja) * 2001-03-30 2002-10-11 Matsushita Electric Ind Co Ltd 記録再生装置、制御方法、及び不正防止システム
FR2823928B1 (fr) * 2001-04-19 2003-08-22 Canal Plus Technologies Procede pour une communication securisee entre deux dispositifs
US7421411B2 (en) * 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US20030046565A1 (en) * 2001-08-31 2003-03-06 Toshiba Tec Kabushiki Kaisha Method for encrypting and decrypting contents data distributed through network, and system and user terminal using that method
US7062045B2 (en) * 2001-09-06 2006-06-13 Clwt, Llc Media protection system and method
US20030053630A1 (en) * 2001-09-20 2003-03-20 International Business Machines Corporation Method and system for key usage control in an embedded security system
US7318238B2 (en) * 2002-01-14 2008-01-08 Microsoft Corporation Security settings for markup language elements
JP4256100B2 (ja) * 2002-01-31 2009-04-22 富士通株式会社 正当媒体管理システム
US7895661B2 (en) 2003-04-25 2011-02-22 Apple Inc. Method and system for secure network-based distribution of content
JP2004118327A (ja) * 2002-09-24 2004-04-15 Sony Corp コンテンツ使用制御装置及びコンテンツ使用制御方法、並びにコンピュータ・プログラム
KR20050074494A (ko) * 2002-10-22 2005-07-18 코닌클리케 필립스 일렉트로닉스 엔.브이. 콘텐트 동작들을 승인하는 방법 및 장치
EP1579693B1 (en) * 2002-12-17 2009-02-18 Sony Pictures Entertainment Inc. Method and apparatus for access control in an overlapping multiserver network environment
US20040139022A1 (en) 2002-12-17 2004-07-15 Singer Mitch Fredrick Content states in a media network environment
CN101635625B (zh) * 2002-12-17 2012-02-29 索尼电影娱乐公司 在重叠多服务器网络环境中用于访问控制的方法和装置
US7203965B2 (en) 2002-12-17 2007-04-10 Sony Corporation System and method for home network content protection and copy management
US7290149B2 (en) * 2003-03-03 2007-10-30 Microsoft Corporation Verbose hardware identification for binding a software package to a computer system having tolerance for hardware changes
US7310729B2 (en) * 2003-03-12 2007-12-18 Limelight Networks, Inc. Digital rights management license delivery system and method
DE10311249A1 (de) * 2003-03-14 2004-09-23 Robert Bosch Gmbh Mikroprozessorsystem und Verfahren zum Erfassen des Austauschs von Bausteinen des Systems
US7007170B2 (en) * 2003-03-18 2006-02-28 Widevine Technologies, Inc. System, method, and apparatus for securely providing content viewable on a secure device
US7356143B2 (en) * 2003-03-18 2008-04-08 Widevine Technologies, Inc System, method, and apparatus for securely providing content viewable on a secure device
US9406068B2 (en) 2003-04-25 2016-08-02 Apple Inc. Method and system for submitting media for network-based purchase and distribution
JP2006524875A (ja) 2003-04-25 2006-11-02 アップル・コンピューター・インコーポレーテッド メディアのネットワークベースの購入および配信のための方法およびシステム
EP1639440A4 (en) 2003-04-25 2009-03-11 Apple Inc GRAPHIC USER INTERFACE FOR BROWSING, BROWSING AND PRESENTING MEDIA ARTICLES
EP1636936A2 (en) * 2003-06-17 2006-03-22 Visa International Service Association Method and systems for securely exchanging data in an electronic transaction
US20050066355A1 (en) * 2003-09-19 2005-03-24 International Business Machines Corporation System and method for satellite broadcasting and receiving encrypted television data signals
US7721111B2 (en) * 2003-12-14 2010-05-18 Realnetworks, Inc. Auto-negotiation of content output formats using a secure component model
EP1700182B1 (de) * 2003-12-30 2009-06-17 Wibu-Systems AG Verfahren zum wiederherstellen eines berechtigungscodes
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
WO2006000029A1 (en) * 2004-06-23 2006-01-05 Telstra Corporation Limited Content delivery system and player
US7765404B2 (en) * 2004-06-29 2010-07-27 Nokia Corporation Providing content in a communication system
JP2006031175A (ja) * 2004-07-13 2006-02-02 Sony Corp 情報処理システム、情報処理装置、およびプログラム
US7697691B2 (en) * 2004-07-14 2010-04-13 Intel Corporation Method of delivering Direct Proof private keys to devices using an on-line service
US7565577B2 (en) * 2004-07-22 2009-07-21 Research In Motion Limited Method and apparatus for providing intelligent error messaging
US9609279B2 (en) * 2004-09-24 2017-03-28 Google Inc. Method and system for providing secure CODECS
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US20060218413A1 (en) * 2005-03-22 2006-09-28 International Business Machines Corporation Method of introducing physical device security for digitally encoded data
JP2006268682A (ja) * 2005-03-25 2006-10-05 Fujitsu Ltd 認証システム、その制御方法、情報処理システムおよび携帯型認証装置
JP4760101B2 (ja) * 2005-04-07 2011-08-31 ソニー株式会社 コンテンツ提供システム,コンテンツ再生装置,プログラム,およびコンテンツ再生方法
KR20060109237A (ko) * 2005-04-13 2006-10-19 삼성전자주식회사 라이센스 정보에 기초하여 컨텐트의 사용을 제어하기 위한암호화/복호화 방법 및 장치
US7720221B2 (en) * 2005-05-20 2010-05-18 Certicom Corp. Privacy-enhanced e-passport authentication protocol
US8078740B2 (en) 2005-06-03 2011-12-13 Microsoft Corporation Running internet applications with low rights
US8219493B2 (en) * 2005-06-10 2012-07-10 Aniruddha Gupte Messaging method and apparatus for use in digital distribution systems
US7912960B2 (en) * 2005-06-20 2011-03-22 Microsoft Corporation Reciprocal public trust relationship
US20070030965A1 (en) * 2005-07-19 2007-02-08 Mansz Robert P Methods and apparatuses for management of entitlement to digital security operations
US7814330B2 (en) * 2005-08-01 2010-10-12 Oracle International Corporation Method and apparatus for facilitating multi-level computer system authentication
US8135645B2 (en) * 2005-12-06 2012-03-13 Microsoft Corporation Key distribution for secure messaging
FR2894417A1 (fr) * 2005-12-07 2007-06-08 France Telecom Recouvrement de cles de dechiffrement perimees
US8479186B2 (en) * 2005-12-22 2013-07-02 Sandisk Technologies Inc. Method for program code execution with memory storage controller participation
US8484632B2 (en) * 2005-12-22 2013-07-09 Sandisk Technologies Inc. System for program code execution with memory storage controller participation
US7774708B2 (en) 2006-01-04 2010-08-10 Apple Inc. Graphical user interface with improved media presentation
ZA200807344B (en) * 2006-02-27 2009-07-29 It Crimes Cc Method and system for registering a device
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US8185737B2 (en) 2006-06-23 2012-05-22 Microsoft Corporation Communication across domains
US8175269B2 (en) * 2006-07-05 2012-05-08 Oracle International Corporation System and method for enterprise security including symmetric key protection
US8689254B2 (en) 2006-09-11 2014-04-01 Apple Inc. Techniques and graphical user interfaces for preview of media items
US7761468B2 (en) * 2006-10-04 2010-07-20 International Business Machines Corporation Supporting multiple security mechanisms in a database driver
US8619982B2 (en) * 2006-10-11 2013-12-31 Bassilic Technologies Llc Method and system for secure distribution of selected content to be protected on an appliance specific basis
US8719954B2 (en) 2006-10-11 2014-05-06 Bassilic Technologies Llc Method and system for secure distribution of selected content to be protected on an appliance-specific basis with definable permitted associated usage rights for the selected content
US20080092239A1 (en) 2006-10-11 2008-04-17 David H. Sitrick Method and system for secure distribution of selected content to be protected
US9016469B2 (en) 2006-11-17 2015-04-28 Apple Inc. Gift card carriers
US8689300B2 (en) * 2007-01-30 2014-04-01 The Boeing Company Method and system for generating digital fingerprint
US20080289046A1 (en) * 2007-05-17 2008-11-20 Thomas Michael Fryer Method and device for the prevention of piracy, copying and unauthorized execution of computer-readable media
US10019570B2 (en) 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US9875495B2 (en) 2007-09-04 2018-01-23 Apple Inc. Method and apparatus for purchasing digital playlists
KR101453464B1 (ko) * 2007-11-09 2014-10-21 삼성전자주식회사 이동통신 단말기의 컨텐츠 권한 정보 관리 장치 및 방법
US8082592B2 (en) * 2008-01-12 2011-12-20 Harris Technology, Llc Read/write encrypted media and method of playing
US8868464B2 (en) 2008-02-07 2014-10-21 Google Inc. Preventing unauthorized modification or skipping of viewing of advertisements within content
US8875886B2 (en) 2008-08-25 2014-11-04 Apple Inc. Carrier card arrangement with removable envelope
US8407202B2 (en) 2008-10-06 2013-03-26 At&T Intellectual Property I, L.P. Embedded business metadata
US9400891B2 (en) * 2009-01-23 2016-07-26 Randall Stephens Owner controlled transmitted file protection and access control system and method
US8572394B2 (en) 2009-09-04 2013-10-29 Computer Associates Think, Inc. OTP generation using a camouflaged key
US8533460B2 (en) * 2009-11-06 2013-09-10 Computer Associates Think, Inc. Key camouflaging method using a machine identifier
DE102009052454A1 (de) 2009-11-09 2011-05-12 Siemens Aktiengesellschaft Verfahren und System zum vertraulichen Bereitstellen von Softwarekomponenten
US8843757B2 (en) * 2009-11-12 2014-09-23 Ca, Inc. One time PIN generation
US9881069B2 (en) 2010-06-28 2018-01-30 International Business Machines Corporation Information landscape modeling, analysis and validation
US8935532B2 (en) * 2010-10-21 2015-01-13 Qumu Corporation Content distribution and aggregation
AU2011100168B4 (en) * 2011-02-09 2011-06-30 Device Authority Ltd Device-bound certificate authentication
US8983067B2 (en) * 2011-08-17 2015-03-17 Nxp B.V. Cryptographic circuit and method therefor
US8903088B2 (en) * 2011-12-02 2014-12-02 Adobe Systems Incorporated Binding of protected video content to video player with encryption key
US8879731B2 (en) 2011-12-02 2014-11-04 Adobe Systems Incorporated Binding of protected video content to video player with block cipher hash
US8751800B1 (en) 2011-12-12 2014-06-10 Google Inc. DRM provider interoperability
CN103947151A (zh) 2012-08-24 2014-07-23 索尼公司 信息处理设备、信息存储设备、服务器、信息处理系统、信息处理方法以及程序
JP5749236B2 (ja) 2012-09-28 2015-07-15 株式会社東芝 鍵付け替え管理装置および鍵付け替え管理方法
US9064318B2 (en) 2012-10-25 2015-06-23 Adobe Systems Incorporated Image matting and alpha value techniques
US10638221B2 (en) 2012-11-13 2020-04-28 Adobe Inc. Time interval sound alignment
US9355649B2 (en) 2012-11-13 2016-05-31 Adobe Systems Incorporated Sound alignment using timing information
US9201580B2 (en) 2012-11-13 2015-12-01 Adobe Systems Incorporated Sound alignment user interface
US9076205B2 (en) 2012-11-19 2015-07-07 Adobe Systems Incorporated Edge direction and curve based image de-blurring
US10249321B2 (en) 2012-11-20 2019-04-02 Adobe Inc. Sound rate modification
US10455219B2 (en) 2012-11-30 2019-10-22 Adobe Inc. Stereo correspondence and depth sensors
US9135710B2 (en) 2012-11-30 2015-09-15 Adobe Systems Incorporated Depth map stereo correspondence techniques
US9208547B2 (en) 2012-12-19 2015-12-08 Adobe Systems Incorporated Stereo correspondence smoothness tool
US10249052B2 (en) 2012-12-19 2019-04-02 Adobe Systems Incorporated Stereo correspondence model fitting
US9214026B2 (en) 2012-12-20 2015-12-15 Adobe Systems Incorporated Belief propagation and affinity measures
JP6113508B2 (ja) * 2013-01-08 2017-04-12 株式会社東芝 記録方法及び電子機器
US20150372825A1 (en) * 2014-06-23 2015-12-24 Google Inc. Per-Device Authentication
ES2627951T3 (es) * 2014-09-22 2017-08-01 Denuvo GmbH Técnica para habilitar un flujo nominal de un archivo ejecutable
JP5971820B2 (ja) * 2014-12-24 2016-08-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データを利用する方法及び装置
US10366244B2 (en) * 2015-06-09 2019-07-30 International Business Machines Corporation Performing an operation on sensitive data
US11979392B2 (en) * 2017-07-17 2024-05-07 Comcast Cable Communications, Llc Systems and methods for managing device association
US10785220B2 (en) 2018-06-01 2020-09-22 Bank Of America Corporation Alternate user communication routing
US10785214B2 (en) 2018-06-01 2020-09-22 Bank Of America Corporation Alternate user communication routing for a one-time credential
US11741159B2 (en) * 2019-10-29 2023-08-29 Shmuel Ur Innovation Ltd Digital media authentication

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1238427A (en) 1984-12-18 1988-06-21 Jonathan Oseas Code protection using cryptography
US5418713A (en) 1993-08-05 1995-05-23 Allen; Richard Apparatus and method for an on demand data delivery system for the preview, selection, retrieval and reproduction at a remote location of previously recorded or programmed materials
US5454039A (en) 1993-12-06 1995-09-26 International Business Machines Corporation Software-efficient pseudorandom function and the use thereof for encryption
DE4413451A1 (de) 1994-04-18 1995-12-14 Rolf Brugger Vorrichtung zum Vertrieb von Musikinformationen in digitaler Form
CA2143874C (en) 1994-04-25 2000-06-20 Thomas Edward Cooper Method and apparatus for enabling trial period use of software products: method and apparatus for utilizing a decryption stub
CN1312549C (zh) 1995-02-13 2007-04-25 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
JP3688356B2 (ja) 1995-08-31 2005-08-24 富士通株式会社 ライセンシー通知システム
JPH09179768A (ja) * 1995-12-21 1997-07-11 Olympus Optical Co Ltd ファイル暗号化システム及びファイル復号化システム
US5898777A (en) 1996-03-07 1999-04-27 Portland Software, Inc. Digital product dissemination and sale
CN104376032A (zh) 1996-05-15 2015-02-25 英特托拉斯技术公司 获取dvd盘受控内容或信息的方法及装置、操作dvd设备的方法
JP3751684B2 (ja) * 1996-06-18 2006-03-01 日本電信電話株式会社 暗号化情報復号方法
CN1953417B (zh) 1996-09-04 2010-12-29 英特托拉斯技术公司 一种从用户站点向外部站点发布使用数据的方法
US5958051A (en) * 1996-11-27 1999-09-28 Sun Microsystems, Inc. Implementing digital signatures for data streams and data archives
US5920861A (en) 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
IL131876A0 (en) 1997-03-14 2001-03-19 Cryptoworks Inc Digital product rights management technique
JPH11122237A (ja) * 1997-10-09 1999-04-30 Taisei Corp 暗号化装置及びデータ保護装置
US6112181A (en) 1997-11-06 2000-08-29 Intertrust Technologies Corporation Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US5982892A (en) 1997-12-22 1999-11-09 Hicks; Christian Bielefeldt System and method for remote authorization for unlocking electronic data
US6385596B1 (en) * 1998-02-06 2002-05-07 Liquid Audio, Inc. Secure online music distribution system
CA2425741C (en) 1998-03-16 2006-05-23 Intertrust Technologies Corporation Methods and apparatus for continuous control and protection of media content
EP1072143B1 (en) * 1998-04-17 2004-06-23 Iomega Corporation System for keying protected electronic data to particular media to prevent unauthorized copying
US6434535B1 (en) * 1998-11-13 2002-08-13 Iomega Corporation System for prepayment of electronic content using removable media and for prevention of unauthorized copying of same

Also Published As

Publication number Publication date
DE60016972D1 (de) 2005-01-27
EP1517215A2 (en) 2005-03-23
ATE285598T1 (de) 2005-01-15
AU1432301A (en) 2001-07-03
EP1240568A1 (en) 2002-09-18
US20050033974A1 (en) 2005-02-10
EP1240568B1 (en) 2004-12-22
EP2400362A1 (en) 2011-12-28
EP1517215B1 (en) 2012-07-11
US6792113B1 (en) 2004-09-14
JP2003518351A (ja) 2003-06-03
EP2400362B1 (en) 2013-09-11
EP1517215A3 (en) 2009-07-15
DE60016972T2 (de) 2005-05-25
JP4689920B2 (ja) 2011-06-01
US7603563B2 (en) 2009-10-13
WO2001046786A1 (en) 2001-06-28

Similar Documents

Publication Publication Date Title
ES2389725T3 (es) Mecanismo de seguridad adaptable para impedir el acceso no autorizado a datos digitales
EP0798892B1 (en) Creation and distribution of digital documents
JP4555046B2 (ja) データ転送システム及びデータ転送方法
US20080072040A1 (en) Data transmitting system and method, drive unit, access method, data recording medium, recording medium producing apparatus and method
US20030016829A1 (en) System and method for protecting content data
US20100138671A1 (en) Methods and apparatuses for providing drm interoperability
WO2004109972A1 (ja) ライセンス受信用ユーザ端末
JP2006504176A (ja) コンテンツ操作を許可する方法及び装置
KR20070085257A (ko) 하드웨어 식별에 기초한 디지털권 관리 방법을 이용한 전자소프트웨어 배포 방법 및 시스템
JPH1198134A (ja) クッキーの改ざん・コピー検出処理方法およびプログラム記憶媒体
JPH07123086A (ja) Icカードを利用した著作物通信管理システム
JP3556891B2 (ja) デジタルデータ不正使用防止システム及び再生装置
EA006661B1 (ru) Способ и система защиты информации от несанкционированного использования
US20050060544A1 (en) System and method for digital content management and controlling copyright protection
JP2003509881A (ja) 記録された電子出版資料からのマスター鍵の復元方法
US7620820B2 (en) Content data processing method, recording device, and reproduction device
JP3992396B2 (ja) 電子文書管理装置、電子文書管理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2000022680A (ja) ディジタルコンテンツ流通方法及びコンテンツを再生可能に記録した記録媒体
JP2002149061A (ja) レンタルコンテンツ流通システムおよびその方法
JPH10222064A (ja) デジタル情報管理システム、端末装置、情報管理センタ及びデジタル情報管理方法
KR100564646B1 (ko) 암호화된 멀티미디어 파일을 저장하는 기억 장치 및 그파일의 재생 방법
JP2002352146A (ja) コンテンツ部分課金方法及びシステム及びコンテンツ部分課金プログラム及びコンテンツ部分課金プログラムを格納した記憶媒体
JP2005086457A (ja) 復号鍵要求プログラム、記憶媒体、端末装置、およびサーバ装置
KR20030039347A (ko) 저작권 보호 시스템 및 저작권 보호 방법
JP2003188869A (ja) コンテンツ提供システム、コンテンツ提供方法およびプログラム