ES2862159T3 - Protección de contenido - Google Patents

Protección de contenido Download PDF

Info

Publication number
ES2862159T3
ES2862159T3 ES16734292T ES16734292T ES2862159T3 ES 2862159 T3 ES2862159 T3 ES 2862159T3 ES 16734292 T ES16734292 T ES 16734292T ES 16734292 T ES16734292 T ES 16734292T ES 2862159 T3 ES2862159 T3 ES 2862159T3
Authority
ES
Spain
Prior art keywords
key
content
content key
encrypted
decrypted
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
ES16734292T
Other languages
English (en)
Inventor
Christian Schwarz
André Nicoulin
Didier Hunacek
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.)
Nagravision SARL
Original Assignee
Nagravision SA
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 Nagravision SA filed Critical Nagravision SA
Application granted granted Critical
Publication of ES2862159T3 publication Critical patent/ES2862159T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26606Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing entitlement messages, e.g. Entitlement Control Message [ECM] or Entitlement Management Message [EMM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4181External card to be used in combination with the client device, e.g. for conditional access for conditional access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Un dispositivo (106) para desencriptar contenido multimedia encriptado, comprendiendo el dispositivo un entorno de procesamiento configurado para: recibir y almacenar una clave de contenido encriptada para desencriptar contenido multimedia encriptado; evaluar una condición de acceso y, si se cumple la condición de acceso, desencriptar la clave de contenido y habilitar que un deseudoaleatorizador use la clave de contenido para desencriptar el contenido multimedia encriptado; recibir el contenido multimedia encriptado y desencriptar el contenido multimedia encriptado usando la clave de contenido; y reevaluar dentro de un intervalo si el uso de la clave de contenido debe permanecer habilitado, caracterizado porque el entorno de procesamiento está configurado además para: si la reevaluación es negativa, evitar que el deseudoaleatorizador use la clave de contenido después de que haya pasado el intervalo en respuesta a la reevaluación a pesar de que la clave de contenido permanezca válida, y porque la condición de acceso comprende una condición de que ha sido recibida una señal que indica que el acceso está autorizado antes de expiración del intervalo.

Description

DESCRIPCIÓN
Protección de contenido
La presente invención se relaciona con dispositivos de protección de contenido, más específicamente con dispositivos para proteger contenido multimedia del acceso no autorizado.
Antecedentes
Se conocen varios tipos de sistemas de protección de contenido. Por ejemplo, en radiodifusión digital, el acceso condicional a los canales de radiodifusión típicamente es implementado usando los estándares DVB, que involucran seudoaleatorizar el contenido de radiodifusión con una clave, a menudo denominada como una palabra de control que está cambiando con frecuencia, por ejemplo cada 10 segundos, de tal manera que cualquier clave es válida solo durante el período hasta el siguiente cambio de clave. Las claves son transmitidas en forma encriptada y su desencriptación en el receptor está condicionada a la evaluación positiva por un módulo de acceso condicional en el receptor de una condición de acceso transmitida junto con la clave en un mensaje típicamente denominado como mensaje de control de derechos ECM. Después de un cambio de clave, la clave previa no desencriptará el siguiente fragmento, y, por lo tanto, para continuar desencriptando el contenido, se aplica la evaluación del ECM para cada fragmento. Por lo tanto, si cambia el derecho, el contenido permanece accesible sólo durante un corto período de tiempo. Se proporcionan ejemplos de acceso condicional multimedia en los documentos WO2015/007549 A1 y US2016/173946 A1 y en EP 1,743,229 B1.
Otras formas de transmitir y consumir contenido son cada vez más comunes, usando estándares distintos a DVB. En algunos, en particular en el caso de la transmisión de contenido usando un protocolo de internet sobre una red de terceros que no está bajo el control del proveedor de contenido que administra el acceso condicional (excesivo u OTT), por ejemplo usando estándares tales como MPEG-DASH, hay desafíos particulares. Típicamente, y en particular en el contexto OTT, en estos entornos la clave usada para seudoaleatorizar el contenido típicamente es válida para todo el contenido, por ejemplo una película completa o episodio de una serie, o incluso la serie completa. Una vez que las condiciones de acceso para esta clave han sido evaluadas positivamente y la clave desencriptada y almacenada accesible para que un deseudoaleatorizador deseudoaleatorice el contenido, no hay forma de revocar de manera segura la clave (hacerla inaccesible o inutilizable para el deseudoaleatorizador) hasta el próximo reinicio. La evaluación se hace solo una vez y la clave permanecerá entonces accesible hasta que se reinicie el dispositivo, incluso si el derecho se vuelve obsoleto.
Por lo tanto hay una necesidad de un sistema, método y dispositivo de protección de contenido, en particular aunque no exclusivamente en el contexto de OTT, que aumente la granularidad de control de acceso.
Resumen
Aspectos de la invención son establecidos en la reivindicación independiente. Aspectos de algunas realizaciones específicas son establecidos en las reivindicaciones dependientes.
En visión general, realizaciones divulgadas en este documento permiten que el derecho a usar una clave sea reevaluado y aplicado a un nivel superior de granularidad temporal. Más específicamente, algunas realizaciones están configuradas para reevaluar regularmente los criterios de acceso usando componentes de confianza/autentificados, ya sea hecho en hardware o software. En particular, algunas realizaciones revalúan las condiciones de acceso periódicamente y evitan el uso de una clave todavía válida de otra manera para deseudoaleatorizar si la reevaluación es negativa.
Una primera realización comprende un dispositivo para desencriptar contenido multimedia encriptado, comprendiendo el dispositivo un entorno de procesamiento configurado para: recibir y almacenar una clave de contenido encriptada para desencriptar contenido multimedia encriptado; evaluar una condición de acceso y, si se cumple la condición de acceso, desencriptar la clave de contenido y habilitar que un deseudoaleatorizador use la clave de contenido para desencriptar el contenido multimedia encriptado; recibir el contenido multimedia encriptado y desencriptar el contenido multimedia encriptado usando la clave de contenido; y reevaluar dentro de un intervalo si el uso de la clave de contenido debe permanecer habilitado; el entorno de procesamiento está configurado además para: si la reevaluación es negativa, evitar que el deseudoaleatorizador use la clave de contenido después de que haya pasado el intervalo en respuesta a la reevaluación a pesar de que la clave de contenido permanezca válida, y en que la condición de acceso comprende una condición de que ha sido recibida una señal que indica que el acceso está autorizado antes de expiración del intervalo. En otra realización el dispositivo comprende además un dispositivo que comprende una interfaz de comunicación para conectar el dispositivo a una red de comunicaciones, en donde la señal es recibida desde una ubicación remota sobre la red de comunicaciones y la reevaluación comprende autentificar la señal. En otra realización el dispositivo comprende además un dispositivo, en donde la reevaluación comprende comparar la señal recibida con una señal esperada y evaluar la condición de acceso como cumplida sólo si la señal recibida coincide con la señal esperada. En otra realización el dispositivo comprende además un dispositivo, en donde el entorno de procesamiento está configurado para reencriptar la clave de contenido desencriptada con una clave de sesión después de desencriptarla y para almacenar la clave de contenido reencriptada para acceso por el deseudoaleatorizador, en donde habilitar que el deseudoaleatorizador use la clave de contenido incluye desencriptar la clave de contenido encriptada con la clave de sesión usando la clave de sesión; y en donde evitar que el deseudoaleatorizador use la clave de contenido desencriptada comprende cambiar la clave de sesión sin reencriptar la clave de contenido.
En otra realización el uso por el deseudoaleatorizador de la clave de contenido comprende almacenar la clave de contenido en un registro del deseudoaleatorizador y evitar que el deseudoaleatorizador use la clave de contenido desencriptada comprende borrar la clave de contenido desencriptada del registro y cambiar la clave de sesión en respuesta a almacenar la clave de contenido desencriptada en el registro. En otra realización el uso por el deseudoaleatorizador de la clave de contenido comprende almacenar la clave de contenido en un registro del deseudoaleatorizador y evitar que el deseudoaleatorizador use la clave de contenido desencriptada comprende borrar la clave de contenido desencriptada del registro. En otra realización el entorno de procesamiento está configurado para detectar la expiración del intervalo monitorizando al menos uno del grupo de: una cantidad de datos que han sido desencriptados por el deseudoaleatorizador; un cambio en un vector de inicialización recibido para desencriptar el contenido multimedia en conjunto con la clave de contenido; y una señal de reloj. En otra realización el entorno de procesamiento que comprende un entorno de ejecución de confianza se configura para implementar al menos uno de evaluar, reevaluar, evitar, autentificar, comparar, cambiar, eliminar, borrar y detectar, según pueda ser el caso. En otra realización el entorno de procesamiento está configurado para: (a) recibir el contenido multimedia encriptado; (b) recibir y almacenar la clave de contenido encriptada para desencriptar el contenido multimedia encriptado; (c) evaluar la condición de acceso y, si se cumple la condición de acceso, desencriptar la clave de contenido encriptada; (d) almacenar la clave de contenido en una tabla de claves accesible para un deseudoaleatorizador (e) acceder a la clave de contenido en la tabla de claves y cargar la clave de contenido en un registro del deseudoaleatorizador para desencriptar el contenido multimedia asociado con la clave de contenido; (f) evitar carga adicional de la clave de contenido desde la tabla de claves al registro; (g) desencriptar una porción del contenido multimedia encriptado con la clave de contenido en el registro usando el deseudoaleatorizador, en donde el intervalo corresponde al tiempo que toma desencriptar la porción; (h) en respuesta a la detección de que la porción ha sido desencriptada, borrar la clave de contenido del registro; y (i) repetir etapas (c) a (h) para desencriptar una porción siguiente del contenido multimedia encriptado adyacente a la porción del contenido multimedia encriptado. En otra realización es evitada la carga adicional en respuesta a la carga de la clave de contenido almacenada.
Para evitar dudas, cuando ciertos componentes, etapas o procesos son presentados agrupados en componentes o funciones lógicas o nocionales, esto se hace en aras de la claridad de presentación, sin limitación de una implementación subyacente de estas funciones en software o hardcore (aunque por supuesto tal implementación puede seguir a estas agrupaciones). Adicionalmente, el término "en respuesta a" es usado para abarcar tanto una respuesta directa, indirecta y retrasada. Por ejemplo, cambiar la clave de sesión o eliminar la clave de contenido en respuesta a cargar la clave de contenido en el deseudoaleatorizador abarca usar la lectura de la tabla de claves en lugar de la escritura en el registro como el desencadenante. Asimismo, enviar la señal desde el servidor en respuesta a la evaluación de una condición abarca hacer la evaluación y luego enviar la señal una vez solicitada desde el dispositivo cliente. La referencia a un intervalo incluye un intervalo que se repite regularmente de igual duración, o intervalos pueden variar de un intervalo al siguiente. Un intervalo puede ser definido en términos de una cantidad de datos desencriptados o enviados, en cuyo caso habrá un período de tiempo correspondiente que puede variar debido a factores tales como tasas de datos. Por el contrario, los intervalos pueden ser definidos en términos de períodos de tiempo o duraciones, en cuyo caso puede haber cantidades correspondientes de datos que pueden variar de un intervalo al siguiente.
Breve descripción de los dibujos
Se describen ahora diversas realizaciones a modo de ejemplo con el propósito de explicación e ilustración, con referencia a los dibujos acompañantes en los cuales:
La figura 1A ilustra un sistema de acceso condicional que comprende un servidor de acceso condicional que se comunica con dispositivos cliente de consumo de contenido sobre una red de comunicaciones;
La figura 1B ilustra con detalle adicional uno de los dispositivos cliente de consumo de contenido;
La figura 2 ilustra un proceso de acceso condicional del lado de servidor que incluye transmisión de señales;
La figura 3 ilustra un proceso del lado de cliente correspondiente;
La figura 4A ilustra una realización específica de un dispositivo de consumo de contenido en la cual pueden ser implementados procesos que incluyen un proceso como se ilustra en la figura 3;
La figura 4B ilustra cómo los componentes ilustrados en la figura 4A, en algunas realizaciones, están adaptados para manejar un número niveles de protección de claves;
La figura 5 ilustra un proceso para operar el dispositivo de consumo de contenido de la figura 4A;
La figura 6 ilustra una realización alternativa específica de un dispositivo de consumo de contenido; y
La figura 7 ilustra un proceso para operar el dispositivo de consumo de contenido de la figura 6.
Descripción detallada de realizaciones
Con referencia a la figura 1A, un servidor 102 de acceso condicional tiene un entorno de procesamiento y una interfaz de comunicaciones y se comunica sobre una red 104 de comunicaciones, por ejemplo el Internet, con un número de dispositivos 106 cliente de consumo de contenido, que implementan la funcionalidad de acceso condicional. En algunas realizaciones, la red 104 de comunicación y el servidor 102 de acceso condicional (así como cualquier servidor de contenido separado) no están bajo el control de la misma entidad. Esto se denomina comúnmente como la provisión excesiva OTT de contenido. En otras realizaciones, la infraestructura de comunicación para la red 104 de comunicación y la provisión de contenido están bajo el control de la misma entidad, por ejemplo un proveedor de servicios de Internet. En aún otras realizaciones, la red de comunicaciones es una red de radiodifusión dedicada, por ejemplo una red por satélite o por cable. En esas circunstancias, el servidor 102 de acceso condicional se proporciona típicamente en la cabecera de cable o satélite. La transmisión del contenido puede ser por radiodifusión, multidifusión, difusión puntual o bajo solicitud.
El servidor 102 de acceso condicional proporciona una clave de contenido CK y condición de acceso AC para un contenido o flujo dado a los dispositivos 106 cliente. La CK y AC pueden proporcionarse en una variedad de formatos diferentes pero, típicamente, se proporcionan en conjunto en un mensaje de control de derechos ECM. La CK se proporciona encriptada con una clave de transporte tK como [CK]TK (generalmente, la notación [x]y es usada en este documento para indicar texto no cifrado x encriptado con clave y) y la AC se proporciona en una forma de tal manera que puede ser autentificada por el dispositivo 106 cliente. El servidor 102 de acceso condicional, en algunas realizaciones, también proporciona contenido multimedia encriptado, por ejemplo en la forma de un flujo multimedia encriptado, a los dispositivos 106 cliente. En otras realizaciones, el contenido multimedia encriptado es proporcionado por un servidor separado, no ilustrado en la figura 1A. Específicamente, el contenido multimedia proporcionado a los dispositivos 106 cliente encriptado con una clave de contenido CK se denomina como [contenido multimedia]CK Pueden ser sados diversos estándares de transmisión de vídeo digital para transmitir el contenido multimedia, por ejemplo MPEG-DASH.
En algunas realizaciones, el servidor 102 de acceso condicional tiene acceso a una base de datos de suscriptores que contiene información de suscriptor, tal como el contenido al que está autorizado un suscriptor a acceder, la identidad y/o número de dispositivos de cliente que un suscriptor puede usar para acceder al contenido, y así sucesivamente. Esta información es usada por el servidor de acceso condicional para determinar los derechos de consumo de contenido para un usuario dado y para generar una CK y AC en consecuencia, por ejemplo en forma de un ECM. En algunas realizaciones, el servidor 102 de acceso condicional está configurado, por medio de un procesador de propósito general o dedicado adecuadamente programado, para verificar periódicamente las condiciones para el acceso continuo por un dispositivo 106 cliente a un contenido dado y transmitir una señal al dispositivo 106 cliente que indica que está autorizado el acceso continuo.
Las condiciones pueden incluir una verificación de si se cumplen las condiciones de licencia, tales como el número de dispositivos 106 cliente asociados con un usuario dado que consume el contenido, un período de tiempo desde que fue completada una transacción que autoriza acceso al contenido, un período de tiempo desde que se accedió primero al contenido, y así sucesivamente. Las condiciones también pueden incluir una verificación de otras señales de retroalimentación, tales como una alarma de manipulación que proporciona una alerta con respecto a la probabilidad de un intento de eludir el control de acceso en el dispositivo 106 cliente o una señal que indica un cambio en un estado de control de salida en el dispositivo 106 cliente. Un ejemplo de un cambio en el estado de control de salida es en el contexto de un decodificador que es conectado a una pantalla de TV usando un cable de HDMI (Interfaz Multimedia de Alta Definición), con contenido que es protegido en tránsito sobre el cable de HDMI usando el protocolo de HDCP (Protección de Contenido Digital de Gran ancho de banda). Un cambio de estado de salida relevante sería, por ejemplo, un cambio en el estado de la protección de HDCP, por ejemplo HDCP que es deshabilitada.
La verificación periódica puede tener lugar a intervalos predeterminados, por ejemplo determinados por un período de tiempo transcurrido, por una cantidad de datos transmitidos o consumidos o por un cambio en la información criptográfica (tal como un vector de inicialización IV para usar en conjunto con la Ck para desencriptar el contenido). Específicamente, en algunas implementaciones de acceso condicional, el IV es un número aleatorio conocido por el dispositivo 106 cliente, que cambia de una porción de datos (a menudo denominada como un fragmento) a la siguiente, por ejemplo agregando el tamaño del fragmento previo al valor de IV previo. Este cambio en el IV evita que un dispositivo comprometido simplemente trate todo el contenido como una porción/fragmento y puede ser usado además para desencadenar la verificación periódica y/o la interpretación periódica inutilizable de una CK almacenada, como se describe para algunas realizaciones a continuación en detalle.
Con referencia a la figura 1B, ahora se describe una realización de un dispositivo 106 cliente. El dispositivo cliente puede ser, por ejemplo, un decodificador sin una pantalla, un descodificador de receptor integrado, un televisor integrado, un ordenador personal, o un dispositivo móvil tal como un teléfono inteligente o tableta. El dispositivo 106 cliente comprende una interfaz 108 de comunicación de red, un entorno de ejecución enriquecido REE 110, que comprende el sistema operativo normal de dispositivo, un adaptador de comunicaciones de red, funcionalidad de interfaz de usuario, funcionalidad de gráficos y vídeo y, de acuerdo con algunas realizaciones, una porción de un módulo de procesamiento y deseudoaleatorización de contenido para procesar y emitir contenido desencriptado al usuario o a un procesador de vídeo/pantalla para procesamiento adicional, en conjunto con la funcionalidad de acceso a contenido implementada en un entorno de ejecución de confianza TEE 112.
El TEE 112 proporciona un entorno de ejecución que se ejecuta a lo largo y está aislado del REE 110. El TEE 112 está configurado para proteger sus activos de ataques generales de software y define salvaguardas rígidos en cuanto a datos y funciones a las que un programa puede acceder desde fuera del t Ee 112. Un TEE es un área segura que asegura que los datos confidenciales son almacenados, procesados y protegidos en un entorno de confianza. La capacidad de un TEE para ofrecer una ejecución segura de software de seguridad autorizado, conocido como 'aplicaciones de confianzas', le habilita proporcionar seguridad de extremo a extremo al aplicar derechos de protección, confidencialidad, integridad y acceso a datos. El TEE 112 implementa además una funcionalidad que proporciona la CK a un deseudoaleatorizador, evalúa periódicamente si debe ser mantenido el acceso al contenido, y evita que el deseudoaleatorizador use la CK para desencriptar el contenido multimedia encriptado si la evaluación es negativa.
En algunas realizaciones, el TEE 112 comprende además un elemento seguro SE 114, que implementa aquellas funciones que requieren el mayor grado de seguridad, por ejemplo la evaluación y autentificación de la AC y la desencriptación de la CK. Un SE proporciona seguridad mejorada usando software y hardware resistente a manipulaciones. Permite altos niveles de seguridad y puede trabajar junto con un TEE. El SE puede incluir una plataforma en la cual pueden ser instaladas, personalizadas y gestionadas aplicaciones. Comprende hardware, software, interfaces, y protocolos que habilitan el almacenamiento seguro de certificados y ejecución de aplicaciones, tales como para evaluación de derechos de acceso. El SE puede ser implementado en diferentes formas tales como una Tarjeta de Circuito Integrado Universal (UICC), o un dispositivo vinculado por NFC (Comunicación de Campo Cercano). El SE puede proporcionarse como un chip separado o dispositivo seguro, que puede ser insertado en una ranura del dispositivo 106 cliente. El SE también se puede proporcionar incorporado en el dispositivo 106 cliente. El SE puede incluir uno o más dominios de seguridad, cada uno de los cuales incluye una recolección de datos que confían en una entidad común (es decir, están autentificados o gestionados usando una clave o señal criptográfica común o global).
Específicamente, de acuerdo con algunas realizaciones, el TEE 112 proporciona acceso a la CK para el deseudoaleatorizador mediante:
• desencriptar la CK encriptada recibida y almacenarla en texto no cifrado en una tabla de CK accesible al deseudoaleatorizador para cargar la CK en un registro correspondiente;
• desencriptar la CK encriptada recibida, reencriptarla con una clave de sesión SK y almacenarla en la tabla en esa forma, en conjunto con proporcionar un mecanismo para cargar en la CK en el registro que incluye desencriptar la CK en la tabla con la SK.
En cualquier realización, el TEE 112 implementa uno o más de los siguientes para evitar el acceso del deseudoaleatorizador a la CK:
• eliminar la CK de la tabla de CK en respuesta a cargar la CK en el registro, o en otro punto en el tiempo entre evaluaciones;
• cambiar la SK disponible para cargar la CK o globalmente sin reencriptar la CK almacenada en la tabla, haciendo de esa manera la CK inutilizable con la nueva SK, en respuesta a cargar la CK en el registro, o en otro punto en el tiempo entre evaluaciones;
• borrar la CK del registro periódicamente, forzando de esa manera la reevaluación de la AC para redesencriptar la CK a tiempo para cuando se borre la CK (o poco después de tal manera que no se afecte la desencriptación), de tal manera que la CK pueda ser cargada de nuevo en el registro.
En algunas o todas de estas realizaciones, algunas o todas de estas funciones son implementadas en hardware dedicado para reducir además el riesgo de un ataque exitoso en el sistema de acceso condicional. Adicionalmente, en algunas realizaciones, una porción de la funcionalidad descrita, en particular con respecto al mantenimiento y borrado del registro, puede ser implementada en el TEE 112, en algunas realizaciones en hardware dedicado.
La evaluación periódica de si debe ser mantenido el acceso o no se hace, dependiendo de la realización, con base en criterios internos de dispositivo dentro del TEE 112, o se puede hacer del lado de servidor, en cuyo caso la evaluación periódica incluye pruebas para la recepción de una señal autentificada del servidor 102 sobre la red 104 de comunicaciones por los módulos de comunicación en el REE 110 y evaluación de la señal en el TEE 112 o SE 114. Por supuesto, en algunas realizaciones, ambos enfoques están combinados. Con referencia a la figura 2, se describe ahora un proceso del lado de servidor de acuerdo con una realización específica. En la etapa 202, el servidor 102 envía una clave de contenido encriptada [CK]TK encriptada con una clave de transporte TK sobre la red 104 de comunicaciones al cliente106, junto con condiciones de acceso AC que determinan si el dispositivo 106 cliente puede desencriptar CK con TK (esta última que ya está presente en el dispositivo 106 cliente). En la etapa 204, el servidor 102 evalúa una condición de acceso continuo del lado de servidor, por ejemplo incluyendo una o más de las condiciones discutidas anteriormente, y, en la etapa 206, envía una señal autentificada sobre la red 104 al dispositivo 106 cliente, para habilitar que el dispositivo cliente se beneficie de un acceso continuo al continente que corresponde a CK. Si la evaluación es negativa, la señal no es enviada y el dispositivo 106 cliente descontinuará el acceso, como se discute a continuación. Subsecuente a enviar (o no enviar) la señal, es implementado un retraso 208 de tal manera que las etapas 204 y 206 estén suficientemente sincronizadas con la expectativa de una señal en el dispositivo 106 cliente para asegurar el acceso continuo mientras la evaluación en la etapa 204 es positiva. El retraso puede ser implementado en términos de un tiempo, una cantidad de datos enviados por el servidor 102 al dispositivo 106 cliente, una estimación de la cantidad de datos desencriptados por el dispositivo 106 cliente para presentar el contenido correspondiente, un cambio en un IV enviado al dispositivo 106 cliente desde el servidor 102 u otro servidor para uso en desencriptar el contenido en conjunto con CK, o una estimación de cuándo puede cambiar un IV generado localmente en el dispositivo 106 cliente. Adicionalmente, en particular en el contexto de implementaciones OTT, el dispositivo 106 cliente, en algunas realizaciones, solicita regularmente nuevos datos (en lugar de los datos que son empujados al dispositivo cliente como por ejemplo en un contexto de radiodifusión), y esta solicitud de datos desencadena y/o sincroniza el envío de la señal por el servidor 102.
Con referencia a la figura 3, se describe ahora un proceso del lado de cliente correspondiente. En la etapa 302, la AC recibida es autentificada y evaluada y, en el caso de una evaluación positiva, es habilitado el acceso a la CK para el deseudoaleatorizador en la etapa 302, con el contenido multimedia encriptado siendo desencriptado por el deseudoaleatorizador usando la CK, como se describió anteriormente, en la etapa 304. Después de un intervalo predeterminado, por ejemplo un período predeterminado de tiempo determinado por una señal de reloj, habiendo sido una cantidad predeterminada de datos desencriptada en la etapa 304, un cambio en un IV recibido o generado, y así sucesivamente, que esto en un tiempo t1 la AC es reevaluada en la etapa 306 y, en caso de una determinación positiva debido a que ha sido recibida una señal a tiempo para el intervalo que termina en t1, el contenido continúa siendo desencriptado en la etapa 308. Esta reevaluación es llevada a cabo en cada intervalo. Si en una reevaluación en el tiempo tn en la etapa 310 la reevaluación es negativa debido a que no ha sido recibida ninguna señal a tiempo para tn, la desencriptación del contenido multimedia falla en la etapa 312. Se entenderá que la inicial en la evaluación de la AC puede ser diferente de las reevaluaciones subsecuentes, por ejemplo las reevaluaciones solo pueden verificar la recepción de una señal autentificada desde la última reevaluación. Igualmente, en algunas realizaciones, la reevaluación puede basarse exclusivamente, o en parte, en factores internos dentro del dispositivo 106 cliente, con o sin dependencia de la recepción de una señal.
Con el fin de permitir acceso adicional, la señal recibida debe coincidir con una señal esperada. Aunque en algunas realizaciones la señal es de un valor fijo conocido tanto por el servidor 102 como por el dispositivo 106 cliente, la seguridad de evaluación de señal puede ser mejorada cambiando la señal de vez en cuando, por ejemplo después de cada evaluación, de tal forma que puede ser predicha por el dispositivo 106 cliente. Por ejemplo, un incremento de contador o marca de tiempo podría usarse para cambiar la señal entre evaluaciones o la señal puede ser generada o derivada por cualquier método criptográfico adecuado que esté sincronizado entre el servidor 102 y el dispositivo 106 cliente.
Con referencia a la figura 4, ahora se describe una realización específica de un dispositivo 106 cliente. Se apreciará que esta realización puede ser usada como una implementación específica de las realizaciones descritas anteriormente, para implementar los métodos específicos descritos anteriormente, y en particular para reevaluar periódicamente los derechos de acceso por medio de la recepción de una señal o de otro modo. Sin embargo, la realización es más ampliamente aplicable en cualquier contexto en el cual es deseable aplicar una reevaluación periódica de condiciones de acceso en un sistema de acceso condicional, en particular en un contexto OTT.
En esta realización, el dispositivo 106 cliente comprende un REE 402 y un TEE 404. El REE está configurado para recibir contenido 406 codificado para deseudoaleatorizar mediante un deseudoaleatorizador 408 y CK y AC 410, 412 correspondientes para almacenamiento en un núcleo 414 de acceso condicional. CK 410 está encriptada con una clave de transporte TK y la AC 412 comprende un indicador denominado como un bit de parada segura SSB en este documento, que indica si la disponibilidad de la CK está sujeta a la aplicación periódica de una reevaluación de la AC (o parte de la AC, por ejemplo en relación con la recepción periódica de una señal) o no. Esto se discutirá con detalle adicional a continuación. El núcleo 414 de acceso condicional está configurado para solicitar la evaluación de la AC y la descodificación de la CK en coordinación con el contenido 406 codificado que se proporciona al deseudoaleatorizador 408 por el REE 402, a solicitud del deseudoaleatorizador 406, desencadenado periódicamente por una cantidad de datos que han sido enviados a o han sido descodificados por el deseudoaleatorizador 406, por ejemplo con suficiente tiempo para el final de un fragmento, o en respuesta a un cambio en un IV recibido o generado. En algunas realizaciones el REE controla el empuje de un siguiente fragmento de contenido al DSC 408 para deseudoaleatorizarlo así como enviar la CK y AC al TEE y sincroniza estas operaciones, por ejemplo enviando la CK y AC con suficiente tiempo para cuando el siguiente fragmento es requerido y luego, en el momento apropiado y una vez que la CK está lista en la Tabla 422 de CK, empujar el siguiente fragmento al DSC 408 para deseudoaleatorizarlo.
El TEE 404 implementa un módulo 416 de evaluación de AC configurado para evaluar una AC que ha pasado a él por el núcleo 414 de acceso condicional para evaluación y un módulo 418 de desencriptación de clave en posesión de la TK y configurado para desencriptar [CK]TK que ha pasado desde el núcleo 414 de acceso condicional si está autorizado para hacerlo así por el módulo 416 de evaluación de AC. Un primer módulo 420 de protección de claves está configurado para recibir la clave de contenido CK desencriptada del módulo 418 de desencriptación de claves y encriptarla con una clave de sesión SK, discutida además a continuación. El primer módulo de protección de claves también está configurado para encriptar AC con SK en algunas realizaciones. Una tabla 422 de claves está configurada para recibir la clave de contenido reencriptada [CK]SK y la condición de acceso encriptada [AC]SK desde el primer módulo 420 de protección de claves y para almacenar [CK]SK y [AC]SK Al almacenar tanto CK como AC (que incluye el SSB), la tabla 422 de claves puede almacenar CKs que están sujetas a una reevaluación periódica de derechos de acceso y las que no lo están, dado que el SSB indicará a los módulos relevantes cómo la CK debe ser manejada.
El TEE 404 implementa además un segundo módulo 424 de protección de claves configurado para leer [CK]SK y [AC]SK de la tabla 422 de claves. Como se describirá a continuación, para forzar la reevaluación periódica de la AC, la SK es cambiada periódicamente, de tal manera que cada nueva SK necesita ser negociada y sincronizada entre los módulos 422 y 424 de protección de claves. Con este propósito, cada módulo de protección de claves, o solo uno de estos según sea apropiado, puede solicitar una nueva SK de un generador 426 de SK. El generador 426 de SK comprende un generador de números aleatorios o pseudoaleatorios para generar la SK. El generador 426 de SK comunica la nueva SK a los módulos de protección de claves una vez que se genera. En algunas realizaciones el generador 426 de SK está incorporado en uno del módulo de protección de claves y los módulos de protección de claves se comunican directamente para negociar cada nueva SK. En algunas realizaciones cada módulo de protección de claves tiene una copia del mismo generador de números predecibles y los módulos de protección de claves negocian cuándo generar una nueva SK y luego cada módulo de protección de claves genera el siguiente valor de manera independiente.
El segundo módulo 426 de protección de claves está configurado además para desencriptar la CK y AC, para extraer el SSB de la AC y para almacenar la CK y SSB en un registro 428 del deseudoaleatorizador 408. Un contador 430 de fragmentos está configurado para monitorizar una cantidad de datos descodificados por una unidad 432 de descodificación (en algunas realizaciones implementadas en el REE 402). La unidad 432 de descodificación está configurada para descodificar el contenido 406 encriptado para emitir contenido 434 de vídeo digital de "texto no cifrado" para procesamiento corriente abajo por un procesador de vídeo y visualización a un usuario del dispositivo 406 cliente) y para borrar el registro 428 cuando una cantidad predeterminada de datos ha sido descodificada, por ejemplo después de descodificar cada fragmento. En realizaciones alternativas, un cambio en IV usado en conjunto con la CK es monitorizado y usado para desencadenar el borrado del registro 428. En aún otras realizaciones, es usada una señal de reloj con este propósito. Se entenderá que el núcleo 414 de acceso condicional está adaptado en consecuencia, de tal manera que la AC es reevaluada para almacenar una nueva [CK]SK en la tabla de claves a tiempo para que el módulo de protección de claves reabastezca el registro 428 con la CK.
En algunas realizaciones, el segundo módulo 424 de protección de claves está configurado para leer [CK]SK y [AC]SK de la tabla 422 de claves en respuesta a una solicitud del deseudoaleatorizador cuando el registro 428 necesita una AC escrita o reescrita en el registro 428. En otras realizaciones, el módulo 424 de protección de claves lee [CK]SK y [AC]SK de la tabla 422 de claves en respuesta a que están almacenadas allí, por ejemplo desencadenadas por una señal del módulo 420 de protección de claves. La CK y SSB luego son insertados en el registro 428 al detectar que el registro ha sido borrado, en respuesta a una señal de contador 430 de fragmentos que indica que el registro ha sido borrado, o en respuesta a una señal del deseudoaleatorizador 408.
En algunas realizaciones, la tabla 422 de claves almacena un identificador de contenido para cada CK, identificando el contenido correspondiente con el cual está asociada la CK. Un número de implementaciones, como se ilustra en la figura 4B, son posibles entonces para almacenar CKs con diferentes niveles de protección:
• Todas las CKs son almacenadas encriptadas con la misma SK y requieren desencriptación por el segundo módulo 422 de protección de claves. Hay una SK global, lo que significa que el REE debe solicitar reciente desencriptación y reencriptación de CK con la SK actual cada vez que se debe proporcionar la CK relevante al deseudoaleatorizador 408 para desencriptar un contenido dado, independientemente de si el SSB está establecido o no. Para aquellas CK donde se establece el SSB, la CK será borrada del deseudoaleatorizador 408 al final de cada fragmento y el REE debe solicitar la desencriptación y reencriptación cada vez que empuja un nuevo fragmento al deseudoaleatorizador 408.
• Las CKs para las cuales se establecen los SSB son almacenadas encriptadas con la misma SK global que cambia periódicamente, por ejemplo en respuesta a un fragmento final como se describió anteriormente. Para estas CKs, el REE solicita la desencriptación y reencriptación de la CK cada vez que el deseudoaleatorizador 408 requiere una reciente CK (para cada nuevo fragmento, a medida que se establece el SSB). Dado que la desencriptación y reencriptación de la CK es desencadenada justo antes de que la CK necesite ser instalada en el deseudoaleatorizador 408, la SK puede cambiar globalmente debido al corto período de validez que se requiere para [CK]SK. En implementaciones donde este requisito se relaja y se requieren períodos de validez más largos para [CK]SK, tiene que ser mantenido un índice de la SK correcta para cada contenido, por ejemplo en la tabla 422 de claves. Por ejemplo, en algunas implementaciones, el cambio en la SK es logrado incrementando la SK con un contador tras la renegociación o periódicamente y es mantenido un índice del valor correcto del contador en la tabla 422 de claves para cada CK/contenido correspondiente. Las CKs para las cuales no está establecido el SSB son almacenadas en texto no cifrado.
• Como en la implementación precedente, las CKs para las cuales se establecen los SSB son almacenadas encriptadas con la misma SK global que cambia periódicamente. El cambio puede ser por renegociación o agregando un contador a la SK, como anteriormente. Las CKs para las cuales no se establece el SSB son almacenadas reencriptadas con una SK diferente que no cambia o cambia con menos frecuencia. En implementaciones donde el cambio de SK es logrado mediante un contador como se describió anteriormente, la SK diferente podría ser la SK sin el contador agregado. La SK diferente, estática podría ser alternativamente una SK separada negociada por los módulos 420 y 424 de protección de claves para CKs no SSB. En cualquier caso, la SK (o todas las SKs según pueda ser el caso) puede ser renegociada periódicamente (pero con menos frecuencia), o puede ser renegociada al arranque de dispositivo, para forzar la reevaluación de todas las claves.
• En todas estas opciones, la AC puede ser almacenada en texto no cifrado en la tabla 422 de claves de tal manera que el SSB es accesible, o la AC puede ser almacenada encriptada con, por ejemplo la SK o una versión incrementada de la misma, junto con el SSB que es almacenado por separado para ser accesible al segundo módulo 424 de protección de claves sin conocimiento de la SK (o la versión correcta de la misma). La AC puede estar firmada por un método criptográfico para protegerla contra su modificación. Por ejemplo, la AC y CK pueden ser concatenadas y el resultado encriptado con un algoritmo usando un modo de encadenamiento (por ejemplo AES en modo de CBC (Estándar de Encriptación Avanzado en modo de Encadenamiento de Bloques de Cifrado) usando, por ejemplo, SK como la clave. En otro ejemplo, la AC está firmada con un algoritmo de MAC (Código de Autentificación de Mensajes), AES CGM (Modo Galois/Contador) o AES ECC (Criptografía de Curva Elíptica).
En algunas realizaciones, el módulo 416 de evaluación de AC y módulo 418 de desencriptación de claves son implementados en un elemento 436 seguro. En algunas realizaciones, la AC, por ejemplo en la forma de un ECM, se proporciona al elemento 436 seguro por medio de una tarjeta inteligente y lector correspondiente y la evaluación del ECM y desencriptación de la CK se hace en el elemento 436 seguro. En algunas realizaciones, el primer módulo 420 de protección de claves también es implementado en el elemento 436 seguro.
Con referencia a la figura 5, ahora se describe la operación de realizaciones descritas anteriormente con referencia a la figura 4A, en caso de que el SSB se establezca de tal manera que se habilite la aplicación de período de reevaluación de la AC. En la etapa 502, es generada una SK. En la mayoría de las implementaciones descritas (véase anteriormente) es generada una SK global (y puede ser usada junto con un contador, como se describió anteriormente). En primer lugar es generada una SK en el arranque del dispositivo 106 cliente y luego puede ser renegociada periódicamente, como se describió anteriormente. En la etapa 504 es recibido un contenido multimedia encriptado y en la etapa 506 una CK y AC son recibidas y almacenadas por el núcleo 414 de acceso condicional.
En la etapa 508, el núcleo 414 de acceso condicional envía la AC para acceder al módulo 416 de evaluación y la CK al módulo 418 de desencriptación para desencadenar y la evaluación de la AC y, si la evaluación es positiva, la desencriptación de la CK. En la etapa 510, la CK desencriptada es pasada al primer módulo 420 de protección de claves para encriptar la CK con la SK y almacenar el resultado en la tabla 422 de claves. En la etapa 512, la CK es leída y desencriptada por el segundo modelo 424 de protección de claves usando la clave de sesión Sk, y el resultado es almacenado en el registro 428. Además, el segundo módulo 424 de protección de claves también almacena el SSB en el registro para indicar que está siendo aplicada la reevaluación de la AC. En respuesta a la lectura y/o almacenamiento, es negociada un nueva SK y reemplazada en los módulos 420 y 424 de protección de claves en la etapa 514. Por ejemplo, en algunas realizaciones, el segundo bloque 424 de protección de claves desencadena esta renegociación en respuesta a leer y/o almacenar la CK. En esta etapa, si la CK necesita ser colocada en el registro 428 de nuevo, el proceso de etapas 508 a 512 necesita ser repetido con el fin de almacenar la CK encriptada con la nueva SK en la tabla 422 de claves para habilitar que se desencripte y almacene en el registro 428 por el segundo módulo 428 de protección de claves.
En la etapa 516, un fragmento u otra porción predefinida (cantidad predefinida de datos, una porción entre dos cambios de IV) del flujo de datos encriptados es desencriptado por el módulo 432 de desencriptación usando CK en el registro 428 y salida para procesamiento y visualización corriente abajo. En la etapa 518 el contador 430 de fragmentos detecta que la porción predeterminada de contenido ha sido descodificada y, en respuesta a eso borra la CK del registro 428 si el SSB está presente en el registro 428, evitando de esa manera la descodificación adicional del contenido 406 a menos que la Ac se evalúe de nuevo y son repetidas las etapas subsecuentes 508 a 512 para hacer que [CK]SK encriptada con la nueva SK esté disponible para el segundo bloque 424 de protección de claves de nuevo. Por lo tanto, con el fin de continuar descodificando el contenido 406, el proceso vuelve a la etapa 508. Con este propósito, la reevaluación de la AC (y subsecuente desencriptación de la CK, si tiene éxito) es desencadenada por el núcleo 414 de acceso condicional que envía [CK]TK y AC a los módulos 416, 418 de evaluación de desencriptación y acceso, respectivamente, en respuesta a una solicitud del deseudoaleatorizador 408 o, por ejemplo, en respuesta al núcleo 414 de acceso condicional que solicita de manera independiente una reevaluación, por ejemplo con base en la monitorización de cambios de IV o una cantidad de entrada o salida de datos del deseudoaleatorizador 408.
La descripción anterior se hace en términos de un proceso cuando se habilita la reevaluación aplicada de la AC, es decir el SSB se establece en un valor que indica que esto debe estar habilitado, por ejemplo 1. En el caso de que el SSB esté establecido para deshabilitar reevaluación aplicada, por ejemplo establecer en 0, el proceso descrito anteriormente con referencia a la figura 5 es modificado ya que, en la etapa 514 son tomadas una o más de las siguientes acciones alternativas:
• el desencadenador para la renegociación de SK en el segundo módulo 424 de protección de claves es suprimido, de tal manera que SK no es renegociada en respuesta a la segunda lectura de módulo de protección de claves [CK]SK de la tabla 422 de claves (aunque la renegociación puede producirse en otros momentos);
• en la renegociación de la SK, [CK]SK es reencriptada de tal manera que permanezca accesible con la SK actual;
• es usada una SK global (que no está cambiando) para todo el contenido para el cual el SSB no está establecido/establecido en 0; es producida un nueva SK incrementando la SKen un contador cada vez que se requiere un nueva SK para el contenido para el cual el SSB está establecido/establecido en 1;
• los módulos 420, 424 de protección de claves actúan simplemente para pasar a través de una versión de texto no cifrado de CK (que involucra también una modificación de la etapa 510), que se almacena y permanece accesible en la tabla 422 de claves.
Además, adicional o alternativamente, en dependencia de la realización, el registro 428 solo es borrado en la etapa 518 si un SSB activo, por ejemplo con valor 1, es almacenado en este, como se describió anteriormente, y de otra manera retiene la CK hasta que el contenido cambie o el dispositivo 106 cliente es reiniciado.
Con referencia a la figura 6, ahora se describe una realización específica alternativa, que, en visión general, retira los módulos 420 y 424 de protección de claves y el generador 426 de SK descrito anteriormente con referencia a la figura 4, y la correspondiente renegociación periódica de SK, y en su lugar aplica la reevaluación de la AC mediante eliminación periódica de CK de la tabla 422 de claves. Sin embargo, en aún una realización adicional, la protección de claves usando SK junto con la renegociación de SK y la eliminación de CK de la tabla 422 de claves son combinadas y ambas se producen para aplicar la reevaluación periódica de la AC.
Específicamente, volviendo a la figura 6, en la cual los diversos módulos han conservado su número de referencia usado anteriormente al describir las realizaciones con referencia a la figura 4, la funcionalidad de la tabla 422 de claves ha cambiado ya que recibe y almacena la CK y SSB en texto no cifrado. La funcionalidad del deseudoaleatorizador 408 ha cambiado ya que lee la CK y SSB directamente en el registro 428 y desencadena la eliminación de CK en la tabla 422 de claves, en respuesta a eso. En algunas realizaciones la eliminación y/o su desencadenador se implementan en hardware dedicado para seguridad y resiliencia agregadas contra ataques para eludir la reevaluación periódica de AC. Los módulos 420, 424 y 426 no están presentes.
Con referencia a la figura 7, se describe ahora un proceso implementado usando la realización específica que se acaba de describir con referencia a la figura 6. El proceso es similar al proceso descrito anteriormente con referencia a la figura 5 y son usados números de referencia similares para etapas de proceso similares. La etapa 506 es omitida y las etapas 510 a 514 han sido modificadas y se denominarán como etapas 710 a 714, respectivamente. Específicamente, estas etapas son cambiadas a la luz del reemplazo de renegociación de una SK con la eliminación de una CK de texto no cifrado de la tabla 422 de claves. Describiendo, entonces, las diferencias en la figura 7, en la etapa 710, CK es almacenada en la tabla 422 de claves en texto no cifrado y leída en el registro 426 en la etapa 712. En la etapa 714, la CK es eliminada de la tabla 422 de claves en respuesta a que la CK ha sido leída en el registro 426. Se entenderá que en realizaciones que combinan los dos enfoques, el proceso descrito anteriormente con referencia a la figura 5 es modificado ya que además de las etapas de ese proceso, la eliminación aplicada de la CK de la tabla 422 de claves se produce en algún punto en el proceso.
Se entenderá que las realizaciones específicas descritas anteriormente con referencia a las figuras 4 a 7 son adecuadas en cualquier contexto en el cual se deba aplicar la reevaluación periódica de una AC, en particular si la CK correspondiente tiene un período prolongado de validez y está almacenada persistentemente en el dispositivo cliente, como es el caso en las aplicaciones OTT. La reevaluación de la AC puede basarse en condiciones locales del dispositivo 106 cliente y/o puede depender de la recepción de una señal de un servidor 102 de acceso condicional, como se discutió anteriormente. En algunas realizaciones, la AC es de tal manera que todas las condiciones excepto la recepción de señal son evaluadas solo una vez en una etapa inicial, con evaluaciones subsecuentes que solo requieren la recepción y autentificación de la señal. En algunas realizaciones, el acceso condicional está completamente bajo el control del servidor 102 y la AC en el cliente solo requiere la presencia continua de una señal autentificada y actualizada en el dispositivo cliente para proporcionar acceso continuo a la CK al deseudoaleatorizador 408.
Se le ocurrirán a una persona experta en la técnica diversas modificaciones, combinaciones y yuxtaposiciones de las características descritas anteriormente que están dentro del alcance de las reivindicaciones anexas. Para tomar unos pocos ejemplos, el SSB puede ser recibido y/o almacenado de manera independiente y/o separada de la AC, en cuyo caso la AC no es almacenada en la tabla de claves en algunas realizaciones. El deseudoaleatorizador puede ser implementado completamente ya sea en el TEE o en el REE, en lugar de estar montado sobre los dos. De hecho, todos los módulos descritos pueden ser implementados ya sea en el TEE o en el REE dependiendo del nivel de seguridad requerido. Cuando la AC permanece asociada con el SSB, en las realizaciones relevantes puede estar almacenada encriptada o en texto no cifrado en el segundo módulo de protección de clave, o puede ser descartada con solo el SSB almacenado en el segundo módulo de protección de claves. De hecho, la AC y/o SSB pueden ser almacenados en otro lugar accesible al segundo módulo de protección de claves. De manera más general, donde se hace referencia anteriormente a la ubicación de almacenamiento de una cantidad particular, esto debe entenderse como una conexión lógica de accesibilidad, en lugar de una ubicación física, en algunas realizaciones.
De manera similar, aunque ha sido descrita anteriormente una forma específica de coordinar la negociación de la SK entre los módulos de protección de claves y el generador de SK, se entenderá, que hay muchas posibilidades para implementar esto, incluyendo comunicación directa entre estos módulos además o en lugar de la comunicación con el generador de SK. Adicionalmente, en realizaciones descritas anteriormente, el registro del deseudoaleatorizador que contiene la CK es borrado periódicamente. Esto proporciona una granularidad arbitraria en la aplicación de la reevaluación de la AC y/o la recepción de una señal al establecer la periodicidad en consecuencia. En realizaciones alternativas que proporcionan menos control sobre la granularidad de aplicación de la reevaluación de la AC y/o la recepción de una señal, el contenido de registro solo es sobrescrito/cambiado cuando el contenido que va a ser deseudoaleatorizado cambia o el dispositivo es apagado, en cuyo caso la reevaluación de la AC solo puede ser garantizada en el arranque de dispositivo o cuando se inicia a deseudoaleatorizar contenido nuevo.
En general, se entenderá que aunque las realizaciones descritas son divulgadas en diferentes agrupaciones y módulos, algunas realizaciones reflejan las agrupaciones descritas en términos de implementación física, posiblemente con la implementación en hardware dedicado de algunas o todas de las agrupaciones y módulos, mientras que otras realizaciones reagrupan las funcionalidades descritas en diferentes disposiciones físicas y los módulos y agrupaciones descritos deben entenderse como agrupaciones lógicas con el propósito de claridad de explicación de las funciones asociadas, en vez de con el propósito de limitación. De este modo las funciones descritas pueden ser agrupadas de manera diferente en agrupaciones lógicas o físicas. Ya sea que pertenezcan al REE o al TEE, las funciones descritas pueden ser implementadas en uno o más de software, firmware, middleware o hardware de acuerdo con diversas realizaciones.
Se entenderá que la descripción anterior ha sido hecha con el propósito de explicación de diversas realizaciones y las técnicas divulgadas y no con el propósito de limitación del alcance de las reivindicaciones anexas.

Claims (13)

REIVINDICACIONES
1. Un dispositivo (106) para desencriptar contenido multimedia encriptado, comprendiendo el dispositivo un entorno de procesamiento configurado para:
recibir y almacenar una clave de contenido encriptada para desencriptar contenido multimedia encriptado; evaluar una condición de acceso y, si se cumple la condición de acceso, desencriptar la clave de contenido y habilitar que un deseudoaleatorizador use la clave de contenido para desencriptar el contenido multimedia encriptado; recibir el contenido multimedia encriptado y desencriptar el contenido multimedia encriptado usando la clave de contenido; y
reevaluar dentro de un intervalo si el uso de la clave de contenido debe permanecer habilitado, caracterizado porque el entorno de procesamiento está configurado además para:
si la reevaluación es negativa, evitar que el deseudoaleatorizador use la clave de contenido después de que haya pasado el intervalo en respuesta a la reevaluación a pesar de que la clave de contenido permanezca válida, y porque la condición de acceso comprende una condición de que ha sido recibida una señal que indica que el acceso está autorizado antes de expiración del intervalo.
2. Un dispositivo como se reivindica en la reivindicación 1 comprendiendo el dispositivo una interfaz (108) de comunicación para conectar el dispositivo a una red de comunicaciones, en donde la señal es recibida desde una ubicación remota sobre la red de comunicaciones y la reevaluación comprende autentificar la señal.
3. Un dispositivo como se reivindica en la reivindicación 1 o reivindicación 2, en donde la reevaluación comprende comparar la señal recibida con una señal esperada y evaluar la condición de acceso como cumplida sólo si la señal recibida coincide con la señal esperada.
4. Un dispositivo como se reivindica en una cualquiera de las reivindicaciones 1 a 3, en donde el entorno de procesamiento está configurado para reencriptar la clave de contenido desencriptada con una clave de sesión después de desencriptarla y para almacenar la clave de contenido reencriptada para acceso por el deseudoaleatorizador, en donde
habilitar que el deseudoaleatorizador use la clave de contenido incluye desencriptar la clave de contenido encriptada con la clave de sesión usando la clave de sesión; y en donde
evitar que el deseudoaleatorizador use la clave de contenido desencriptada comprende cambiar la clave de sesión sin reencriptar la clave de contenido.
5. Un dispositivo como se reivindica en la reivindicación 4, en donde el uso por el deseudoaleatorizador de la clave de contenido comprende almacenar la clave de contenido en un registro del deseudoaleatorizador y evitar que el deseudoaleatorizador use la clave de contenido desencriptada comprende borrar la clave de contenido desencriptada del registro y cambiar la clave de sesión en respuesta al almacenamiento de la clave de contenido desencriptada en el registro.
6. Un dispositivo como se reivindica en una cualquiera de las reivindicaciones 1 a 4, en donde el uso por el deseudoaleatorizador de la clave de contenido comprende almacenar la clave de contenido en un registro del deseudoaleatorizador y evitar que el deseudoaleatorizador use la clave de contenido desencriptada comprende borrar la clave de contenido desencriptada del registro.
7. Un dispositivo como se reivindica en una cualquiera de las reivindicaciones 1 a 6, en donde el entorno de procesamiento está configurado para detectar la expiración del intervalo monitorizando al menos uno del grupo de: una cantidad de datos que han sido desencriptados por el deseudoaleatorizador;
un cambio en un vector de inicialización recibido para desencriptar el contenido multimedia en conjunto con la clave de contenido; y
una señal de reloj.
8. Un dispositivo como se reivindica en una cualquiera de las reivindicaciones 1 a 7, comprendiendo el entorno de procesamiento un entorno de ejecución de confianza configurado para implementar al menos uno de evaluar, reevaluar, evitar, autentificar, comparar, cambiar, eliminar, borrar y detectar, según pueda ser el caso.
9. Un dispositivo como se reivindica en cualquier reivindicación precedente, estando el entorno de procesamiento configurado para:
(a) recibir el contenido multimedia encriptado;
(b) recibir y almacenar la clave de contenido encriptada para desencriptar el contenido multimedia encriptado;
(c) evaluar la condición de acceso y, si se cumple la condición de acceso, desencriptar la clave de contenido encriptada;
(d) almacenar la clave de contenido en una tabla de claves accesible para un deseudoaleatorizador
(e) acceder a la clave de contenido en la tabla de claves y cargar la clave de contenido en un registro del deseudoaleatorizador para desencriptar el contenido multimedia asociado con la clave de contenido;
(f) evitar carga adicional de la clave de contenido desde la tabla de claves al registro;
(g) desencriptar una porción del contenido multimedia encriptado con la clave de contenido en el registro usando el deseudoaleatorizador, en donde el intervalo corresponde al tiempo que toma desencriptar la porción;
(h) en respuesta a la detección de que la porción ha sido desencriptada, borrar la clave de contenido del registro; y (i) repetir etapas (c) a (h) para desencriptar una porción siguiente del contenido multimedia encriptado adyacente a la porción del contenido multimedia encriptado.
10. Un dispositivo como se reivindica en la reivindicación 9, en donde se evita la carga adicional en respuesta a la carga de la clave de contenido almacenada.
11. Un dispositivo como se reivindica en una cualquiera de las reivindicaciones 9 o reivindicación 10, comprendiendo el dispositivo un entorno (112, 404) de ejecución de confianza configurado para implementar al menos en parte etapas (c) a (i) y un entorno (110, 402) de ejecución enriquecido configurado para proporcionar la clave de contenido encriptada al entorno de ejecución de confianza a tiempo para que sea desencriptada la siguiente porción.
12. Un dispositivo como se reivindica en una cualquiera de las reivindicaciones 9 a 11, estando el entorno de procesamiento configurado para, antes de la etapa (d), generar una clave de sesión para uso tanto por una unidad de encriptación de clave como por una unidad de desencriptación de clave y para reencriptar la clave de contenido desencriptada con la clave de sesión usando la unidad de encriptación de clave,
en donde almacenar la clave de contenido en la tabla de claves comprende almacenar la clave de contenido reencriptada con la clave de sesión en la tabla de claves,
en donde cargar la clave de contenido en el registro comprende desencriptar la clave de contenido reencriptada almacenada con la clave de sesión usando la unidad de desencriptación de clave y almacenar la clave de contenido desencriptada en el registro, y
en donde evitar carga adicional de la clave de contenido comprende reemplazar la clave de sesión con una nueva clave de sesión sin reencriptar la clave de contenido, evitando de esa manera la desencriptación válida de la clave de contenido almacenada en la tabla de claves de contenido por la unidad de desencriptación de clave.
13. Un dispositivo como se reivindica en una cualquiera de las reivindicaciones 9 a 12, en donde la detección de que la porción ha sido desencriptada comprende uno o más de:
detectar que ha sido desencriptada una cantidad predeterminada de datos;
detectar un cambio en un vector de inicialización recibido para uso con la clave de contenido para desencriptar el contenido multimedia; y
detectar un cambio predeterminado en una señal de reloj.
ES16734292T 2015-06-29 2016-06-29 Protección de contenido Active ES2862159T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP15174332.5A EP3113501A1 (en) 2015-06-29 2015-06-29 Content protection
PCT/EP2016/065129 WO2017001467A1 (en) 2015-06-29 2016-06-29 Content protection

Publications (1)

Publication Number Publication Date
ES2862159T3 true ES2862159T3 (es) 2021-10-07

Family

ID=53723990

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16734292T Active ES2862159T3 (es) 2015-06-29 2016-06-29 Protección de contenido

Country Status (7)

Country Link
US (4) US10931983B2 (es)
EP (3) EP3113501A1 (es)
CN (1) CN107925795B (es)
BR (1) BR112017028545A2 (es)
ES (1) ES2862159T3 (es)
MX (1) MX2018000268A (es)
WO (1) WO2017001467A1 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108933660A (zh) * 2017-05-26 2018-12-04 展讯通信(上海)有限公司 基于hdcp的数字内容保护系统
EP3468164A1 (en) * 2017-10-06 2019-04-10 Nagravision S.A. A method for delivering digital content to at least one client device
US10872144B1 (en) * 2017-12-07 2020-12-22 Ent. Services Development Corporation Lp Systems and methods for secure processing of data streams having differing security level classifications
US11093604B2 (en) * 2018-07-27 2021-08-17 BicDroid Inc. Personalized and cryptographically secure access control in trusted execution environment
CN110034924B (zh) * 2018-12-12 2022-05-13 创新先进技术有限公司 一种数据处理方法和装置
CN109922056B (zh) * 2019-02-26 2021-09-10 创新先进技术有限公司 数据安全处理方法及其终端、服务器
DE102019209887A1 (de) * 2019-07-04 2021-01-07 BSH Hausgeräte GmbH System und Verfahren zur Speicherung eines zu schützenden Datensatzes
US11436343B2 (en) * 2019-12-31 2022-09-06 Arm Limited Device, system, and method of policy enforcement for rich execution environment

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7305548B2 (en) * 2001-10-22 2007-12-04 Microsoft Corporation Using atomic messaging to increase the security of transferring data across a network
US7200868B2 (en) * 2002-09-12 2007-04-03 Scientific-Atlanta, Inc. Apparatus for encryption key management
US7724907B2 (en) * 2002-11-05 2010-05-25 Sony Corporation Mechanism for protecting the transfer of digital content
US20040128259A1 (en) * 2002-12-31 2004-07-01 Blakeley Douglas Burnette Method for ensuring privacy in electronic transactions with session key blocks
US8023958B2 (en) * 2003-03-05 2011-09-20 Qualcomm Incorporated User plane-based location services (LCS) system, method and apparatus
US7398544B2 (en) * 2003-05-12 2008-07-08 Sony Corporation Configurable cableCARD
US7620180B2 (en) * 2003-11-03 2009-11-17 Sony Corporation Preparation of content for multiple conditional access methods in video on demand
US20050154889A1 (en) * 2004-01-08 2005-07-14 International Business Machines Corporation Method and system for a flexible lightweight public-key-based mechanism for the GSS protocol
US20070172067A1 (en) 2004-02-12 2007-07-26 Koninklijke Philips Electronics N.V. System for selective data transmission
EP1594316A1 (en) * 2004-05-03 2005-11-09 Thomson Licensing Certificate validity checking
US7602914B2 (en) * 2004-08-18 2009-10-13 Scientific-Atlanta, Inc. Utilization of encrypted hard drive content by one DVR set-top box when recorded by another
JP2008034891A (ja) * 2004-11-24 2008-02-14 Matsushita Electric Ind Co Ltd 暗号化コンテンツ再生装置、暗号化コンテンツ再生方法およびそのプログラムを記録した記録媒体
US8577041B2 (en) * 2005-02-07 2013-11-05 Arris Enterprises, Inc. Method for securely distributing configuration information to a device
KR20070082405A (ko) * 2006-02-16 2007-08-21 삼성전자주식회사 암호화 데이터 재생 장치 및 암호화 데이터 재생 시스템
US7840809B2 (en) * 2006-02-24 2010-11-23 Cisco Technology, Inc. Method and system for secure transmission of an encrypted media stream across a network
US20090199287A1 (en) * 2007-06-26 2009-08-06 Luc Vantalon Systems and methods for conditional access and digital rights management
US20100161975A1 (en) * 2008-12-19 2010-06-24 Vixs Systems, Inc. Processing system with application security and methods for use therewith
CN101771533B (zh) * 2008-12-30 2012-10-31 上海华虹集成电路有限责任公司 基于线性反馈移位寄存器的序列流密码算法硬件实现方法
US8312272B1 (en) * 2009-06-26 2012-11-13 Symantec Corporation Secure authentication token management
US9043827B1 (en) * 2009-12-16 2015-05-26 Prime Research Alliance E, Inc. Method and system for providing conditional access to encrypted content
CN102752107B (zh) * 2011-04-19 2015-04-29 中国科学院微电子研究所 实现rc4加/解密的装置及其方法
US8577334B1 (en) * 2011-06-16 2013-11-05 Sprint Communications Company L.P. Restricted testing access for electronic device
FR2980607B1 (fr) * 2011-09-27 2014-04-25 Proton World Int Nv Procede de derivation de cles dans un circuit integre
EP2797335A1 (en) * 2013-04-26 2014-10-29 Nagravision S.A. Method to watermark a compressed content encrypted by at least one content key
EP2827601A1 (fr) * 2013-07-19 2015-01-21 Nagravision S.A. Méthode et dispositif pour la protection des clés de déchiffrement d'un décodeur

Also Published As

Publication number Publication date
CN107925795B (zh) 2021-02-19
US10931983B2 (en) 2021-02-23
EP3113501A1 (en) 2017-01-04
EP3314902B1 (en) 2021-03-10
EP3314902A1 (en) 2018-05-02
US20210168413A1 (en) 2021-06-03
MX2018000268A (es) 2018-05-22
US11671637B2 (en) 2023-06-06
BR112017028545A2 (pt) 2018-08-28
US20230353799A1 (en) 2023-11-02
US20240267575A1 (en) 2024-08-08
US11943491B2 (en) 2024-03-26
US20190052916A1 (en) 2019-02-14
EP3849203A1 (en) 2021-07-14
CN107925795A (zh) 2018-04-17
WO2017001467A1 (en) 2017-01-05
EP3849203B1 (en) 2022-06-01

Similar Documents

Publication Publication Date Title
ES2862159T3 (es) Protección de contenido
US8826037B2 (en) Method for decrypting an encrypted instruction and system thereof
US7278165B2 (en) Method and system for implementing digital rights management
US7933838B2 (en) Apparatus for secure digital content distribution and methods therefor
RU2547228C1 (ru) Способ для защиты записанного мультимедийного содержания
US7650312B2 (en) Method and system to enable continuous monitoring of integrity and validity of a digital content
CN108432178B (zh) 用于保护存储介质中多媒体内容记录安全的方法
KR100867033B1 (ko) 제어 워드를 사용하여 암호화된 서비스로 선택적으로액세스를 공급하기 위한 장치 및 방법과 스마트 카드
CN109690537B (zh) 用于解密和呈现内容的系统
US8417937B2 (en) System and method for securely transfering content from set-top box to personal media player
JP2014081613A (ja) セッション状態情報の暗号化および復号化方法
EP3317798B1 (en) Decrypting and decoding media assets through a secure data path
US7975141B2 (en) Method of sharing bus key and apparatus therefor
KR101424971B1 (ko) Ums 기기의 컨텐츠를 시간 정보를 이용하여 보호하는방법 및 이를 위한 장치
CN103532712B (zh) 数字媒体文件保护方法、系统及客户端
US10411900B2 (en) Control word protection method for conditional access system
KR20090045769A (ko) Cas에 대한 시큐리티 장치 및 방법 그리고 stb
EP2667315A1 (en) Encrypted digital content player
KR20100015081A (ko) 디지털 컨텐츠 보호 장치 및 방법
JP2007036380A (ja) 受信装置、casモジュール、配信方法
KR20080013218A (ko) 주문형 비디오 서비스를 위한 고화질 멀티미디어인터페이스 방법
MXPA06011034A (es) Metodo y aparato para adquirir y eliminar informacion referente a objetos de derechos digitales