ES2802426T3 - Método y sistema para asegurar un acceso de un cliente a servicios de agente DRM para un reproductor de video - Google Patents

Método y sistema para asegurar un acceso de un cliente a servicios de agente DRM para un reproductor de video Download PDF

Info

Publication number
ES2802426T3
ES2802426T3 ES15823204T ES15823204T ES2802426T3 ES 2802426 T3 ES2802426 T3 ES 2802426T3 ES 15823204 T ES15823204 T ES 15823204T ES 15823204 T ES15823204 T ES 15823204T ES 2802426 T3 ES2802426 T3 ES 2802426T3
Authority
ES
Spain
Prior art keywords
token
request
client
drm agent
decryption
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.)
Active
Application number
ES15823204T
Other languages
English (en)
Inventor
Yaacov Toueg
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.)
Orca Interactive Ltd
Original Assignee
Orca Interactive Ltd
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 Orca Interactive Ltd filed Critical Orca Interactive Ltd
Application granted granted Critical
Publication of ES2802426T3 publication Critical patent/ES2802426T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management

Abstract

Un método para asegurar el acceso del módulo informático de un cliente a los servicios de un agente DRM, comprendiendo dicho método los pasos de: - Enviar, por parte del cliente, una solicitud obtener-token (210) al agente DRM; - Aplicar los siguientes pasos (10) por el agente DRM: - Recibir la solicitud obtener-token; - aplicar una función para generar un identificador de solicitud de descifrado IDSolicitud y un Token de valor de token, y devolver IDSolicitud y Token al cliente; - insertar, en una tabla hash de valores de token con identificadores de solicitudes obtener-token como claves, registrados en una memoria del agente DRM, un registro que comprende el Token de valor de token asociado a la clave IDSolicitud; - aplicar los siguientes pasos (220-240) por el cliente: - recibir el IDSolicitud y el Token del agente DRM; - calcular un resumen de un fragmento cifrado de contenido multimedia utilizando el Token y una clave privada; - calcular una solicitud de descifrado del fragmento cifrado de contenido multimedia, que comprende el IDSolicitud, el fragmento cifrado y el resumen del fragmento cifrado; - enviar al agente DRM, la solicitud de descifrado del fragmento cifrado; - y aplicar los siguientes pasos (20) por el agente DRM: - recibir, la solicitud de descifrado; - recuperar el Token, de la tabla hash, en base al IDSolicitud; - procesar el resumen utilizando una clave pública y Token; - comprobar la coincidencia entre el resumen procesado y al menos parte del fragmento cifrado; - solo en caso de coincidencia: descifrar el fragmento cifrado y devolver el fragmento descifrado al cliente; en donde al menos un paso de recepción, procesamiento, descifrado informático es realizado por un procesador.

Description

DESCRIPCIÓN
Método y sistema para asegurar un acceso de un cliente a servicios de agente DRM para un reproductor de video 1. Campo técnico
La presente invención se refiere al campo de asegurar el acceso de un cliente a los servicios de un agente DRM y más particularmente de asegurar el acceso de un cliente a un servicio de servicios de un agente DRM de un reproductor de video.
2. Técnica relacionada
Una solución conocida de Adobe, se describe en el número de documento de patente US90271A3 que describe un proceso de autenticación de un reproductor de video (llamado Componente de tiempo de ejecución) por un agente de CA-DRM. Este proceso incluye recibir contenido cifrado y un componente de autenticación dado de un sistema informático remoto. El componente de autenticación se puede configurar para autenticar un componente de tiempo de ejecución descifrando al menos una parte del contenido cifrado. De esta manera, el sistema cliente puede garantizar que el descifrado del contenido cifrado solo se produzca si varios componentes autentican el componente de tiempo de ejecución, según algunas realizaciones.
Otra solución es propuesta por Trusted Logic en la solicitud de patente No. US2009165148. Esta invención se refiere a un método para autenticar aplicaciones de un sistema informático que incluye: un microprocesador, una pluralidad de aplicaciones, un sistema operativo general (OS2) que puede ejecutar y administrar las aplicaciones y que puede asociar cada identificador de aplicación (3) con la información de identificación requerida para su ejecución, y un entorno de confianza (EC) que ofrece servicios a dichas aplicaciones. Según la invención, antes de que una aplicación pueda acceder a los servicios del entorno de confianza (EC), se realiza una operación de hash sobre la información de identificación de dicha aplicación y el entorno de confianza (EC) verifica la autenticidad del resultado de la operación de hash.
La solicitud internacional WO2007077362 describe un servicio OS para autenticar las aplicaciones y bibliotecas. La invención se refiere a un método para autenticar aplicaciones de un sistema informático que incluye: un microprocesador, una pluralidad de aplicaciones, un sistema operativo general (OS2) que puede ejecutar y administrar las aplicaciones y que puede asociar cada identificador de aplicación (3) con la identificación de información requerida para su ejecución, y un entorno confiable (EC) que ofrece servicios a dichas aplicaciones. Según la invención, antes de que una aplicación pueda acceder a los servicios del entorno de confianza (EC), se realiza una operación de hash sobre la información de identificación de dicha aplicación y el entorno de confianza (EC) verifica la autenticidad del resultado de la operación de hash.
La invención se expone en el conjunto de reivindicaciones adjunto.
La presente invención proporciona un método para asegurar el acceso del módulo informático del cliente a los servicios de un agente DRM.
El método comprende los pasos de:
- Enviar, por parte del cliente, una solicitud obtener-token al agente DRM;
- Aplicar los siguientes pasos por el agente DRM:
a. Recibir la solicitud obtener-token;
b. aplicar una función para generar un identificador de solicitud de descifrado IDSolicitud y un Token de valor token, y devolver IDSolicitud y Token al cliente;
c. insertar, en una tabla hash de valores de token con identificadores de solicitudes obtener-token como claves, registrados en una memoria del agente DRM, un registro que comprende el Token de valor de token asociado a la clave IDSolicitud;
- aplicar los siguientes pasos por el cliente:
d. recibir IDSolicitud y Token del agente DRM;
e. calcular un resumen de un fragmento cifrado de contenido multimedia usando el Token y una clave privada; f. calcular una solicitud de descifrado del fragmento cifrado de contenido multimedia, que comprende IDSolicitud, el fragmento cifrado y el resumen del fragmento cifrado;
g. enviando al agente DRM, la solicitud de descifrado del fragmento cifrado;
y aplicar los siguientes pasos por el agente DRM:
h. recibir, la solicitud de descifrado;
i. recuperar el token, de la tabla hash, basado en IDSolicitud;
j. procesar el resumen utilizando una clave pública y token;
k. comprobar la coincidencia entre el resumen procesado y al menos parte del fragmento cifrado;
l. solo en caso de coincidencia: descifrar el fragmento cifrado y devolver el fragmento descifrado al cliente;
i. en donde al menos un paso de recepción, procesamiento, descifrado informático es realizado por un procesador.
Según algunas realizaciones de la invención, se aplica lo siguiente:
- la solicitud obtener-token comprende un identificador IDCliente del cliente;
- la función usa IDCliente como entrada;
- el registro de la tabla hash incluye además el IDCliente asociado con la clave IDSolicitud;
- la solicitud de descifrado comprende además un identificador ID2Cliente del cliente;
- la recuperación del Token se realiza conjuntamente con la recuperación del IDCliente, y el procesamiento posterior del resumen y el descifrado de fragmentos cifrados solo se realizan en caso de coincidencia entre el IDCliente y el ID2Cliente.
Según algunas realizaciones de la invención, la coincidencia de comprobación entre el resumen procesado y al menos parte del fragmento cifrado incluye realizar una operación XOR entre el Token y la al menos parte del fragmento cifrado.
Según con algunas realizaciones de la invención, en caso de no coincidencia, la aplicación del cliente finaliza.
Según algunas realizaciones de la invención, el método comprende además la etapa de eliminar el registro que comprende el Token de valor de token asociado a la clave IDSolicitud de la tabla hash después de que se maneje la solicitud de descifrado.
Según algunas realizaciones de la invención, el proceso de gestión de la tabla hash y el proceso de comunicación con el cliente están protegidos en términos de exclusión mutua dentro del agente DRM, para evitar que el cliente obtenga acceso a la tabla hash.
Según algunas realizaciones de la invención, el método utiliza además múltiples claves públicas como una lista blanca de clientes autorizados para soportar múltiples fuentes de clientes.
El presente documento proporciona un método para asegurar el acceso del módulo informático de un cliente a los servicios de un agente DRM. El método comprende los pasos de:
recibir la solicitud de obtención-token del cliente;
aplicar una función para generar un identificador de solicitud de descifrado IDSolicitud y un Token de valor token, y devolver IDSolicitud y Token al cliente;
insertar, en una tabla hash de valores de token con identificadores de solicitudes obtener-token como claves, registradas en una memoria del agente DRM, un registro que comprende el Token de valor de token asociado al ID de Solicitud de clave;
recibir, la solicitud de descifrado de un fragmento cifrado de contenido multimedia, que comprende el IDSolicitud, el fragmento cifrado y un resumen del fragmento cifrado;
recuperar el Token, de la tabla hash, en base al IDSolicitud;
procesar el resumen utilizando una clave pública y el token;
comprobar la coincidencia entre el resumen procesado y al menos parte del fragmento cifrado;
solo en caso de coincidencia: descifrar el fragmento cifrado y devolver el fragmento descifrado al cliente.
En donde al menos un paso de recepción, procesamiento, descifrado informático es realizado por un procesador. El presente documento proporciona un método de un sistema para asegurar el acceso de un cliente a los servicios de un agente DRM, dicho sistema está compuesto por:
un módulo de algoritmo de cliente para recibir el IDSolicitud y el Token del agente DRM, calcular un resumen de un fragmento cifrado de contenido multimedia usando el Token y una clave privada, calcular una solicitud de descifrado del fragmento cifrado de contenido multimedia, que comprende el IDSolicitud, el fragmento cifrado y el resumen del fragmento cifrado y enviar al agente DRM, la solicitud de descifrado del fragmento cifrado;
un módulo de manejo de solicitudes obtener-token para recibir una solicitud obtener-token, aplicar una función para generar un identificador de solicitud de descifrado IDSolicitud y un Token de valor de token, devolver el IDSolicitud y el Token al cliente e insertar en una tabla hash de valores de token con identificadores de solicitudes obtener-token como claves, un registro que comprende el Token de valor token asociado a la clave IDSolicitud;
un módulo de manejo de solicitudes de descifrado para recibir una solicitud de descifrado de un fragmento cifrado de contenido multimedia que comprende el IDSolicitud, el fragmento cifrado y un resumen del fragmento cifrado, recuperar el Token, de la tabla hash en base al IDSolicitud, procesar el resumen utilizando una clave pública y el Token, comprobar la coincidencia entre el resumen procesado y al menos parte del fragmento cifrado y, solo en caso de coincidencia: descifrar el fragmento cifrado y devolver el fragmento descifrado al cliente.
m. El presente documento proporciona un método del sistema:
la solicitud obtener-token comprende un identificador IDCliente del cliente;
la función usa el IDCliente como entrada;
el registro de la tabla hash incluye además el IDCliente asociado con la clave IDSolicitud;
la solicitud de descifrado comprende además un identificador ID2Cliente del cliente.
Según algunas realizaciones de la presente invención, la comprobación de la coincidencia entre el resumen procesado y al menos parte del fragmento cifrado incluye realizar una operación XOR entre el Token y la al menos parte del fragmento cifrado.
Según algunas realizaciones de la presente invención, en caso de no coincidencia, la aplicación del cliente finaliza. Según algunas realizaciones de la presente invención que comprende además medios para proteger, en términos de exclusión mutua dentro del agente DRM, el proceso de gestión de la tabla hash y el proceso de comunicación con el cliente para evitar que el cliente obtenga acceso a la tabla hash.
Según algunas realizaciones de la presente invención, un método de solicitud de descifrado para llevar. Comprendiendo el método de solicitud de descifrado, realizar por el cliente los pasos de:
Enviar una solicitud obtener-token al agente DRM;
recibir el IDSolicitud y el Token del agente DRM;
calcular un resumen de un fragmento cifrado de contenido multimedia usando el Token y una clave privada; calcular una solicitud de descifrado del fragmento cifrado de contenido multimedia, que comprende el IDSolicitud, el fragmento cifrado y el resumen del fragmento cifrado;
enviar al agente DRM, la solicitud de descifrado del fragmento cifrado;
en donde al menos un paso de recepción, procesamiento, descifrado informático es realizado por un procesador. Según algunas realizaciones de la presente invención, un cliente para implementar el método de solicitud de descifrado de la reivindicación 14, dicho cliente está compuesto por un módulo de firma para calcular un resumen de un fragmento cifrado de contenido multimedia usando el Token y una clave privada.
Breve descripción de los dibujos
Para una mejor comprensión de la invención y para mostrar cómo puede llevarse a cabo la misma, ahora se hará referencia, simplemente a modo de ejemplo, a los dibujos adjuntos en los que números similares designan elementos o secciones correspondientes en todas partes.
En los dibujos adjuntos:
La Figura 1 es un diagrama de bloques esquemático de alto nivel del agente DRM con el reproductor de video, según con la presente invención;
La Figura 2 es un diagrama de bloques esquemático de alto nivel del agente DRM, según la presente invención; La Figura 3 es un diagrama de flujo de alto nivel que ilustra el algoritmo global del agente DRM, según algunas realizaciones de la presente invención.
La Figura 4 es un diagrama de flujo de alto nivel que ilustra el algoritmo del cliente implementado por el reproductor de video, según algunas realizaciones de la presente invención.
La Figura 5 es un diagrama de flujo de alto nivel que ilustra el algoritmo del módulo de manejo de solicitudes Obtenertoken, según algunas realizaciones de la presente invención.
La Figura 6 es un diagrama de flujo de alto nivel que ilustra el módulo de manejo de solicitudes de descifrado, según algunas realizaciones de la presente invención.
Descripción detallada
Con referencia específica ahora a los dibujos en detalle, se enfatiza que los detalles mostrados son a modo de ejemplo y para propósitos de discusión ilustrativa de las realizaciones preferidas de la presente invención solamente, y se presentan con la causa de proporcionar lo que se cree ser la descripción más útil y fácil de entender de los principios y aspectos conceptuales de la invención. A este respecto, no se intenta mostrar detalles estructurales de la invención con más detalle del necesario para una comprensión fundamental de la invención, la descripción tomada con los dibujos hace evidente a los expertos en la técnica cómo las diversas formas de la invención pueden ser incorporadas en la práctica.
Antes de explicar al menos una realización de la invención en detalle, debe entenderse que la invención no está limitada en su aplicación a los detalles de construcción y a la disposición de los componentes establecidos en la siguiente descripción o ilustrados en los dibujos. La invención es aplicable a otras realizaciones y puede practicarse o llevarse a cabo de varias maneras. Además, debe entenderse que la fraseología y la terminología empleadas en este documento tienen fines descriptivos y no deben considerarse como limitantes.
Antes de exponer los antecedentes de la técnica relacionada, puede ser útil establecer definiciones de ciertos términos que se utilizarán más adelante.
El objetivo de la invención es optimizar los recursos utilizados para proporcionar esta seguridad, y en particular para minimizar su huella de CPU, utilizando un mínimo de memoria de CPU. Otra ventaja de la invención es que la invención proporciona autenticación de cliente asíncrona para cada fragmento de contenido multimedia enviado al Agente DRM.
La Figura 1 es un diagrama de bloques esquemático de alto nivel del agente DRM con el reproductor de video, según la presente invención. La presente invención proporciona una solución para autenticar la comunicación de un reproductor de video 2, que tiene un módulo de firma 3, con un agente 1 DRM.
La Figura 2 es un diagrama de bloques esquemático de alto nivel del agente DRM, según la presente invención. El agente DRM se compone del módulo 10 de manejo de solicitudes de token para manejar las solicitudes de token recibidas del reproductor de video, un módulo 20 de manejo de solicitudes de descifrado para manejar las solicitudes de descifrado del reproductor de video y proporcionar contenido descifrado usando el módulo 40 de descifrado, y un módulo 25 de gestión de tabla hash para gestionar la tabla 30 hash. El módulo de descifrado puede usar cualquier método de descifrado conocido en la técnica.
La Figura 3 es un diagrama de flujo de alto nivel que ilustra el algoritmo global del agente DRM, de acuerdo con algunas realizaciones de la presente invención. El algoritmo global del agente DRM realiza al menos uno de los siguientes pasos:
- recibir de un reproductor de video una solicitud obtener-token para el Agente DRM (paso 110),
- aplicar una función de devolución de llamada obtener-token () que devuelve dos parámetros de salida: un identificador de solicitud de descifrado IDSolicitud y un Token de valor de token (paso 115),
- insertar en una tabla 30 hash (ver Figura 2) de valores de token con identificadores de solicitudes de descifrado como claves (paso 120), un registro compuesto por IDSolicitud y Token,
- recibir una solicitud de descifrado de fragmentos cifrados de contenido multimedia junto con un identificador de solicitud de descifrado, el fragmento cifrado y un resumen del fragmento cifrado (paso 130),
- procesar el resumen y recuperar el valor del token según el identificador de solicitud de descifrado recibido de la tabla hash (paso 140), y autenticar la solicitud de descifrado (paso 150),
- descifrar el fragmento cifrado y devolver el fragmento descifrado resultante (solo si la solicitud de descifrado se autenticó) (paso 155),
- eliminar el registro compuesto por el IDSolicitud y el Token de la tabla 30 hash.
La tabla hash es un conjunto desordenado de registros, cada uno asociado a un identificador de solicitud de descifrado IDSolicitud, un Token de valor de token y un identificador de cliente (IDCliente). El mantenimiento de la tabla hash consiste esencialmente en agregar y/o eliminar un registro a la tabla hash.
Según algunas realizaciones de la presente invención, un valor de token es un valor aleatorio suficientemente fuerte.
La autenticación de la solicitud de obtención de token consiste en realizar la operación XOR entre el Token de valor token recuperado y los primeros 16 bytes del fragmento y comparar el resultado obtenido con el fragmento cifrado enviado para el descifrado (paso 150). Si hay una coincidencia, la solicitud se autentica como emitida por un cliente autorizado, el fragmento cifrado se descifra, el fragmento transparente resultante se transmite al reproductor de video (paso 160) y el registro que comprende el IDSolicitud y el Token se elimina de la tabla hash. Si no hay coincidencia, la aplicación del reproductor de video se bloquea o finaliza (etapa 170), y no se necesita descifrar el fragmento.
La Figura 4 es un diagrama de flujo de alto nivel que ilustra el algoritmo del reproductor de video, según algunas realizaciones de la presente invención.
De manera preliminar, al reproductor de video se le asigna un par de claves privadas y públicas en una infraestructura de clave pública. La clave privada solo es registrada por el módulo de firma. La clave pública está disponible públicamente y, por lo tanto, para el agente DRM.
El reproductor de video realiza al menos uno de los siguientes pasos: enviar al agente DRM una solicitud de obtención de token, recibir en respuesta el identificador de solicitud de descifrado IDSolicitud y el Token de valor de token, calcular, mediante el módulo de firma, un resumen del fragmento cifrado mediante cifrado, utilizando los siguientes parámetros: Clave-Privada, el resultado de una operación XOR realizada en el valor del token recibido y los primeros 16 bytes del fragmento cifrado (en caso de que el fragmento cifrado sea más corto que 16 bytes, debe ser completado con ceros) (210); una vez que se calcula el resumen, se envía al agente DRM una solicitud de descifrado, el resumen y el fragmento cifrado (220). Al final del proceso, el fragmento descifrado se recibe del agente DRM (230).
La Figura 5 es un diagrama de flujo de alto nivel que ilustra el algoritmo del módulo de manejo de solicitudes obtenertoken, según algunas realizaciones de la presente invención. El algoritmo del módulo de manejo de solicitudes obtenertoken, incluye al menos uno de los siguientes pasos: lanzar el Agente DRM (310), esperar la solicitud 320 obtenertoken, identificar el evento de solicitud obtener-token con el identificador de cliente IDCliente (paso 330), si IDCliente es conocido por el agente DRM (paso 340), generar un Token de valor token y un identificador de solicitud de descifrado IDSolicitud (paso 360), enviar la llamada obtener-token (IDSolicitud, Token) (paso 370) y almacenar el IDSolicitud, el IDCliente y el Token en la tabla hash (paso 380). Si el agente DRM desconoce el IDCliente, enviar un error de devolución de llamada obtener-token (0,0) (paso 350). En caso de que solo se espere un cliente, no se necesita el identificador de cliente IDCliente.
La Figura 6 es un diagrama de flujo de alto nivel que ilustra el algoritmo del módulo de manejo de solicitudes de descifrado, según algunas realizaciones de la presente invención. El algoritmo del módulo de manejo de solicitudes de descifrado incluye los siguientes pasos:
- Lanzar el Agente DRM (paso 410) y esperar la solicitud de descifrado (paso 420),
- recibir una solicitud de descifrado junto con el IDCliente, el IDSolicitud, un resumen del fragmento cifrado y el fragmento cifrado (paso 430), y comprobar si IDSolicitud está disponible en la tabla hash (paso 440). En caso afirmativo, obtener el IDCliente y el Token asociados de la tabla hash (paso 450), y luego verificar si el IDCliente recuperado de la tabla hash coincide con el IDCliente recibido con la solicitud (paso 460). En caso afirmativo, calcular el parámetro temporal Temp procesando el resumen utilizando una clave pública, aplicar la función XOR con el Token (paso 470) y luego hacer corresponder Temp con el fragmento cifrado que comienza (paso 480). En caso de coincidencia, realizar las siguientes operaciones: descifrar el fragmento cifrado (paso 482) para obtener el fragmento limpio, eliminar el registro IDSolicitud de la tabla hash (paso 484) y enviar la llamada de descifrado que incluye el fragmento claro (fragmento descifrado) al cliente. En caso de no coincidencia, finalizar el agente DRM (paso 490) sin descifrar el fragmento (cifrado).
Según algunas realizaciones de la presente invención, el dispositivo cliente no es un reproductor de video, sino otro tipo de dispositivo. Por ejemplo, el dispositivo cliente es un decodificador de video, o es otro tipo de reproductor multimedia como un reproductor de audio.
Según algunas realizaciones de la presente invención, se usa una función ordinaria en lugar de una función de devolución de llamada.
Según algunas realizaciones de la presente invención, el proceso de gestión de la tabla hash dentro del agente DRM y la comunicación del reproductor de video al agente DRM están protegidos en términos de exclusión mutua, para evitar que el reproductor de video obtenga acceso a la tabla hash. Esta protección tiene como objetivo garantizar que estos procesos concurrentes no se ejecuten simultáneamente. Se pueden usar varias soluciones de hardware y software para asegurar la comunicación y el procesamiento de la tabla hash que se conocen en el campo del control de concurrencia. Ejemplos de soluciones de hardware son: interrupciones de desactivación y de espera ocupada.
Entre las soluciones de software, varios algoritmos también dependen de la espera ocupada, mientras que otros utilizan las capacidades de sincronización de sistemas operativos. (Véase por ejemplo https://en.wikipedia.org/wiki/Mutual_exclusion # cite note-6 para obtener más información sobre este tema)
Según algunas realizaciones de la presente invención, las llamadas del reproductor de video, que se envían durante la reproducción cada vez que el reproductor de video recibe o lee un fragmento de contenido multimedia cifrado y tienen que ser procesadas por el reproductor de video, aparecen en pares: la solicitud obtener-token se enviará primero y luego la solicitud de descifrado de fragmentos.
Según algunas realizaciones de la presente invención, un identificador de solicitud de descifrado IDSolicitud es un número de recuento entero simple. También puede ser cualquier otro tipo de número de valor fijo o cadena de caracteres, por ejemplo, calculado al azar.
Según algunas realizaciones de la presente invención, el token generado es aleatorio suficientemente fuerte, calculado por medio de un generador de números pseudoaleatorios.
Según algunas realizaciones de la presente invención, admite múltiples fuentes de reproductores de video mediante el uso de múltiples claves públicas como una lista blanca de reproductores de video autorizados.
Según algunas realizaciones de la presente invención, los 16 bytes del fragmento encriptado utilizado para calcular su resumen no son los primeros 16. Por ejemplo, son los últimos 16. En otro ejemplo, los 16 bytes usados del fragmento encriptado usado para calcular su resumen, no son bytes consecutivos.
Según algunas realizaciones de la presente invención, se usa un índice basado en el token para seleccionar los 16 bytes dentro del fragmento de video enviado para descifrado. Por ejemplo, si un bit de peso dado del token tiene un valor 0, respectivamente 1, entonces se utilizan los primeros, respectivamente los últimos, 16 bytes.
Según algunas realizaciones de la presente invención, se utiliza un índice de cada bit el cual corresponde a un byte de un fragmento cifrado de manera similar: dependiendo de cada valor de bit del índice, se tiene en cuenta el byte correspondiente del fragmento cifrado o no. Por ejemplo, el índice se calcula de forma pseudoaleatoria. En otro ejemplo, el índice se renueva con una frecuencia predeterminada.
Según algunas realizaciones de la presente invención, se usa otro número de bytes del fragmento cifrado para calcular su resumen. Por ejemplo, se utilizan 8 o 32 bytes.
Según algunas realizaciones de la invención, en caso de que el fragmento cifrado sea más corto que 16 bytes, debe rellenarse con unos, o mediante otra secuencia predeterminada de valores de bit.
Según algunas realizaciones de la presente invención, se sugiere definir un límite de tamaño de ventanas, para limitar el número de solicitudes pendientes simultáneas para el descifrado de fragmentos.
Según algunas realizaciones de la presente invención, se sugiere agregar una lista blanca de reproductores autorizados que usan el sistema de mensajería DRM para soportar la gestión de la tabla hash.
Según algunas realizaciones de la presente invención, se sugiere reemplazar la función XOR básica por cualquier función biyectiva F (Token, primeros 16 bytes)/F-1(Token, primeros 16 bytes), como un algoritmo de cifrado simétrico como el Algoritmo de Cifrado Mínimo (TEA) que usa el Token como clave
La principal ventaja de esta invención es que la huella de CPU utilizada se optimiza utilizando una memoria de CPU mínima. Otra ventaja es que el sistema según la presente invención proporciona autenticación de cliente asíncrona para cada fragmento enviado al Agente DRM.
El sistema de la presente invención puede incluir, según ciertas realizaciones de la invención, memoria legible por máquina que contiene o almacena un programa de instrucciones que, cuando es ejecutado por la máquina, implementa algunos o todos los aparatos, métodos, características y funcionalidades de la invención mostrada y descrita aquí. Alternativamente o además, el aparato de la presente invención puede incluir, según ciertas realizaciones de la invención, un programa como el anterior que se puede escribir en cualquier lenguaje de programación convencional, y opcionalmente una máquina para ejecutar el programa tal como, pero no limitado a una ordenador de propósito general que puede configurarse o activarse opcionalmente según las enseñanzas de la presente invención. Cualquiera de las enseñanzas incorporadas en este documento puede, siempre que sea adecuado, operar con señales representativas de objetos o sustancias físicas.
A menos que se indique específicamente lo contrario, como se desprende de las siguientes discusiones, se aprecia que a lo largo de las discusiones de la especificación, se utilizar términos como "procesamiento", "computación", "estimación", "selección", "clasificación", "calificación", "cálculo", "determinación", "generación", "reevaluación", "clasificación", "generación", "producción", "coincidencia estéreo", "registro", "detección", "asociación", "superposición", "obtención" o similar, se refieren a la acción y/o procesos de un ordenador o sistema informático, o procesador o dispositivo informático electrónico similar, que manipula y/o transforma datos representados como cantidades físicas, como electrónicas, dentro del sistema informático registros y/o memorias, en otros datos representados de manera similar como cantidades físicas dentro de las memorias, registros u otros dispositivos de almacenamiento, transmisión o visualización de información del sistema informático. El término "ordenador" debe interpretarse en términos generales para cubrir cualquier tipo de dispositivo electrónico con capacidades de procesamiento de datos, incluidos, a modo de ejemplo no limitativo, ordenadores personales, servidores, sistemas informáticos, dispositivos de comunicación, procesadores (por ejemplo, procesador de señal digital (DSP) ), microcontroladores, matrices de puertas programables en campo (FPGA), circuito integrado de aplicación específica (ASIC), etc.) y otros dispositivos informáticos electrónicos.
La presente invención puede describirse, simplemente por claridad, en términos de terminología específica para lenguajes de programación, sistemas operativos, navegadores, versiones de sistemas, productos individuales y similares particulares. Se apreciará que esta terminología pretende transmitir principios generales de funcionamiento de manera clara y breve, a modo de ejemplo, y no pretende limitar el alcance de la invención a ningún lenguaje de programación, sistema operativo, navegador, versión de sistema o producto individual.
Se aprecia que los componentes de software de la presente invención, incluidos los programas y los datos, pueden, si se desea, implementarse en forma de ROM (memoria de solo lectura), incluyendo CD-ROM, EPROM y EEPROM, o pueden almacenarse en cualquier otro medio legible por ordenador no transitorio adecuado , tal como, pero no limitado a, discos de diversos tipos, tarjetas de diversos tipos y RAM. Los componentes descritos aquí como software pueden, de manera alternativa, implementarse total o parcialmente en hardware, si se desea, usando técnicas convencionales. Por el contrario, los componentes descritos aquí como hardware pueden, alternativamente, implementarse total o parcialmente en software, si se desea, usando técnicas convencionales.
Incluidos en el alcance de la presente invención, entre otras cosas, están las señales electromagnéticas que llevan instrucciones legibles por ordenador para realizar cualquiera o todos los pasos de cualquiera de los métodos mostrados y descritos aquí, en cualquier orden adecuado; instrucciones legibles por máquina para realizar cualquiera o todos los pasos de cualquiera de los métodos mostrados y descritos aquí, en cualquier orden adecuado; dispositivos de almacenamiento de programas legibles por máquina, que incorporan de manera tangible un programa de instrucciones ejecutables por la máquina para realizar cualquiera o todos los pasos de cualquiera de los métodos mostrados y descritos aquí, en cualquier orden adecuado; un producto de programa informático que comprende un medio utilizable por ordenador que tiene un código de programa legible por ordenador, tal como un código ejecutable, que se ha incorporado al mismo, y/o que incluye un código de programa legible por ordenador para realizar cualquiera o todos los pasos de cualquiera de los métodos mostrados y descritos en la presente memoria, en cualquier orden adecuado; cualquier efecto técnico provocado por alguno o todos los pasos de cualquiera de los métodos mostrados y descritos aquí, cuando se realiza en cualquier orden adecuado; cualquier aparato o dispositivo adecuado o combinación de los mismos, programado para realizar, solo o en combinación, cualquiera o todos los pasos de cualquiera de los métodos mostrados y descritos en la presente memoria, en cualquier orden adecuado; dispositivos electrónicos, cada uno incluyendo un procesador y un dispositivo de entrada y/o dispositivo de salida cooperativo y operativos para realizar en el software los pasos mostrados y descritos en la presente memoria; dispositivos de almacenamiento de información o registros físicos, como discos o discos duros, que hacen que se configure un ordenador u otro dispositivo para llevar a cabo cualquiera o todos los pasos de cualquiera de los métodos mostrados y descritos en la presente memoria, en cualquier orden adecuado; un programa pre-almacenado, por ejemplo en la memoria o en una red de información como Internet, antes o después de la descarga, que incluye cualquiera o todos los pasos de cualquiera de los métodos mostrados y descritos en este documento, en cualquier orden adecuado, y el método de carga o descarga, y un sistema que incluye un servidor o servidores y un cliente o clientes para usarlo; y hardware que realiza cualquiera o todos los pasos de cualquiera de los métodos mostrados y descritos aquí, en cualquier orden adecuado, ya sea solo o junto con el software. Cualquier medio legible por ordenador o legible por máquina descrito en la presente memoria está destinado a incluir medios legibles por ordenador o máquina no transitorios.
Cualquier cálculo u otras formas de análisis descritas en este documento pueden realizarse mediante un método informático adecuado. Cualquier paso descrito aquí puede ser implementado por ordenador. La invención mostrada y descrita en la presente memoria puede incluir (a) usar de un método informático para identificar una solución a cualquiera de los problemas o para cualquiera de los objetivos descritos en la presente memoria, la solución opcionalmente incluye al menos uno de entre una decisión, una acción, un producto, un servicio o cualquier otra información descrita en este documento que afecte, de manera positiva, a un problema o unos objetivos descritos en la presente memoria; y (b) generar la solución.
El alcance de la presente invención no se limita a las estructuras y funciones específicamente descritas en la presente memoria y también pretende incluir dispositivos que tengan la capacidad de producir una estructura, o realizar una función, descrita en la presente memoria, de modo que aunque los usuarios del dispositivo no puedan usar la capacidad, son, si así lo desean, capaces de modificar el dispositivo para obtener la estructura o función.
Las características de la presente invención que se describen en el contexto de realizaciones separadas también se pueden proporcionar en combinación en una sola realización.
Por ejemplo, una realización del sistema está destinada a incluir una realización del proceso correspondiente. Además, cada realización del sistema está destinada a incluir una "vista" centrada en el servidor o una "vista" centrada en el cliente, o una "vista" desde cualquier otro nodo del sistema, de la funcionalidad completa del sistema, medio legible por ordenador, aparato, incluyendo solo aquellas funcionalidades realizadas en ese servidor o cliente o nodo.

Claims (13)

REIVINDICACIONES
1. Un método para asegurar el acceso del módulo informático de un cliente a los servicios de un agente DRM, comprendiendo dicho método los pasos de:
- Enviar, por parte del cliente, una solicitud obtener-token (210) al agente DRM;
- Aplicar los siguientes pasos (10) por el agente DRM:
° Recibir la solicitud obtener-token;
° aplicar una función para generar un identificador de solicitud de descifrado IDSolicitud y un Token de valor de token, y devolver IDSolicitud y Token al cliente;
° insertar, en una tabla hash de valores de token con identificadores de solicitudes obtener-token como claves, registrados en una memoria del agente DRM, un registro que comprende el Token de valor de token asociado a la clave IDSolicitud;
- aplicar los siguientes pasos (220-240) por el cliente:
° recibir el IDSolicitud y el Token del agente DRM;
° calcular un resumen de un fragmento cifrado de contenido multimedia utilizando el Token y una clave privada; ° calcular una solicitud de descifrado del fragmento cifrado de contenido multimedia, que comprende el IDSolicitud, el fragmento cifrado y el resumen del fragmento cifrado;
° enviar al agente DRM, la solicitud de descifrado del fragmento cifrado;
- y aplicar los siguientes pasos (20) por el agente DRM:
° recibir, la solicitud de descifrado;
° recuperar el Token, de la tabla hash, en base al IDSolicitud;
° procesar el resumen utilizando una clave pública y Token;
° comprobar la coincidencia entre el resumen procesado y al menos parte del fragmento cifrado;
° solo en caso de coincidencia: descifrar el fragmento cifrado y devolver el fragmento descifrado al cliente; en donde al menos un paso de recepción, procesamiento, descifrado informático es realizado por un procesador.
2. El método de la reivindicación 1 en donde:
- la solicitud obtener-token comprende un identificador IDCliente del cliente;
- la función usa el IDCliente como entrada;
- el registro de la tabla hash incluye además el IDCliente asociado con la clave IDSolicitud;
- la solicitud de descifrado comprende además un identificador ID2Cliente del cliente;
- la recuperación del Token se realiza conjuntamente con la recuperación del IDCliente, y el procesamiento posterior del resumen y el descifrado de los fragmentos cifrados solo se realiza en caso de coincidencia entre el IDCliente y el ID2Cliente.
3. El método de la reivindicación 1, en donde la comprobación de la coincidencia entre el resumen procesado y al menos parte del fragmento cifrado incluye realizar una operación XOR entre el Token y la al menos parte del fragmento cifrado.
4. El método de la reivindicación 1, en el que, en caso de no coincidencia, la aplicación del cliente finaliza.
5. El método de la reivindicación 1 que comprende además el paso de eliminar el registro que comprende el Token de valor de token asociado a la clave IDSolicitud de la tabla hash después de que se maneje la solicitud de descifrado.
6. El método de la reivindicación 1, en el que el proceso de gestión de la tabla hash y el proceso de comunicación con el cliente están protegidos en términos de exclusión mutua dentro del agente DRM, para evitar que el cliente obtenga acceso a la tabla hash.
7. El método de la reivindicación 1 además utiliza múltiples claves públicas como una lista blanca de clientes autorizados para admitir múltiples fuentes de clientes.
8. Un método para asegurar el acceso del módulo informático de un cliente a los servicios de un agente DRM, dicho método comprende los pasos de:
- recibir la solicitud de obtención de token del cliente;
- aplicar una función para generar un identificador de solicitud de descifrado IDSolicitud y un Token de valor token, y devolver el IDSolicitud y el Token al cliente;
- insertar, en una tabla hash de valores de token con identificadores de solicitudes obtener-token como claves, registradas en una memoria del agente DRM, un registro que comprende el Token de valor token asociado al ID de Solicitud de clave;
- recibir, la solicitud de descifrado de un fragmento cifrado de contenido multimedia, que comprende el IDSolicitud, el fragmento cifrado y un resumen del fragmento cifrado;
- recuperar el Token, de la tabla hash, en base al IDSolicitud;
- procesar el resumen utilizando una clave pública y el Token;
- comprobar la coincidencia entre el resumen procesado y al menos parte del fragmento cifrado;
- solo en caso de coincidencia: descifrar el fragmento cifrado y devolver el fragmento descifrado al cliente.
en donde al menos un paso de recepción, procesamiento, descifrado informático es realizado por un procesador.
9. Un sistema para asegurar el acceso de un cliente a los servicios de un agente DRM, estando dicho sistema compuesto por:
- un módulo de algoritmo de cliente para recibir el IDSolicitud y el Token del agente DRM, calcular un resumen de un fragmento cifrado de contenido multimedia usando el Token y una clave privada, calcular una solicitud de descifrado del fragmento cifrado de contenido multimedia, que comprende el IDSolicitud, el fragmento cifrado y el resumen del fragmento cifrado y el envío al agente DRM, la solicitud de descifrado del fragmento cifrado;
- un módulo de manejo de solicitudes obtener-token para recibir una solicitud obtener-token, aplicando una función para generar un identificador de solicitud de descifrado IDSolicitud y un Token de valor token, devolviendo el IDSolicitud y el Token al cliente e insertándolo en una tabla hash de valores de token con identificadores de solicitudes obtener-token como claves, un registro que comprende el token de valor de token asociado a la clave IDSolicitud; - un módulo de manejo de solicitudes de descifrado para recibir una solicitud de descifrado de un fragmento cifrado de contenido multimedia que comprende el IDSolicitud, el fragmento cifrado y un resumen del fragmento cifrado, recuperar el Token, de la tabla hash en base al IDSolicitud, procesar el resumen utilizando una clave pública y el Token, comprobar la coincidencia entre el resumen procesado y al menos parte del fragmento cifrado y, solo en caso de coincidencia: descifrar el fragmento cifrado y devolver el fragmento descifrado al cliente.
10. El sistema de la reivindicación 9 en el que:
- la solicitud obtener-token comprende un identificador IDCliente del cliente;
- la función usa el IDCliente como entrada;
- el registro de la tabla hash incluye además el IDCliente asociado con la clave IDSolicitud;
- la solicitud de descifrado comprende además un identificador ID2Cliente del cliente.
11. El sistema de la reivindicación 9, en el que la comprobación de la coincidencia entre el resumen procesado y al menos parte del fragmento cifrado incluye realizar una operación XOR entre el Token y la al menos parte del fragmento cifrado.
12. El sistema de la reivindicación 9, en el que, en caso de no coincidencia, la aplicación del cliente finaliza.
13. El sistema de la reivindicación 9, que comprende además medios para proteger, en términos de exclusión mutua dentro del agente DRM, el proceso de gestión de la tabla hash y el proceso de comunicación con el cliente para evitar que el cliente obtenga acceso a la tabla hash.
ES15823204T 2015-12-03 2015-12-03 Método y sistema para asegurar un acceso de un cliente a servicios de agente DRM para un reproductor de video Active ES2802426T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IL2015/051177 WO2017093990A1 (en) 2015-12-03 2015-12-03 A method and system for securing a client's access to a drm agent's services for a video player

Publications (1)

Publication Number Publication Date
ES2802426T3 true ES2802426T3 (es) 2021-01-19

Family

ID=55083449

Family Applications (1)

Application Number Title Priority Date Filing Date
ES15823204T Active ES2802426T3 (es) 2015-12-03 2015-12-03 Método y sistema para asegurar un acceso de un cliente a servicios de agente DRM para un reproductor de video

Country Status (6)

Country Link
US (1) US10846373B2 (es)
EP (1) EP3384417B1 (es)
CN (1) CN108431819B (es)
ES (1) ES2802426T3 (es)
PL (1) PL3384417T3 (es)
WO (1) WO2017093990A1 (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110113150B (zh) * 2019-04-08 2021-09-17 淮阴工学院 基于无证书环境的可否认认证的加密方法和系统
JP7015400B2 (ja) * 2019-04-16 2022-02-02 グーグル エルエルシー 自己認証ドメイン固有のブラウザ識別子
US11516001B2 (en) * 2019-05-23 2022-11-29 Mastercard International Incorporated Method and system for generalized provenance solution for blockchain supply chain applications
JP7322283B2 (ja) * 2019-09-03 2023-08-07 グーグル エルエルシー 安全な識別情報検索のためのシステムおよび方法
CN113141329B (zh) * 2020-01-16 2023-04-18 中移(上海)信息通信科技有限公司 大数据挖掘方法、装置、设备和存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383205B1 (en) * 1999-03-27 2008-06-03 Microsoft Corporation Structure of a digital content package
JP5005195B2 (ja) 2005-07-13 2012-08-22 東京エレクトロン株式会社 プローブカード製造方法
FR2895545B1 (fr) 2005-12-23 2008-05-30 Trusted Logic Sa Procede d'authentification d'applications d'un systeme informatique
CN101059828A (zh) * 2006-04-20 2007-10-24 华为技术有限公司 一种数字版权保护方法及系统
CN101131718B (zh) * 2006-08-22 2012-05-23 华为技术有限公司 一种受保护内容完整性验证的方法、设备及系统
US7975312B2 (en) * 2007-01-08 2011-07-05 Apple Inc. Token passing technique for media playback devices
US8249234B2 (en) * 2007-07-12 2012-08-21 American Teleconferencing Services, Ltd. Dynamic configuration of conference calls
JP5346025B2 (ja) * 2007-09-11 2013-11-20 エルジー エレクトロニクス インコーポレイティド 保安署名方法、保安認証方法及びiptvシステム
CN101447842A (zh) * 2008-09-27 2009-06-03 百视通网络电视技术发展有限责任公司 采用2级架构的分布式数字版权管理系统
US9027143B1 (en) * 2009-08-26 2015-05-05 Adobe Systems Incorporated System and method for multipronged authentication
CA2777102A1 (en) * 2009-10-09 2011-04-14 Quickplay Media Inc. Digital rights management in a mobile environment
CN103186723B (zh) * 2011-12-30 2015-12-09 北京大学 数字内容安全协作的方法和系统
CN102799807B (zh) * 2012-06-15 2015-11-25 华为终端有限公司 数字版权管理内容的播放方法、用户设备和域管理器

Also Published As

Publication number Publication date
PL3384417T3 (pl) 2020-11-02
CN108431819A (zh) 2018-08-21
US10846373B2 (en) 2020-11-24
US20180365389A1 (en) 2018-12-20
EP3384417B1 (en) 2020-04-29
CN108431819B (zh) 2021-06-08
EP3384417A1 (en) 2018-10-10
WO2017093990A1 (en) 2017-06-08

Similar Documents

Publication Publication Date Title
US9830476B2 (en) System and method for cascading token generation and data de-identification
ES2802426T3 (es) Método y sistema para asegurar un acceso de un cliente a servicios de agente DRM para un reproductor de video
US10284372B2 (en) Method and system for secure management of computer applications
US9977918B2 (en) Method and system for verifiable searchable symmetric encryption
CN107667374B (zh) 用于存储器保密性、完整性和重放保护的技术
CN105426708B (zh) 一种Android系统的应用程序的加固方法
US8826035B2 (en) Cumulative integrity check value (ICV) processor based memory content protection
US8897450B2 (en) System, processing device, computer program and method, to transparently encrypt and store data objects such that owners of the data object and permitted viewers are able to view decrypted data objects after entering user selected passwords
JP6285536B2 (ja) データを暗号化するシステムおよび方法
US10630473B2 (en) Determination of a device-specific private key for an asymmetrical cryptographic method on a device
JP2013531436A5 (es)
WO2017000648A1 (zh) 一种被加固软件的认证方法及装置
US11979498B2 (en) System and method for securely transferring data using generated encryption keys
TWI631462B (zh) 確保機板上匯流排交易安全的計算系統和計算設備實現的方法以及非暫時性的電腦可讀取媒體
US20130290731A1 (en) Systems and methods for storing and verifying security information
US11153074B1 (en) Trust framework against systematic cryptographic
GB2514428A (en) Enabling access to data
JP2013175179A (ja) 少なくとも1つの暗号化された命令を備えるソフトウェアアプリケーションの協調実行のためのシステム、デバイスおよび方法
Le et al. A tale of two trees: one writes, and other reads
US20130290732A1 (en) Systems and methods for storing and verifying security information
JP2023522119A (ja) ブロックチェーンネットワークにおけるポイズニングされたトランザクションによるブロック伝搬
US10642786B2 (en) Security via data concealment using integrated circuits
US11720693B2 (en) System and method for securely transferring data
US11522707B2 (en) System and method for detecting compromised devices
US11468188B2 (en) Smart deployai data pipeline digital signing and encryption