MXPA03004890A - Metodos, sistemas y arquitecturas de trayectos seguros de medios. - Google Patents

Metodos, sistemas y arquitecturas de trayectos seguros de medios.

Info

Publication number
MXPA03004890A
MXPA03004890A MXPA03004890A MXPA03004890A MXPA03004890A MX PA03004890 A MXPA03004890 A MX PA03004890A MX PA03004890 A MXPA03004890 A MX PA03004890A MX PA03004890 A MXPA03004890 A MX PA03004890A MX PA03004890 A MXPA03004890 A MX PA03004890A
Authority
MX
Mexico
Prior art keywords
components
authenticator
data
authenticators
cryptically
Prior art date
Application number
MXPA03004890A
Other languages
English (en)
Inventor
Bradstreet John
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA03004890A publication Critical patent/MXPA03004890A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1063Personalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4353Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
    • 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/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/4408Processing 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 encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Se describen metodos, sistemas y arquitecturas para procesar contenido digital representable. Las distintas modalidades pueden proteger contra el acceso o duplicacion no autorizados del contenido no protegido (es decir, contenido no codificado cripticamente) en cuanto el contenido ha llegado a un dispositivo de representacion tal como la computadora de un usuario. Un marco de referencia flexible incluye una arquitectura que permite que fuentes de medios generales proporcionen virtualmente cualquier tipo de contenido multimedia a cualquier dispositivo de representacion configurado. El contenido puede estar protegido y ser representado localmente y/o a traves de redes tales como la Internet. La arquitectura de la invencion puede permitir que terceros escriban componentes y que los componentes se incorporen con seguridad y flexibilidad en una cadena de procesamiento. Los componentes pueden ser verificados por uno o mas autentificadores que se crean y luego se usan para recorrer la cadena de componentes para verificar que los componentes son confiables. Las distintas modalidades pueden de esta manera proporcionar una plataforma estandar que puede ser apalancada para proteger el contenido a traves de una amplia variedad de ambientes de representacion, tipos de contenido, y tecnicas de Administracion de Derechos Digitales (DRM).

Description

METODOS, SISTEMAS Y ARQUITECTURAS DE TRAYECTOS SEGUROS DE MEDIOS Campo Técnico Esta invención se refiere a métodos y sistemas para procesar datos digitales representables, tales como datos de video, datos de audio / video, y similares. En particular, la invención se refiere a métodos y sistemas para proteger datos digitales .
Antecedentes Proteger la propiedad del contenido digital, tal como el contenido multimedia y similares, y los derechos de uso de los usuarios autorizados de este contenido, en años recientes, se ha vuelto muy importante. La importancia de proteger este contenido inevitablemente continuará creciendo conforme el contenido se distribuye más fácilmente, particularmente en el ambiente de redes de computación tal como la Internet. Hay muchos escenarios que se pueden beneficiar y thrive de las técnicas de protección de contenido. Por ejemplo, los proveedores de contenido de cine fácilmente pueden vender el contenido directamente a los individuos cuando se asegura que su contenido será protegido. Adicionalmente, los usuarios pueden más fácilmente y convenientemente recibir contenido de servicios de estilo de suscripción (tales como proveedores de cable, satélite digital de pago por ver, y similares) . Además, los usuarios pueden almacenar y reproducir contenido a una fecha posterior o hacer copias para ellos mismos, mientras se asegura todavía que los derechos de propietario del contenido todavía se mantienen. Adicionalmente los usurarios pueden crear su propio contenido y saber que pueden restringir quién puede verlo. Por ejemplo, un usuario podría exhibir de manera privada videos caseros a un sitio web y solamente permitir que otros miembros de la familia los vean durante un periodo de tiempo límite. Cuando se proporciona contenido a un dispositivo y se representa para un usuario, se requiere una arquitectura bien definida (tanto con componentes de software como de hardware) para coordinar la representación y para asegurar que los derechos digitales se protegen y mantienen. Frecuentemente el contenido protegido es transferido a un dispositivo del usuario (por ejemplo, un dispositivo de computación, una caja descodificadora y similar) desde una fuente de contenidos tal como un servidor web de video o hasta de una unidad de disco duro local. El contenido típicamente se puede codificar o comprimir y codificar crípticamente en la fuente del contenido. Posteriormente, el dispositivo del usuario descodifica crípticamente el contenido, lo descomprime, y exhibe o de otro modo representa el contenido para el usuario en, por ejemplo, un monitor y/o altavoces . El contenido se protege típicamente usando técnicas de administración de derechos digitales (DRM) gue continúan desarrollándose y evolucionando. Las técnicas de DRM típicamente utilizan software que permite la distribución segura y, tal vez más importantemente, deshabilita la distribución ilegal de contenido pagado sobre una red tal como la Web. Los esfuerzos actuales del DRM se han enfocado principalmente en asegurar el contenido de audio. Sin embargo, conforme la anchura de banda de las redes crece, la distribución de video directamente a usuarios finales se vuelve técnicamente eficiente y factible. El contenido digital valioso también se está volviendo cada vez más disponible a través de otras fuentes como TV digital, cable digital u otros medios digitales. En el futuro, tendrán que existir arquitecturas para habilitar a un usuario a experimentar el contenido digital que resista el engaño y el acceso no autorizado tanto por usuarios como por entidades adversarias. Al mismo tiempo las arquitecturas deberán ser suficientemente flexibles para otorgar acceso legítimo a cualquier componente confiable, deberán permitir que nuevas aplicaciones, componentes de software y dispositivos de hardware sean usados con contenido protegido, trabajar con una variedad de diferentes tipos de medios, y proporcionar algún mecanismo para autentificar y reproducir el contenido en dispositivos de hardware remotos tales como PDAs de mano, reproducir en altavoces digitales remotas, y similares. Las arquitecturas también necesitan ser flexibles y abstraerse lo suficiente de manera que solamente se requieran las capas de infraestructura inferiores para ser confiables, mediante lo cual se permite que las aplicaciones no confiables presenten contenido protegido sin conocimiento de que está protegido. De conformidad con lo anterior, esta invención planea preocupaciones asociadas con proporcionar métodos y sistemas para procesar datos digitales representables de una manera que proporciona un grado deseable de seguridad flexible .
Compendio Se describen métodos, sistemas y arquitecturas para procesar contenido digital reproducible . Las distintas modalidades pueden proteger contra acceso no autorizado o duplicación de contenido no protegido (es decir, contenido descodificado crípticamente) en cuanto el contenido ha alcanzado un dispositivo de representación tal como la computadora de un usuario. Un marco de referencia flexible incluye una arquitectura que permite que fuentes de medios generales proporcionan virtualmente cualquier tipo de contenido de multimedia a cualquier dispositivo de representación configurado convenientemente. El contenido se puede proteger y representar localmente y/o a través de las redes tales como la Internet. La arquitectura de la invención puede permitir que terceras partes escriban componentes y que los componentes sean incorporadas seguramente y flexiblemente en una cadena de procesamiento. Los componentes pueden ser verificados por uno o más autentificadores que son creados y luego usados para recorrer la cadena de componentes para verificar que los componentes son confiables. Las distintas modalidades entonces pueden proporcionar una plataforma estándar que puede ser apalancada para proteger el contenido a través de una amplia variedad de ambientes de representación, tipos de contenido, y técnicas de administración de derechos digitales .
Bnv Deacripción dm loa Dibujos La Figura 1 es un diagrama en bloques de alto nivel de un sistema dentro del cual se pueden implementar varios principios de la invención. La figura 2 es un diagrama en bloques de un ambiente de computación ejemplar dentro del cual se pueden implementar principios de las modalidades descritas. La Figura 3 es un diagrama en bloques que ilustra un sistema ejemplar que puede ser utilizado para implementar uno o más de las modalidades. La Figura 3a es un diagrama de flujo que ilustra pasos en un método de acuerdo con una modalidad. La Figura 4 es un diagrama en bloques que ilustra un sistema ejemplar que puede ser utilizado para implementar una o más de las modalidades. La Figura 5 es un diagrama en bloques que ilustra aspectos de un diseño de autentificación de acuerdo con una modalidad. La Figura 6 es un diagrama en bloques que ilustra un sistema ejemplar que puede ser utilizado para implementar una o más de las modalidades en conexión con un ambiente de red . La Figura 7 es un diagrama en bloques que ilustra un sistema ejemplar que puede ser utilizado para implementar una o más modalidades en conexión con un ambiente de red.
Descripción Detallada Vista General Los métodos, sistemas y arquitecturas descritas más adelante se dirigen a proporcionar un trayecto de medios protegido desde alguna fuente de contenido protegido (por ejemplo, un servidor de administración de derechos digitales, un servidor de DVD (usualmente una unidad de disco DVD) , un servidor HDTV (usualmente una difusión de estación a una tarjeta de sintonizador en una computadora personal (PC) o cualquier tipo de servidor de contenido a y hacia un dispositivo (incluyendo el software y el hardware del dispositivo que puede representar o de otra manera reproducir el contenido protegido para un usuario. Como un ejemplo, consideremos la Figura 1. Aquí, un sistema 100 incluye varios tipos diferentes de fuentes o proveedores de contenido protegido tal como el servidor de DVD 102, un servidor de contenido 104 8tal como uno que pueda proporcionar contenido de audio, contenido de audio / video, y similares) , un servidor de HDTV 106, y un disco duro local 116, para nombrar solo algunos. Los proveedores de contenido se configuran para proporcionar su contenido sobre varios medios que incluyen redes tales como las redes 108k, 110, 112, 118, las barras colectoras (tales como las barras colectoras PCI y AGP) y similares. El contenido típicamente se proporciona a algún tipo de dispositivo que presenta el contenido a un usuario. Dispositivos de ejemplo incluyen, sin limitación, una computadora personal 114, una PC de mano 120, la televisión 122 con, por ejemplo, una caja descodificadora 124, y similares. En la discusión que aparece más adelante, el hardware seleccionado para este contenido es, en una modalidad, una computadora personal local con una tarjeta de video protegido en ella, y en otras modalidades, un dispositivo de mano remoto tal como una computadora de mano. Se apreciará y entenderá que estos ejemplos pretenden ilustrar solo algunos ambientes ejemplares en los cuales los principios de la invención descritos en la presente se pueden emplear. De conformidad con lo anterior, otros tipos de dispositivo s se pueden emplear sin apartarse del espíritu y alcance de la materia objeto reclamada. Los métodos, sistemas y arquitectu4as descritos más adelante se pueden dirigir a manejar diferentes tipos de formatos de contenido, muchos de los cuales pueden tener características específicas de administración de derechos digitales las cuales pueden incluir, en muchos casos, su propia administración de derechos y codificación críptica. Esto puede aumentar en gran medida la flexibilidad y robustez con cual el contenido puede ser protegido. De conformidad con lo anterior, tener una arquitectura flexible puede evitar una situación donde todo le contenido se debe atar necesariamente a un tipo particular de formato administración de derechos digitales. Por lo tanto, en una o más modalidades escritas en la presente, una característica ventajosa de la arquitectura es que terceros pueden escribir y proporcionar módulos traductores que pueden ser importados a la arquitectura, y luego usarse para mapear en un sistema de administración de derechos y codificación críptica común que puede asegurar que los componentes de la arquitectura son confiables y verificables . Además, las modalidades descritas más adelante pueden incorporar una o más de las siguientes características y/o ventajas. Se proporciona un mecanismo autentificador y se puede generalizar en un algoritmo recursivo que sigue el flujo de datos. En algunas modalidades, se proporciona un autentificador inicial y comienza autentificando la cadena de componentes que manejarán datos protegidos. Se puede crear autentificadores adicionales a lo largo de la cadena y se puede establecer un canal seguro a través del cual se puedan comunicar. Los autentificadores no necesitan inicialmente tener conocimiento de la estructura de la gráfica de datos con el fin de realizar sus deberes de autentificación . Varias modalidades pueden hacer uso de listas de revocación que pueden evitar el uso de componentes conocidos que han sido comprometidos. Además, en algunas modalidades, es posible la autentificación directa del hardware y la codificación críptica para dispositivos de hardware. Se pueden configurar varias modalidades para trabajar con aplicaciones no confiables. En este caso, se pueden proteger los datos de la aplicación con confiable, y todavía pueden ser procesados por la cadena de componentes por componentes confiables y verificados. A las aplicaciones autorizadas, tales como las que son confiables, se les puede otorgar acceso a los datos. Esto es útil para permitir que las aplicaciones manipulen datos como para realizar visualizaciones o modificaciones a los datos. Se pueden implementar varias modalidades en conexión con dispositivos remotos que pueden representar datos sobre varias barras colectoras, redes y similares, con soporte completo de autentificación y codificación críptica. Esto permite que un anfitrión realice la mayor parte del preprocesamiento y control de interfases de manera que el dispositivo remoto (por ejemplo, un PDA) pueda simplemente exhibir los datos. Adicionalmente, varias modalidades pueden procesar contenido protegido de una variedad de fuentes . Esto es, el contenido protegido puede ser producido tanto por dispositivos locales (por ejemplo, unidad de DVLD, cámaras de video, sintonizadores de TV, cable digital) como fuentes remotas (tales como una web o servidor de video) . Además las cadenas de procesamiento de datos se pueden reutilizar dentro de otras cadenas de procesamiento de datos. Por ejemplo, casi todos los componentes usados para reproducir audio seguro pueden ser reutilizados para proteger la pista de audio de un videoclip . Estas y otras ventajas serán aparentes a la luz de la discusión que sigue.
Las modalidades pueden procesar cualquier flujo de datos y no están limitadas a solamente datos de video o de audio. De este modo, las modalidades se pueden usar para proteger otros formatos de datos.
Ejmplo de Siatina, da Computación La Figura 2 ilustra un ejemplo de un ambiente de computación conveniente 200 sobre el cual se pueden implementar el sistema y los métodos relacionados descritos más adelante. Se apreciará que el ambiente de computación 200 es solamente un ejemplo de un ambiente de computación conveniente y no pretende sugerir ninguna limitación en cuanto al alcance de uso o funcionalidad del sistema de procesamiento de medios. Ni el ambiente de computación 200 deberá interpretarse como que tiene alguna dependencia o requerimiento relacionado con alguno o una combinación de los componentes ilustrados en el ambiente de computación de ejemplo 200. Las distintas modalidades descritas pueden ser operativas con numerosos otros ambientes o configuraciones de sistemas de computación de propósitos generales o propósito especial. Ejemplos de sistemas, ambientes y/o configuraciones de computación muy conocidos que pueden ser convenientes para su uso con el sistema de procesamiento de medios incluyen, pero no se limitan a, computadoras personales, computadoras de servidor, clientes delgados, clientes gruesos, dispositivos manuales o laptop, sistemas de microprocesador, sistemas basados en microprocesadores, cajas descodificadoras , aparatos electrónicos de consumidor programables, computadoras personales en red, minicomputadoras, computadoras centrales, ambientes de computación distribuida que incluyen cualquier de los sistemas o dispositivos anteriores, y similares. En ciertas implementaciones, el sistema y los métodos relacionados pueden describirse muy bien en el contexto general de instrucciones ejecutables por computadora, tales como módulos de programas, siendo ejecutados por una computadora. Generalmente, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etcétera, que realizan tareas particulares o implementan tipos e datos abstractos particulares. Las modalidades pueden también practicarse en ambientes de computación distribuida en donde las tareas son realizadas por dispositivos de procesamiento remoto que están vinculados a través de una red de comunicaciones. En un ambiente de computación distribuida, los módulos de programa se pueden localizar tanto en medios de almacenamiento locales como remotos incluyendo dispositivos de almacenamiento de memoria .
De acuerdo con la modalidad de ejemplo ilustrada de la Figura 2, se muestra el sistema de computación 200 que comprende uno o más procesadores o unidades de procesamiento 202, una memoria del sistema 204, y una barra colectora 206 que acopla varios componentes del sistema incluyendo la memoria del sistema 204 al procesador 202. La barra colectora 206 pretende representar una o más de cualquiera de varios tipos de estructuras de barras colectoras, incluyendo una barra colectora de memoria o controlador de memoria, una barra colectora de memoria o controlador de memoria, una barra colectora (bus) periférica, y una barra colectora (bus) local que utilice cualquiera de una variedad de arquitecturas de barras colectoras (bus) . A manera de ejemplo, y no de limitación, estas arquitecturas incluyen la barra colectora (bus) de Arquitectura de Norma Industrial (ISA), la barra colectora (bus) de Arquitectura de Micro-Canal (MCA), la barra colectora (bus) ISA Mejorada (EISA) , la barra colectora (bus) local de la Asociación de Normas Electrónicas de Video (VESA) , y la barra colectora (bus) de Interconexión de Componentes Periféricos (PCI) (también conocida como barra colectora (bus) Mezanine) . La computadora 200 típicamente incluye una variedad de medios legibles por computadora. Estos medios pueden ser cualquier medio disponible que sea localmente y/o remotamente accesible por la computadora 200, e incluye tanto medios volátiles como no volátiles, medios removibles como no removióles . En la Figura 2, la memoria del sistema 204 incluye el medio legible por computador en forma volátil, tal como memoria de acceso aleatorio (RAM) 210, y/o memoria no volátil, tal como memoria de sólo lectura (ROM) 208. Un sistema básico de entrada/salida (BIOS212, que contiene las rutinas básicas que ayudan a transferir información entre elementos dentro de la computadora 200, tal como durante el arranque, se almacenan en la memoria de solo lectura 208. La RAM 210 típicamente contiene datos y/o módulos de programa que son inmediatamente accesibles a y/o actualmente son operados por la(s) unidad (es) de procesamiento 202. La computadora 200 puede además incluir otros medios de almacenamiento en computadora removibles /no removibles, volátiles/no volátiles. A manera de ejemplo solamente, la Figura 2 ilustra una unidad de disco duro 228 para leer desde y escribir a un medio magnético no removible, no volátil, (no mostrado y típicamente llamado una "unidad de disco duro") , una unidad de disco magnético 230 para leer desde y escribir hacia un disco magnético removible, no volátil 232 (por ejemplo, un "disco flexible"), y una unidad de disco óptico 234 para leer desde o escribir hacia un disco óptico removible, no volátil 236 tal como un CD-ROM, DVD-ROM u otros medios ópticos. La unidad de disco duro 228, la unidad de disco magnético 230 , y la unidad de disco óptico 234 está cada una conectada a la barra colectora 206 por una o más interfases 226. Las unidades y sus medios legibles por computadora asociados proporcionan almacenamiento no volátil de instrucciones legibles por computadora, estructuras de datos, módulos de programa, y otros datos para la computadora 200. Aunque el ambiente de ejemplo descrito en la presente emplea un disco duro 228, un disco magnético removible 232 y un disco óptico removible 236, deberá apreciarse por los expertos en la técnica que otros tipos de medios legibles por computadora pueden almacenar datos que son accesibles por una computadora, tales como casetes magnéticos, tarjetas de memoria instantánea, discos de video digital, memorias de acceso aleatorio (RAMs), memorias de sólo lectura (ROM), y similares, también se puede usar en el ambiente de operación de ejemplo. Varios módulos de programa se pueden almacenar en el disco duro 228, disco magnético 232, el disco óptico 236, la ROM 208, o la RAM 210, incluyendo, a manera de ejemplo, u no limitación, un sistema operativo 214, uno o más programas de aplicaciones 216 (por ejemplo, el programa de aplicación multimedia 224), otros módulos de programas 218, y datos de programa 220. Un usuario puede introducir comandos e información en la computadora 200 a través de los dispositivos de entrada tales como el teclado 238 y el dispositivo de señalamiento 240 (tal como un j "ratón") . Otros dispositivos de entrada pueden incluir un dispositivo de entrada de audio/video 253, un micrófono, joystick, teclado de juegos, platillo de satélite, escáner, o similares. Estos y otros dispositivos de entrada frecuentemente se conectan a la(s) unidad (es) de procesamiento 202 a través de la(s) interfase (s) de entrada 242 que se acoplan a la barra colectora (bus) 206, pero se pueden conectar mediante otra interfase y estructura de barra colectora (bus) , tal como un puerto paralelo, un puerto de juego o una barra colectora (bus) serial universal (USB) . Un monitor 256 u otro tipo de dispositivo de exhibición también se conecta a la barra colectora (bus) 206 por medio de una interfase, tal como una adaptador de video o una tarjeta de video/gráficos 244. Además del monitor, las computadoras personales típicamente incluyen otros dispositivos de salida periféricos (no mostrados) tales como altavoces e impresoras, que se pueden conectar a través de una interfase periférica de salida 246. La computadora 200 puede operar en un ambiente en red o distribuido usando conexiones lógicas a una o más computadoras remotas, tales como una computadora remota 250. La computadora remota 250 puede incluir muchos o todos los elementos descritos anteriormente en relación con la computadora . Como se muestra en la Figura 2, el sistema de computación 200 se acoplan a dispositivos remotos (por ejemplo la computadora remota 250) a través de una red de área local (LAN) 251 y una red de área amplia general (WAN) 252. Estos ambientes de red son lugar común en casas, oficinas, redes de computadoras a lo ancho de una empresa, intranets y en la Internet. Cuando se usa en un ambiente de red de área local, la computadora 200 se conecta a la red de área local 251 a través de una interfase de red o adaptador 248. Cuando se usa en un ambiente de red de área amplia, la computadora 200 tipicamente incluye un módem 254 u otro medio para establecer comunicaciones sobre la red de área amplia 252. El módem 254, el cual puede ser interno o externo, puede conectarse a la barra colectora (bus) 206 por medio de la interfase de entrada de usuario 242, u otro mecanismo apropiado. En un ambiente en red, los módulos del programa representados en relación con la computadora personal 200, o porciones de los mismos, se pueden almacenar en el dispositivo de almacenamiento de memoria remoto. A manera de ejemplo, y sin limitación, la Figura 2 ilustra programas de aplicación remotos 216 como residentes en el dispositivo de memoria 250. Se apreciará que las conexiones de red mostradas son de ejemplo y que se pueden utilizar otros medios para establecer un enlace de comunicaciones entre las computadoras .
Modalidades Ejemplares La Figura 3 ilustra una cadena de ejemplo de componentes que es útil para entender varios principios de la invención descritos en la presente. Una meta general del sistema de la Figura 3 es poder recibir datos o contenido codificado crípticamente, y datos de administración de derechos digitales de alguna o algunas fuentes, mapear los datos en un sistema común, y luego poder tener una licencia que especifique que los datos o el contenido requiere un trayecto de medios protegido. Posteriormente, el sistema deberá poder verificar que los componentes del sistema que conforman el trayecto de medios es confiable. Un aspecto de las modalidades descritas es que la arquitectura puede facilitar manejar muchos tipos diferentes de formatos de datos y puede emplearse en el contexto de muchos tipos diferentes de componentes. Esto es, la arquitectura no necesita estar inextricablemente atada a ningún componente específico para ser capaz efectivamente de procesar y representar contenido protegido. La discusión que sigue proporciona una vista funcional, de nivel alto del sistema que incorpora varios principios de la invención de acuerdo con una modalidad.
Aspectos más detallados del sistema ejemplar se describen en la sección titulada "Ejemplo de Implementación - Modalidad del Dispositivo Local" más adelante. El sistema ilustrado puede efectivamente ser fraccionado en seis etapas para propósitos de entender varios principios de la invención, cada uno de los cuales se comenta en mayor detalle más adelante: Un componente de fuente de contenido y su conexión con el servidor de licencia (por ejemplo, fuente de contenido 300 ) ; Un componente de cliente y los componentes asociados para descodificar crípticamente los datos y procesar el contenido manifiesta que contiene contenido de administración de derechos digitales (por ejemplo, el cliente 204) ; Un desmultiplexo , descodificadores y re-codificadores crípticos de datos (por ejemplo el desmultiplexor 306, descodificador 308 y el codificador críptico 310 ) ; Una aplicación para procesar y mezclar flujos de datos (por ejemplo la aplicación 3122); Uno o más representadores que establecen la descodificación críptica y programan la exhibición de los datos (por ejemplo en representador 314); y Hardware para descodificar crípticamente y representar los datos (por ejemplo hardware de representación 316) . Además de las etapas enlistadas adicionalmente, el sistema ilustrado también hace uso de múltiples autentificadores diferentes que se crean durante un proceso de verificación para confirmar efectivamente que los componentes que conforman al sistema son confiables. Esto se puede hacer verificando las firmas digitales que están incorporadas en los componentes. En este ejemplo, hay tres autentificadores - un autentificador primario 318, y dos autentificadores secundarios 320, 322. Nótese que los autentificadores 318 y 320 son autentificadores en modo usuario y de conformidad con lo anterior, se usan para verificar los componentes del modo usuario. El autentificador 322, por otro lado, es un autentificador en modo núcleo y se usa para verificar los componentes de modo núcleo. Además, el sistema puede emplear un traductor tal como el traductor 302. El traductor 302 puede usarse para traducir el contenido y datos de licencia desde un formato de administración de derechos digitales a uno que sea entendido por el sistema. Esto es, una de las ventajas del sistema que se va a describir es que el sistema se puede configurar para trabajar en conexión con diferentes formatos de administración de derechos digitales llamados "extraños" que el sistema no entiende en forma original. Específicamente, los componentes del traductor pueden se5rr escritos, por ejemplo, por terceros, que permiten que se empleen diferentes formatos de administración de derechos digitales diversos con una arquitectura común. De esa manera, el sistema se puede impartir con un grado de flexibilidad que se extiende a través de una amplia variedad de formatos conocidos de administración de derechos digitales desarrollados o posteriormente desarrollados.
Fuente de Contenido En el ejemplo particular, los componentes de la fuente de contenido, tales como la fuente de contenido 300, son responsables de leer cualquier fuente de administración de derechos digitales original (es decir fuentes que entiende) o traducir formatos de administración de derechos digitales extraños a formato de administración de derechos digitales que entienda. La última tarea puede llevarse a cabo con la ayuda del traductor 302 que puede o no comprender parte de la fuente de contenido. El traductor 302 puede ser usado para transcribir el contenido y la licencia en un formato de administración de derechos digitales entendible. Los dispositivos locales que proporciona contenido de administración de derechos digitales (tales como un receptor de DTV) pueden traducir el sistema de codificación críptica y las restricciones de licencia a un formato de administración de derechos digitales entendible. Un controlador asociado con estos dispositivos puede emitir una firma para poder crear el contenido de administración de derechos digitales. Su licencia puede entonces especificar una dependencia en un servidor de licencias remoto de manera que se puedan actualizar las listas de revocación. Las listas de revocación típicamente se pueden proporcionar para habilitar al sistema a verificar cuáles componentes han sido comprometidas. Por ejemplo, una licencia puede requerir una lista de revocación semanal la cual podría ser almacenada en caché localmente.
Cliente y Autentificadores El cliente 304 típicamente recibe contenido codificado crípticamente y una licencia que puede ser incluida como parte de un manifiesto que el cliente recibe. El manifiesto puede típicamente describir los componentes de un conducto de representación que son necesarios para representar el contenido. La licencia también puede incluir información adicional tal como el nivel de seguridad que requiere el contenido. Esto se discute en detalle adicional más adelante. El manifiesto también puede indicar el tipo de autentificadores que se requieren para ser usados para verificar los componentes en el conducto de representación.
Alternativamente, el manifiesto puede requerir ciertos tipos de autentificadores, y puede depender en los otros componentes del conducto, tal como los representadores, para crear los autentificadores correspondientes, tales como un autentificador de núcleo de audio y video. Después de establecer una conexión de red o fuente de captura, la fuente de contenido puede instruir al cliente 304 que se obligue de acuerdo con la licencia. La fuente de contenido también puede establecer cualquier información relacionada con la fuente para ser usada por el cliente u otros componentes para ayudar en el proceso de obligatoriedad. Cuando la licencia es obligada, el cliente puede crear uno o más autentificadores (por ejemplo autentificador de video y de audio) tal como el autentificador 318. El cliente puede pasar los requerimientos de licencia al autentificador cuando se instancia. El o los autentificador (es ) pueden entonces "recorrer" a través de los componentes en el conducto para verificar las firmas de los componentes que manejan datos no codificados crípticamente . Por ejemplo, en el sistema ilustrado, el cliente 304 puede ser autentificado por un servidor seguro después de lo cual el cliente puede crear el autentificador 318. En cuanto está creado, el autentificador 318 puede verificar que el desmultiplexor 306, el descodificador 308 y el codificador críptico todos son confiables . Adicionalmente , en este ejemplo, siempre que los datos pasen sobre una barra colectora, o entre componentes no autentificados (usando, por ejemplo, vínculos codificados crípticamente), o para el espacio núcleo, se puede crear un autentificador secundario 320 que verifica entonces que el representador es confiable. Los autentificadores 318, 320 pueden entonces establecer un canal codificado crípticamente 319 entre ellos. El canal codificado crípticamente autentificado 319 se puede usar para varios propósitos diferentes. Por ejemplo, el canal puede permitir la comunicación entre los autentificadores adyacentes. Esto puede permitir, por ejemplo, que los autentificadores secundarios reporten de nuevo información de verificación y validación u otras solicitudes al autentificador original. Adicionalmente los autentificadores deberán poder verificar las listas de revocación que describen los componentes que han sido comprometidos y pueden de este modo ya no ser confiables. Además, el canal codificado crípticamente se puede usar para establecer sesiones de codificación críptica para codificar crípticamente datos de video y audio entre los componentes confiables . En un dispositivo de representación remoto con soporte de descodificación críptica de hardware (tal como la que se describe más adelante en mayor detalla) , un autentificador secundario puede ser creado por codificación críptica proxy y autentificación al dispositivo remoto. Solamente un componentes pequeño proxy, posiblemente no confiable, necesita ser proporcionado en el dispositivo remoto. El hardware remoto deberá, entonces, identificarse todavía a sí mismo de manera que pueda ser revocado por el autentificador primario. Para el contenido de video, un autentificador genérico de audio-video (AV) puede verificar los componentes del modo usuario y el representador puede crear autentificadores específicos de los medios.
Desmultiplexor , Descodificador»» , y R codificadores Crípticos El desmultiplexor 306 típicamente recibe datos no codificados crípticamente del cliente 304 y divide los datos en diferentes flujos, tales como un flujo de audio y de video. El desmultiplexor 306 típicamente pasa los flujos a uno o más descodificadores , tales como el descodificador 3308, para su procesamiento adicional. Un descodificador de audio (junto con un codificador críptico tal como el codificador críptico 310) puede re codificar crípticamente los datos y proporcionarlos a una aplicación 312 para su procesamiento. Un descodificador de video puede re codificar crípticamente los datos de manera que puedan ser transferidos con seguridad sobre una barra colectora de PCI/AGP en la memoria de acceso aleatorio de una tarjeta de video (VRAM) . El descodificador de video típicamente puede pasar datos parcialmente comprimidos (y codificados crípticamente) a la tarjeta de video y puede realizar modificaciones de estampa de tiempo, rearreglo de datos y análisis sintáctico de encabezados. Por ejemplo, para la reproducción de DVD, el descodificador puede extraer los datos a nivel vector y los residuos y pasarlos al hardware de video para su procesamiento. El descodificador también puede realizar cualquier modificación para simular la reproducción en reversa o efectos de velocidad variable.
Aplicación y Mezcla La aplicación 312 puede mezclar los flujos de audio y video en memorias intermedias de mezclado suministrados por los representador (es) . El hardware, entonces pasa efectivamente memorias intermedias codificadas crípticamente desde el descodificador junto con listas de instrucciones de mezclado. Un gran número de operaciones de procesamiento de imagen y efectos de video no lineal son posibles, como usando sombreadores de pixeles y mapeos de polígonos arbitrarios. Si la aplicación requiere acceso a datos no codificados crípticamente, puede crear un proceso de trabajador confiable por separado. La aplicación entonces se vuelve efectivamente otro descodificador autentificado y tendrá que descodificar crípticamente los datos, procesarlos y re codificarlos crípticamente para sacarlos al hardware de video o a la siguiente unidad de procesamiento.
Representadoras y Compositoras En este ejemplo, los representadores, tales como el representador 314, puede proxy las sesiones de codificación críptica desde el descodificador 308 hacia el controlador de visualización y de audio (por ejemplo el hardware de representación 316) . Los representadores son responsables del establecimiento de hardware y sincronización. El representador puede comprender varias APIs de modo usuario, así como el sistema operativo asociado y las APIs del controlador. En cuanto los datos han sido transferidos a la VRAM de la tarjeta de video, posiblemente puede ser descodificada crípticamente y mezclada con otras fuentes de video luego copiada a una porción de memoria (conocida como el "escritorio" o "superficie primaria") que se mapea directamente a un despliegue vidual para el usuario. El sistema de trayecto de medios protegido descrito anteriormente y más adelante deberá asegurar que tanto las memorias de mezclado temporales como el escritorio están protegidos de acceso no autorizado.
Una manera de mantener la integridad de los datos en cuanto están en el escritorio es usar hardware de gráficos confiables. Un sistema de ejemplo se describe en las siguientes solicitudes de patentes, cuyas descripciones se incorporan mediante referencia: "Systems and Methods For Securing Video Card Output" (Sistemas y métodos para asegurar la salida de una tarjeta de video), nombrando como inventores a Glenn Evans y Paul England, que lleva el número interno msl-11115us, presentada el 24 de junio de 2002; "Methods and Systems Providing Per Pixel Funcionality" (Métodos y sistemas que proporcionan f ncionalidad por pixel), nombrando como inventores a Glenn Evans y Paul England, que lleva el número interno de msl-102us, presentada el 24 de junio de 2002. Esencialmente, en los sistemas descritos en las solicitudes de patente citadas, los datos de salida se codifican crípticamente en relación con el origen de una ventana en el despliegue visual. Cuando una ventana se mueve físicamente, ya sea que el origen se mueve, o los datos se codifican crípticamente con relación al nuevo origen. Solamente el DAC del hardware del despliegue visual es capaz de descodificar crípticamente y exhibir los datos. El contenido se puede codificar crípticamente directamente al escritorio por el descodificador , o transcribir usando hardware confiable por el representador en cuanto la imagen final ha sido ensamblada.
En modalidades donde los presentadores se ejecutan sobre una red para un cliente "ligero", los presentadores se pueden dividir en un componente local autentificado y un componente remoto. Los datos codificados crípticamente comprimidos y las instrucciones de manipulación se pueden enviar sobre la red al presentador remoto. Los datos de mezcla se pueden realizar sobre el anfitrión si no hay soporte de hardware remoto.
Hardware para Representar La tarjeta de gráficos es responsable de descodificar crípticamente el flujo de contenido manipulando los datos usando una unidad de procesador de gráficos (GPU) y exhibiendo los datos de salida. Las solicitudes de patente incorporadas mediante referencia anteriormente describen una configuración de hardware confiado que se puede utilizar para procesar el contenido protegido. En resumen, esas aplicaciones describen soporte criptográfico que se puede dividir en una máquina de descodificación críptica / codificación críptica en la GPU y un componente que maneja las claves (denominado el "procesador críptico") . El hardware de gráficos tiene soporte de codificación críptica por píxel de manera que la VRAM se puede mantener en una forma codificada crípticamente. Cada operación de gráficos por la GPU puede entonces descodificar crípticamente el plxel de interés, procesarlo de alguna manera y re codificar crípticamente la salida. Las imágenes pueden ser puestas en mosaico con claves de codificación críptica de manera que cada región clave eficientemente coincidirá con los cachés dentro de la GPU. La salida del DAC de video puede proporcionar ya sea protección digital o protección análoga. Para los despliegues visuales remotos, el hardware del despliegue visual se puede impartir con alguna forma de soporte de descodificación críptica para descodificar crípticamente los datos enviados sobre la red. La Figura 3a es un diagrama de flujo que describe los pasos en un método de acuerdo con una modalidad. Los pasos se pueden implementar en cualquier hardware conveniente, software, firmware, o combinación de los mismos. En el ejemplo ilustrado, los pasos se pueden implementar en conexión con una arquitectura de software tal como con la que se describe anteriormente y más adelante. El paso 354 determina si la traducción de la administración de derechos digitales es necesaria. Si lo es, el paso 356 puede traducir la administración de derechos digitales en una forma que sea entendida por el sistema de procesamiento que va a representar el contenido. Este paso se puede llevar a cabo con un módulo traductor por separado que puede, en algunos casos, ser suministrado por terceros vendedores de software. El paso 350 recibe contenido si los componentes a los que les pasa datos, y luego interroga a estos componentes y asi sucesivamente. El paso 464 autentifica uno o más componentes corriente abajo con el autentificador primario. Este paso puede ser im lementado verificando las firmas digitales asociadas con los distintos componentes mediante, por ejemplo, el uso de un servidor seguro . El paso 366 determina si se necesita algún autentificador secundario. Un autentificador secundario puede ser necesario por cualquier razón conveniente, ejemplos de las cuales se dan más adelante. Si no se necesitan autentificadores secundarios, el paso 368 no crea uno. Si, por otro lado, se necesita un autentificador secundario, el paso 370 crea un autentificador secundario y establece un canal seguro entre los autentificadores . El paso 372 usa entonces el autentificador secundario para autentificar uno o más componentes corriente abajo. El método se puede ramificar de nuevo al paso 366 para determinar si se necesita algún autentificador secundario.
Ejemplo de Implementación-- (Modalidad da Dispositivo Local) La Figura 4 muestra un sistema ejemplar que está configurado para procesar medios protegidos de acuerdo con una modalidad. El sistema es similar, en algunos aspectos al sistema mostrado y descrito en la Figura 3. En este ejemplo codificado crípticamente que va a ser protegido durante un proceso de representación. El contenido se va a proteger de acuerdo con un esquema de administración de derechos digitales. El contenido puede ser recibido desde cualquier fuente conveniente, ejemplos de las cuales se dan anteriormente. El paso 352 recibe un manifiesto asociado con el contenido. Los pasos 350 y 352 se pueden realizar mediante un cliente configurado convenientemente, tal como el cliente 304 (Fig. 3) . El manifiesto describe los requerimientos de trayecto de medios protegido que circunscriben el proceso mediante el cual se va a representar el contenido. Estos requerimientos pueden y típicamente vienen en forma de una licencia. El manifiesto puede ser recibido o no contemporáneamente con el contenido codificado crípticamente. Continuando, el paso 358 verifica que el componente del cliente que recibe el contenido codificado crípticamente es confiable. Este paso puede ser implementado por un servidor seguro que puede, por ejemplo, verificar una firma digital que se asocia con el cliente. El paso 360 crea un autentificador primario. Este paso puede ser implementado por el cliente. El paso 362 articula uno o más componentes de flujo de procesamiento corriente abajo del autentificador primario. Este paso puede ser implementado por el cliente y/o cualquiera de los componentes corriente abajo. En una modalidad, el autentificador primario consulta al cliente de particular, el sistema se configura para procesar datos de audio / video en un dispositivo local. Dispositivos locales convenientes pueden incluir una computadora personal local, una caja descodificadora, o cualquier dispositivo que típicamente procesa datos de audio/video. El sistema de la Figura 4 incluye un trayecto de video y un trayecto de audio. El trayecto de video está compuesto de una cadena de componentes (por ejemplo componentes de análisis y de transformación) , tanto de modo usuario como de modo núcleo, que produce video que se coloca en una VRAM de tarjeta de video. La memoria intermedia de marco se exhibe sobre el escritorio y envía a un dispositivo de salda a través del DAC. También se proporciona un trayecto de audio para procesar el flujo de audio. El sistema de la Figura 4 incluye una fuente de contenido 400 que proporciona contenido protegido. Este contenido, como se nota anteriormente, típicamente puede estar acompañado por o asociado con una licencia, f ecuentemente incluida dentro de un manifiesto. La licencia típicamente circunscribe el uso del contenido describiendo cosas como quién puede usar el contenido y de qué manera se va a usar. La licencia también puede especificar cosas tales como las listas de revocación que se van a usar junto con el contenido, la frecuencia de uso de estas listas de revocación, y la fuente de la lista de revocación tal como un servidor seguro. El manifiesto también típicamente describe el nivel de seguridad que se va a usar con el contenido protegido tal como la naturaleza del trayecto de medios protegido que se va a establecer, la identificación de componentes a lo largo del trayecto de medios, y cualquier requisito de codificación criptica /descodificación críptica. Nótese también que el traductor típicamente puede ser empleado para traducir contenido de administración de derechos digitales extraño a contenido de administración de derechos digitales que es entendido por el sistema. El contenido es proporcionado por la fuente de contenido a un cliente 404. Como se notó anteriormente, la licencia que el cliente obtiene indica que los datos requieren un autentificador de trayecto de medios protegido tal como el autentificador 418. En este ejemplo, un solo cliente 404 descodifica crípticamente los datos que son recibidos de la fuente de contenido. Los autentificadores , tales como los autentificadores 418, 420, y 422 se usan para verificar la cadena de componentes que reciben datos no codificados crípticamente. Esto se puede hacer de varias maneras diferentes tales como verificar las firmas digitales asociadas con los componentes y/o a través de listas de direcciones de DLL. Después de que una cadena de procesamiento de componentes se ha establecido, un servidor, tal como un servidor de administración de derechos digitales, autentifica al cliente 404. El cliente 404 crea entonces al autentificador primario 418 el cual localiza entonces a los componentes qu3e procesan datos incluyendo datos desencriptados . Los componentes se pueden localizar por el autentificador 418 interrogando a los componentes individuales sobre a cuales otros componentes les pasan datos. Por ejemplo, el autentificador 418 puede interrogar al cliente 404 sobre a cuáles componentes el cliente les proporciona datos. El cliente puede responder al autentificador indicando que pasa datos al desmultiplexor (desmux) 406. Esto se puede hacer pasando un señalador al autentificador que señala al desmux 406. Ya que el desmux 406 procesa datos no codificados crípticamente, no necesitará ser confiable. El desmux 406 toma datos que no estén codificados crípticamente por el cliente y desmultiplexa los datos en un flujo de video y un flujo de audio. El flujo de video se procesa por el descodificador de video 408a y sus componentes asociados corriente abajo (es decir el codificador críptico 410a, el representador de video 414a, el controlador de video y la GPU (colectivamente designados en 416a) ) , mientras que el flujo de video es procesado por el descodificador de audio 408b y sus componentes corriente abajo (es decir en codificador críptico 410b, el representador de audio 414b, el controlador de audio y el hardware de audio (colectivamente designados en 416b) ) .
Los componentes individuales en la cadena de procesamiento proporcionan direcciones, a los autentificadores , de los demás componentes a los que pasan datos no codificados crípticamente. El autentificador recorre por la lista de componentes y verifica las firmas de los componentes como mediante, por ejemplo, verificando las firmas de los DLLs correspondientes a los componentes. Esto se puede hacer usando un servidor seguro. De manera que, por ejemplo, el autentificador 418 autentificará el desmux 406. El autentificador 418 verificará entonces ambos descodificadores 408a, 408b. Después de saber los componentes a los cuales los descodificadores pasan datos (es decir los codificadores cripticos 410a, 410b) , el autentificador 418 autenti icará a los codificadores crípticos. La aplicación 412 puede o no ser una aplicación confiable. Si la aplicación va a manejar datos no codificados crípticamente entonces el autentificador 418 puede verificar que la aplicación es confiable. Si la aplicación no es confiable, entonces simplemente manejará datos codificados crípticamente. Ocasionalmente, los datos serán pasados a los presentadores 414a, 414b. Los representadores pueden crear su propio autentificador 420 el cual es entonces verificado por el autentificador 418. Un canal codificado crípticamente, autentificado, se puede establecer entre los autentificadores 418, 420. En cuanto se verifican, el autentificador 420 puede autentificar a los representadores. En este ejemplo, un autentificador de modo núcleo 422 es creado por los representadores y es autentificado por uno o más de los demás autentificadores . El autentificador 422 puede estar de manera segura vinculado a los autentificadores del modo usuario para verificar los componentes de núcleo, tales como los componentes 416a, 416b. Un administrador de claves 424 también se proporciona y puede ser autentificado por el autentificador 422. El administrador de claves 424 puede ser responsable de manejar claves de codificación criptica / descodificación críptica que son usadas por los distintos componentes en la cadena de procesamiento para pasar datos codificados crípticamente. El administrador de claves también puede manejar claves de sesión que se usan en el proceso de encriptación . Los métodos de codificación críptica personalizados también pueden ser usados e implementados, en parte, por el administrador de claves. Una biblioteca de codificación críptica reemplazable puede, por ejemplo proporcionarse a los componentes intermedios. Todas las claves deberán ser claves basadas en sesiones para evitar tener claves inmersas en distintos componentes. Se puede usar un algoritmo de codificación críptica de claves públicas para la autentificación y para establecer las claves de sesiones entre el descodificador y un procesador críptico en el hardware de vide . El canal codificado crípticamente usado para la autentificación puede ser reutilizado por los componentes de autentificación para establecer las claves de sesión. Esto asegura que la clave de descodificación críptica solamente es pasada a la entidad verificada por el siguiente autentificador . Si un componente no rutea los datos codificados crípticamente y el canal de datos del autentificador al mismo destino, entonces el flujo de datos no puede ser descodificado crípticamente por la entidad corriente abajo. El algoritmo usado para establecer las claves de sesión pueden ser específicos para el descodificador y los componentes de representación. El canal de autentificación se puede personalizar a la hilera de generación de claves de sesión para evitar falsificar el establecimiento de la clave de sesión. Cada componente puede ser, y deberá periódicamente ser reautentificado y las claves deberán ser renegociadas para ayudar a minimizar los ataques de inserción por componentes extraños. Un arreglo de las claves de sesión pueden permitir que la fuente eficientemente cambie las claves a intervalos dados. Ya que establecer las claves puede ser un proceso relativamente lento y costoso, se puede realizar asincrónicamente al flujo de datos. Ciclando a través de los bancos de claves puede ayudar a evitar los problemas de sincronización de datos-claves. Por ejemplo, cuatro claves pueden proporcionar un retraso de cuatro cuadros antes de que una nueva negociación de claves haya sido completada. Esto se comenta en mayor detalle más adelante en la sección titulada "Negociación y sincronización de claves".
Negociación y Sinoronización de Claves Los bancos de claves típicamente contienen múltiples claves. En el contexto de video, conforme el representador de video procesa los datos, típicamente pone en cola varios cuadros para su exhibición. Por razones de eficiencia, usar un banco de claves con claves múltiples y sincronizar, por ejemplo, una clave por cuadro, puede aliviar problemas asociados con tener que negociar una clave nueva por cada cuadro. Esto es, haciendo que un banco de claves pueda reducir el tiempo de negociación de claves en virtud del hecho de que la negociación no tiene que hacerse clave por clave. De este modo, usando un banco de múltiples claves, se puede usar una clave por cuadro, y las claves se pueden ciclar en orden. Por ejemplo, las claves 1 a 4 podrían ser negociadas, en donde la clave 1 se usa para el cuadro 1, la clave 2 se usa para el cuadro 2 , y así sucesivamente. De esta manera, en vez de tener que negociar claves individuales, la negociación se lleva a cabo para múltiples claves a la vez las cuales se ciclan entonces.
Como un ejemplo, en un trayecto de video protegido, se puede establecer un arreglo de claves de sesiones entre el descodificador y el hardware de video usando el sistema de codificación críptica PKI autentificado. Las claves entonces se pueden mantener en memoria inaccesible en la tarjeta de video y en la memoria protegida por el descodificador . Cada clave puede ser referenciada por el índice de sesión. En el hardware de video, se pueden asociar los datos con un Índice de sesión o ID que indica cuál sesión fue usada para codificar crípticamente los datos. El índice de sesión puede ser usado por la GPU para establecer la máquina criptográfica en la GPU que puede entonces procesar (es decir) descodificar crípticamente los datos codificados crípticamente. La cadena de autentificador periódicamente puede ser renegociada y autentificada para ayudar a reducir los ataques de diccionario y para intentar detectar componentes extraños insertados .
Autentif1dadores Como se notó anteriormente, después de que se ha establecido el mecanismo de reproducción (es decir la cadena de procesamiento) , el componente de cliente descodifica crípticamente los datos y pasa los datos al desmultiplexor de video y audio. Como parte del proceso de autentificación, el cliente crea un autentificador el cual se aplica entonces a los desmultiplexores . El autentificador se dirige entonces a las siguientes componentes de procesamiento de video y audio para su autentificación . Los representadores pueden entonces crear los autentificadores correspondientes de núcleo específicos de video/audio. Los autentificadores pueden autentificar las firmas digitales asociadas con el DLL en el cual se localiza cada dirección. Los autentificadores no solamente pueden verificar las firmas de los componentes, sino también pueden verificar que la cadena de procesamiento tenga suficiente seguridad para satisfacer los requerimientos en la licencia de contenido. Por ejemplo, la licencia puede especificar que se requiere un nivel de seguridad de la cadena de procesamiento. El nivel de seguridad se puede pasar al autentificador el cual entonces asegura cumplimiento con el nivel de seguridad. Alternativamente, el nivel de seguridad puede implícitamente estar codificado requiriendo un nivel particular de autentificador , por ejemplo autentificador de nivel 1 o autentificador de nivel 2, ambos pueden invocar al autentificador primario con su nivel. Los niveles de seguridad de ejemplo pueden incluir: Bit 0 - ofuscación de software de datos comprimidos (y controlador de video signado) ;L Bit 1 - protección de software confiable de datos comprimidos; Bit 2 - protección de hardware de datos comprimidos sobre barras colectoras ; Bit 3 - protección de hardware de datos comprimidos en el dispositivo e video/audio; - Bit 4 - protección análoga de datos que salen del dispositivo de salida; y Bit 5 - protección digital de datos que salen del dispositivo de salida.
Cada componente también puede tener la capacidad de añadir restricciones a la licencia como un primer paso en la autentificación . Esto permite a los componentes (por ejemplo, descodificadores) requerir que otros componentes sean interrogados para determinar su compatibilidad. Por ejemplo, un descodificador de audio solamente puede tener licencia para ser reproducido con aplicaciones que satisfacen ciertos criterios. Una requerimiento de versión adicional del sistema también puede ser útil para especificar un nivel requerido de soporte de controlador. Por ejemplo, la licencia puede contener un par de datos (nivel mínimo protegido de trayecto/controlador, requerimientos de hardware mínimos) que son pasados al autentificador para asegurar su cumplimiento.
Componentes Varios arreglos de autentificadores se pueden usar para implementar las modalidades descritas anteriormente. Por ejemplo, en el sistema mostrado y descrito en la Figura 4, puede haber dos autentificadores primarios separados -uno para la cadena de video y otra para la cadena de audio, o, como se muestra en la Figura 4, un solo autentificador primario que se comunica tanto con la cadena de audio como con la de video. En la discusión que sigue, se describe un diseño de autentificación especifico. Se apreciará que el diseño descrito es ilustrativo de sólo un diseño de autenticación. De conformidad con lo anterior, se pueden proporcionar otros diseños de autentificación sin apartarse del espíritu y alcance de la materia objeto reclamada. La Figura 5 ilustra un diseño de autentificación ejemplar donde los autentificadores son designados como "An", y las interfases soportadas por los distintos componentes en la cadena de procesamiento se ilustran como "IA" para una interfase autentificable y/o IAP" para una interfase de autentificación proxy. Una interfase proxy actúa como una interfase para enviar un servicio a otra interfase autentificable . Los nombres de los distintos componentes se proporcionan adyacentes al componentes correspondiente. Por ejemplo, en la cadena de audio, se indican el descodificador de audio, el codificador de audio, la aplicación el representador de audio y el controlador/hardware de audio. De manera similar, en la cadena de video, se indican el descodificador de video, el codificador de video, la aplicación, el representador de video y el controlador/hardware de video. Nótese que algunos componentes soportan tanto una interfase proxy como una interfase autentificable, por ejemplo cada uno de los representadores. Una interfase simplemente es una porción lógica del componente y comprende una colección de métodos llamables que pueden ser llamados por otros componentes. Siempre que un autentificador quiere comunicarse con un componente particular, el autentificador busca la interfase pertinente en ese componentes y se comunica con él llamando a los métodos de la interfase. Un autentificador verifica los componentes y establece canales codificados crípticamente para otros autentificadores . También proporciona un servicio de canal codificado crípticamente entre los componentes que procesa datos no codificados crípticamente. El canal puede ser usado para negociar arreglos de claves de sesión entre los componentes para codificar crípticamente los datos principales. Una interfase IA proporciona al autentificador una lista de componentes a verificar, y una lista de componentes corriente abajo para continuar la verificación.
La interfase proxy IAP es una interfase intermedia para enviar información de autentificación entre los autentificadores vinculados entre sí por componentes no autentificados . Dentro de cada autentificador, En representa un par de claves de codificación críptica / descodificación críptica del iniciador de la conexión y Dn representa un par de claves de codificación críptica / descodificación críptica del receptor de la conexión. El primer autentificador Ax puede soportar múltiples autentificadores secundarios (por ejemplo A2-5 ) ya que se usa para verificar dos cadenas de salida por separado (por ejemplo video y audio) . El cliente crea el autentificador inicial Ai, y la interfase IA del primer componente (es decir el DeMux) es especificado al autentificado . En este ejemplo, la interfase IA regresa la siguiente información al autentificador . Una lista de interfases IA de los componentes corriente abajo; Una lista de interfase IAProxy de componentes corriente abajo (que solamente ven datos codificados crípticamente) ; Una lista de componentes dependientes en las cuales verificar firmas; Almacenamiento para el siguiente índice de vinculo autentificador (el mismo autentificador se puede reutilizar para múltiples flujos) ; y Número de sesión clave para la cadena de autentificaeio . El autentificador (Ai) utiliza al cliente para verificar la dirección de la interfase IA, luego sus componentes dependientes, y vuelve sobre cada una sus interfases IA corriente abajo. En seguida el autentificador establece un canal autentificado codificado crípticamente al siguiente autentificador a través de cada una de las interfases IAP. La interfase IAP proporciona dos métodos para comunicarse con el siguiente autentificador : LeerDatos (memoria intermedia, longitud) EscribirDatos (memoria intermedia, longitud) Típicamente, el representador soportará las interfases IAP e IA. Cuando la interfase IAP del representador se referencia, creará el siguiente autentificador y proxy al que llama la IAP. Los autentificadores establecerán entonces un canal de comunicación codificado crípticamente autentificado. El autentificador es pasado a la interfase IA del representador de manera que comienza una nueva cadena de autentificación comenzando en el representador. Los autentificadores también proporcionan métodos para permitir que los componentes con interfases IA pasen información a través del canal autentificador . En el autentificador , eso puede incluir: CodificarCrípticamenteYEnviar (ID vinculo, [dentro] datos) -enviar datos al siguiente componente. En la interfase de la IA que fue pasada al autentificador , puede existir las siguientes respuestas: DescodificarCrípticamenteYRecibi ( [fuera] datos) - usado para señalar y pasar datos al componente que recibe ; IdentificadorVínculo ( [fuera] vinculo ID) pasado a la interfase IA para enviar. Los métodos de enviar y recibir pueden ser usados por los componentes para establecer claves de sesión para codificar crípticamente los datos principales. Para simplificar al cliente, el autentificador también puede proporcionar el siguiente soporte de codificación críptica simple: CrearSesión (MANEJAR [ fuera] , CLSID drmEncriptorID) - crea un codificador críptico y establece una clave de sesión; CodificarCripticamenteDatos (MANEJAR [dentro] , BYTE* pDentro, BYTE*pFuera) ; DescodificarCrípticamente (MANEJAR [dentro) , BYTE*pDentro, BYTE*pFuera) .
El autent ificador persistiría entonces el objeto de codificación críptica para el componente.
Modalidad de Red - Caso I Una de las ventajas de la arquitectura descrita anteriormente es que se puede utilizaren relación con, y aplicar en el contexto de una red, tal como la Internet. Como un ejemplo, considérese la figura 6 la cual muestra un sistema que es similar, en muchos aspectos, al sistema mostrado y comentado en conexión con la Figura 4. Se utilizaron numerales iguales a los de la modalidad de la Figura 4, donde es apropiado (excepto que los designadores en la Figura 6 están en la forma 6XX", mientras que los designadores en la Figura 4 están en la forma "4XX") . En este ejemplo, se proporciona un dispositivo remoto 624 y abarca software y hardware (colectivamente designados en 617) que pueden ser usados para representar el contenido en el dispositivo remoto. Dispositivos remotos de ejemplo pueden incluir PCs de mano, PDAs, altavoces USB, altavoces IEEE 1394 y similares. Componentes tales como el cliente 604, administrador de claves 624, desmultiplexor 606, descodificadores 608a, 608b, codificadores crípticos 610a, 610b, aplicación 612, representadores 614a, 614b, y uno o más autentificadores tales como el autentificador primario 618 y el autentificador secundario 620, pueden residir en un lado de la conexión de una red tal como en un anfitrión. El dispositivo 624 puede entonces comunicarse con el anfitrión via una conexión de red de manera que pueda reproducir contenido protegido desde una fuente confiable para un usuario. En este ejemplo, el dispositivo remoto 624 incluye un autentificador 622 que puede ser establecido y configurado de una manera que es muy similar a la manera que el autentificador de modo núcleo fue establecido y configurado anteriormente. Esto es, en este ejemplo, hay una conexión lógica entre los autentificadores en ambos lados de la red (por ejemplo los autentificadores 620 y 622) . Esta conexión lógica es autentificada y codificada crípticamente por todas las razones presentadas anteriormente. La responsabilidad del (de los) representador (es) es comunicarse sobre la red y verificar cuáles componentes residen en el dispositivo remoto 624. El o los representadores establecen entonces al autentificador en el dispositivo remoto 624, y establecen un canal de comunicación entre los dos autentificadores 620, 622. El canal se puede usar para establecer claves entre el codificador críptico 610a y el hardware de representación (617) . En cuanto se han identificado los distintos componentes en la cadena de procesamiento a cada lado de la red, se puede proporcionar contenido seguro al dispositivo remoto 624 para su representación.
Modalidad d« Rmd - Caso II La Figura 7 muestra un sistema que es ligeramente diferente del sistema mostrado y descrito en la Figura 6. aquí, el dispositivo remoto 724 incorpora un componente de representación puramente de hardware 717. Un proxy de software 715 se proporciona y puede ayudar en el proceso de autentificación pero puede no necesariamente requerirse que sea confiable. La autentificación puede llevarse a cabo en el mismo hardware como mediante, por ejemplo, proporcionar un soporte de autentificación PKI en el hardware. En este ejemplo, el o los presentadores de red pueden mapear el protocolo de autentificación del lado izquierdo de la red para el protocolo de autentificación en el dispositivo 724. Esto puede hacer uso de un módulo de traducción de autentificación que reside en el proxy de software 715. En este caso, entonces, el proxy de software 715 necesitará se confiable y verificado. Alternativamente, el hardware podría ser originalmente compatible con el protocolo de autentificación del lado izquierdo de la red o, el hardware puede contener un módulo de traducción para realizar la misma operación de mapeo, mediante lo cual se elimina la necesidad de confiar o verificar el software en el dispositivo . Este tipo de arreglo es ventajoso desde el punto de vista de permitir que terceros escriban sus propios módulos traductores que pueden ser empleados en sus propios dispositivos remotos. Estos módulos pueden entonces realizar la traducción del protocolo de autentificación y, como resultado, no se bloquean en ningún diseño de autenticación. Terceros también pueden establecer autentificadores de modo usuario del lado izquierdo de la red, si, por ejemplo, su representador de video necesita procesar datos no codificados crípticamente . Además, la arquitectura anterior también es ventajosa porque las listas de revocación pueden ser transmitidas sobre los distintos componentes, por ejemplo, un servidor puede enviar la lista de revocación al cliente quien puede entonces enviar la lista hacia la cadena de procesamiento al dispositivo remoto. En consecuencia, cualquier componente que se revoque ya no podrá procesar los datos protegidos. Por ejemplo, una licencia que acompaña contenido protegido podría especificar que el contenido requiere un autentificador de trayecto de medios y, además, el dispositivo debe periódicamente accesar a un servidor para obtener una lista de revocaciones. El usuario pude entonces, con el dispositivo remoto, reproducir el contenido durante un periodo de tiempo después de lo cual su dispositivo necesitará accesar al servidor para obtener la lista de revocaciones de manera que el dispositivo puede actualizar su lista de cuáles componentes han sido revocados.
Otras Extensiones y Ventajas Las modalidades de las Figuras 6 y 7 se pueden extender de manera que los representadores de red se implementan como un representador de difusión. Por ejemplo, un servicio o servidor de difusión se puede establecer y compartir claves de codificación críptica con varios dispositivos de hardware diferentes. El representador de difusión difunde entonces contenido protegido a estos dispositivos y se asegura que el contenido seguirá protegido. Otra ventaja de la arquitectura es que los datos pueden ser pasados de atrás adelante entre los modos de usuario y núcleo tantas veces como sea necesario. Esto pude ser ventajoso para cosas como cancelación de eco para datos de audio. Esto es, un representador de audio puede ir hacia el núcleo y crear otra cadena de procesamiento que va de nuevo hacia un componente de modo usuario y luego de nuevo al núcleo .
Conclusión Los métodos y sistemas descritos anteriormente pueden proporcionar métodos y sistemas mejorados para procesar datos digitales represéntateles . Algunas ventajas de las modalidades anteriormente descritas incluyen, sin limitación, que los componentes de modo usuario no confiado (descodificadores , manipulaciones de video) y componentes modo núcleo pueden ser prevenidos de acceso no autorizado para contenido protegido. Adicionalmente componentes autorizados pueden ser protegidos de ser usados para ganar acceso no autorizado al contenido protegido. Varios componentes de terceros se pueden usar en la cadena de procesamiento y mecanismos se pueden proporcionar para asegurar que estos componentes son confiables antes de que accesen al contenido protegido. El contenido de múltiples fuentes diferentes, asi como múltiples tipos diferentes de contenido y técnicas administración de derechos digitales se pueden incorporar en el sistema en virtud del proceso de traducción o módulos de traductor. Varias modalidades también permiten que el contenido protegido sea usado a través de limites tales como limites de dispositivo y red, con un proceso de autentificación que es traducible a través de los limites. Además, se pueden utilizar mecanismos de revocación (es decir, listas de revocación) para bloquear componentes comprometidos del contenido de acceso protegido. La arquitectura también permite que se establezcan canales de comunicación segura entre los descodificadores y el representación (es decir, hardware de despliegue visual) . La arquitectura no necesita conocimiento anterior de la topologia de componentes y se aplica a estructuras complejas ya que sigue el flujo de los datos. Aunque la invención ha sido descrita en lenguaje especifico a características estructurales y/o pasos metodológicos, se entenderá que la invención definida en las reivindicaciones anexas no se limita necesariamente a las características especificas o pasos descritos. Len vez de eso, se describen las características y pasos como las formas preferidas de implementar la invención reclamada.

Claims (70)

  1. REIVINDICACIONES 1. Un método que comprende recibir, con un componente de cliente, contenido codificado crípticamente que va a ser protegido durante un proceso de representación; recibir un manifiesto asociado con el contenido, especificando el manifiesto requerimientos de trayecto de medios protegido para el proceso de representación; verificar que el componente de cliente es un componente confiable; crear un autentificador primario que pueda ser usado para autentificar uno o más componentes corriente abajo del componente de cliente; articular, al autentificador primario, uno o más componentes corriente abajo que necesitan ser autentificados; autentificar uno o más componentes corriente abajo usando el autentificador primario; crear cuando menos un autentificador secundario; articular al autentificador secundario uno o más componentes corriente abajo que necesitan ser autentificados; y autentificar uno o más componentes corriente abajo usando el autentificador secundario.
  2. 2. El método de la reivindicación 1 que además comprende determinar si algunos datos de administración de derechos digitales asociados con el contenido necesita ser traducido a una forma que pueda ser entendida por el sistema de administración de derechos digitales del autentificador y, si es asi, efectuar la traducción de los datos de administración de derechos digitales.
  3. 3. El método de la reivindicación 1 que además comprende determinar si algún dato de administración de derechos digitales asociado con el contenido necesita ser traducido a una forma que pueda ser entendida por un sistema de administración de derechos digitales del autentificador y, si es asi, efectuar la traducción de los datos de administración de derechos digitales usando un módulo traductor por separado que se configura para traducir los datos de administración de derechos digitales.
  4. 4. El método de la reivindicación 1 que además comprende determinar si algún dato de administración de derechos digitales asociado con el contenido necesita ser traducido a una forma que pueda ser entendida por un sistema de administración de derechos digitales del autentificador y, si es así, efectuar la traducción de los datos de administración de derechos digitales usando un módulo traductor por separado que se configura para traducir los datos de administración de derechos digitales, el módulo traductor comprende un componente de un tercero.
  5. 5. El método de la reivindicación 1, en donde el acto de articular al autentificador primario es realizado por el componente de cliente, que responde a ser consultado por el autentificador primario.
  6. 6. El método de la reivindicación 1, en donde el acto de verificar es realizado por usar un servidor seguir.
  7. 7. El método de la reivindicación 1 que además comprende después de crear el autentificador secundario, verificar con el autentificador primario que el autentificador secundario es confiable.
  8. 8. El método de la reivindicación 1, en donde los actos de recibir, verificar, crear, articular, y autentificar se realizan, cuando menos en parte, localmente.
  9. 9. El método de la reivindicación 1 que además comprende después de autentificar componentes múltiples, representar el contenido codificado crípticamente.
  10. 10. El método de la reivindicación 1 que además comprende después de autentificar componentes múltiples, efectuar la representación del contenido codificado crípticamente en un dispositivo remoto.
  11. 11. Un dispositivo de computación programado para implementar el método de la reivindicación 1.
  12. 12. Uno o más medios legibles por computadora que tienen instrucciones legibles por computadora en los mismos los cuales, cuando son ejecutados por uno o más procesadores, causan que el uno o más procesadores: reciba, con un componente de cliente, contenido codificado crípticamente que va a ser protegido durante un proceso de representación; reciba un manifiesto asociado con el contenido, especificando el manifiesto requerimientos de trayecto de medios protegido para el proceso de representación; verifique que el componente de cliente es un componente confiable; cree un autentificador primario y cuando menos un autentificador secundario, configurados para autentificar uno o más componentes corriente abajo del componente de cliente; establezca cuando menos un canal de comunicación segura entre los autentificadores ; articule, a los autentificadores, uno o más componentes corriente abajo que necesitan ser autentificados; autentifique uno o más componentes corriente abajo usando los autentificadores ; y permita que el uno o más componentes se comuniquen entre sí usando el canal de comunicaciones seguras.
  13. 13. El uno o más medios legibles por computadora de la reivindicación 12, en donde las instrucciones causan que el uno o más procesadores determinen si algún dato de administración de derechos digitales asociado con el contenido necesita ser traducido a una forma que pueda ser entendida por un sistema de administración de derechos digitales del autentificador y, si es asi, efectuar la traducción de los datos de administración de derechos digitales .
  14. 14. El uno o más medios legibles por computadora de la reivindicación 12, en donde las instrucciones causan que el uno o más procesadores permitan que el uno o más componentes establezcan claves de sesión para su uso durante el proceso de representación.
  15. 15. El uno o más medios legibles por computadora de la reivindicación 12, en donde las instrucciones causan que el uno o más procesadores permitan que el uno o más componentes establezcan uno o más bancos de claves de sesión para usarlos durante el proceso de representación y ciclar las claves de sesión durante el proceso de representación.
  16. 16. Un dispositivo de computación que incorpora el medio legible por computadora de la reivindicación 12.
  17. 17. Un dispositivo de computación que comprende: memoria; uno o más procesadores; instrucciones en la memoria los cuales, cuando son ejecutados por uno o más procesadores, causan que el uno o más procesadores: reciban, con un componente de cliente, contenido codificado crípticamente que va a ser protegido durante un proceso de representación; reciban un manifiesto asociado con el contenido, especificando el manifiesto requerimientos de trayecto de medios protegido para el proceso de representación; determinen si algún dato de administración de derechos digitales asociado con el contenido necesita ser traducido a una forma que pueda ser entendida por el sistema de administración de derechos digitales del autentificador y, si es asi, efectuar la traducción de los datos de administración de derechos digitales ; verifiquen que el componente de cliente es un componente confiable; creen un autentificador primario y cuando menos un autentificador secundario, configurados para autentificar uno o más componentes corriente abajo del componente de cliente; establezcan cuando menos un canal de comunicación segura entre los autentificadores ; articulen, a los autentificadores , uno o más componentes corriente abajo que necesitan ser autentificados; autentifiquen uno o más componentes corriente abajo usando los autentificadores ; y permitan que el uno o más componentes se comuniquen entre si usando el canal de comunicaciones seguras, y permitir que el uno o más componentes establezcan claves de sesiones para su uso durante el proceso de representación .
  18. 18. Un método que comprende: establecer uno más trayectos de componentes que son para procesar y representar contenido digital; recibir contenido codificado crípticamente que va a ser procesado por uno o más trayectos, estando sujeto el contenido codificado crípticamente a una licencia que define, cuando menos en parte, de qué manera se van a procesar los datos codificados crípticamente; crear múltiples autentificadores para autentificar los componentes a lo largo de uno o más trayectos; proporcionar un canal de comunicaciones seguras entre los autentificadores ; determinar si algún dato de administración de derechos digitales asociado con el contenido necesita ser traducido a una forma que pueda ser entendido por un sistema de administración de derechos digitales del autentificador y, si es así, efectuar la traducción de los datos de administración de derechos digitales usando un módulo traductor por separado que se configura para traducir los datos de administración de derechos digitales; consultar, con los autentificadores , a los componentes individuales del uno o más trayectos para verificar a cuáles componentes le pasan datos los componentes consultados ; autentificar, con los autentificadores , los componentes consultados y los componentes a los que los componentes consultados les pasan datos; establecer claves de codificación críptica /descodificación críptica con componentes múltiples de uno o más trayectos para que los componentes las usen para codificar crípticamente y descodificar crípticamente datos.
  19. 19. El método de la reivindicación 18, en donde la licencia especifica una o más listas de revocaciones que se pueden utilizar para verificar si los componentes individuales han sido comprometidos o no.
  20. 20. El método de la reivindicación 18, en donde la licencia especifica un nivel de seguridad que se va a usar para proteger el contenido codificado crípticamente.
  21. 21. El método de la reivindicación 18, en donde el acto de establecer las claves de codificación críptica /descodificación críptica comprende usar el canal de comunicaciones seguras entre los autentificadores para establecer las claves de codificación críptica /descodíficación críptica.
  22. 22. El método de la reivindicación 18, en donde el acto de establecer las claves de codificación críptica / descodificación críptica comprende establecer claves basadas en sesiones.
  23. 23. El método de la reivindicación 18 además comprende periódicamente reautentificar los componentes usando los autenti icadores .
  24. 24. El método de la reivindicación 18, en donde el acto de crear los autentificadores múltiples comprende crear cuando menos un autentificador de modo usuario para autentificar los componentes de modo usuario, y cuando menos un autentificador modo núcleo para autentificar componentes de modo núcleo.
  25. 25. Un dispositivo de computación programado para implementar el método de la reivindicación 18.
  26. 26. Uno o más medios legibles por computadora que tienen instrucciones legibles por computadora en los mismos las cuales, cuando son ejecutadas por uno o más procesadores, causan que el uno o más procesadores: establezcan uno más trayectos de componentes que son para procesar y representar contenido digital; reciban contenido codificado crípticamente que va a ser procesado por uno o más trayectos, estando sujeto el contenido codificado crípticamente a una licencia que define, cuando menos en parte, de qué manera se van a procesar los datos codificados crípticamente; creen múltiples autentificadores para autentificar los componentes a lo largo de uno o más trayectos; proporcionen un canal de comunicaciones seguras entre los autentificadores ; consulten, con los autentificadores , a los componentes individuales del uno o más trayectos para verificar a cuáles componentes les pasan datos los componentes consultados; autentifiquen, con los autentificadores , los componentes consultados y los componentes a los que los componentes consultados les pasan datos; y establezcan claves de codificación críptica /descodificación críptica con componentes múltiples de uno o más trayectos para que los componentes las usen para codificar crípticamente y descodificar crípticamente datos.
  27. 27. El uno o más medios legibles por computadora de la reivindicación 26, en donde las instrucciones causan que el uno o más procesadores establezcan claves de codificación críptica / descodificación criptica usando el canal de comunicación segura entre los autentificadores .
  28. 28. El uno o más medios legibles por computadora de la reivindicación 26, en donde las instrucciones causan que el uno o más procesadores establezcan claves de codificación críptica / descodificación críptica usando el canal de comunicación segura entre los autentificadores .
  29. 29. Un dispositivo de computación que integra el medio legible por computadora de la reivindicación 26.
  30. 30. Un dispositivo de computación que comprende: memoria; uno o más procesadores; instrucciones en la memoria las cuales, cuando son ejecutadas por el uno o más procesadores, causan que el uno o más procesadores: establezcan uno más trayectos de componentes que son para procesar y representar contenido digital; reciban contenido codificado crípticamente que va a ser procesado por uno o más trayectos, estando sujeto el contenido codificado crípticamente a una licencia que define, cuando menos en parte, de qué manera se van a procesar los datos codificados crípticamente; creen múltiples autentíficadores para autentificar los componentes a lo largo de uno o más trayectos, cuando menos uno de los autentificadores que comprende un autentificador modo usuario para autentificar componentes modo usuario, y cuando menos otro de los autentificadores que comprenden un autentificador modo núcleo para autentificar componentes de modo núcleo; proporcionen un canal de comunicaciones seguras entre los autentificadores ; consulten, con los autentificadores , a los componentes individuales del uno o más trayectos para verificar a cuáles componentes le pasan datos los componentes consultados ; autentifiquen, con los autentificadores , los componentes consultados y, si es posible, los componentes a los que los componentes consultados les pasan datos; y establezcan claves de codificación críptica /descodificación críptica con componentes múltiples de uno o más trayectos para que los componentes las usen para codificar crípticamente y descodificar crípticamente datos.
  31. 31. El dispositivo de computación de la reivindicación 30, en donde la licencia especifica una o más listas de revocación que pueden ser utilizadas para verificar si los componentes individuales han sido comprometidos o no.
  32. 32. El dispositivo de computación de la reivindicación 30, en donde la información de identificación es pasada por la cadena de canales codificados crípticamente asociados con los autentificadores que permitan la verificación de componentes, sin requerir que se propaquen listas de revocaciones en toda la cadena.
  33. 33. El dispositivo de computación de la reivindicación 30, en donde la licencia especifica un nivel de seguridad que se va a usar para proteger los datos codificados crípticamente.
  34. 34. El dispositivo de computación de la reivindicación 30, en donde las instrucciones causan que el uno o más procesadores establezcan claves basadas en sesiones .
  35. 35. Un método que comprende: establecer uno o más trayectos de componentes que van a procesar y representar datos digitales, soportando los componentes individuales uno o más de una interfase autentificable y una interfase proxy de autentificación; crear un primer autentificador para autentificar componentes individuales del uno o más trayectos, llamar, con el primer autentificador, a una o más de las interfases en uno o más componentes respectivos para verificar los componentes corriente abajo de los componentes que fueron llamados ; autentificar uno o más componentes corriente abajo usando el primer autentificador; para los componentes que soportan una interfase proxy de autentificación y una interfase de autentificación, crear un autentificador por separado; establecer un canal codificador crípticamente entre el primer autentificador y uno o más de los autentificadores por separado; y autentificar componentes adicionales usando el autentificador por separado.
  36. 36. El método de la reivindicación 35, donde el uno o más trayectos comprenden un trayecto de audio y un trayecto de video.
  37. 37. El método de la reivindicación 35 que además comprende proporcionar, con los autentificadores , un servicio de canal codificado crípticamente entre los componentes que procese datos no codificados crípticamente.
  38. 38. El método de la reivindicación 35 que además comprende proporcionar, con los autentificadores, un servicio de canal codificado crípticamente entre los componentes que procese datos no codificados crípticamente, y que use el canal para negociar arreglos de claves de sesión entre los componentes para codificar crípticamente y descodificar crípticamente datos.
  39. 39. El método de la reivindicación 35 que además comprende usar una o más de las interfases proxy de autentificación para autentificar entre los componentes autentificados vinculados entre sí por componentes no autentificados .
  40. 40. El método de la reivindicación 35, en donde la interfase autentificable devuelve uno o más de: una lista de interfases de autentificación de componentes corriente abajo, una lista de interfases proxy de autentificación de componentes corriente abajo, una lista de componentes dependientes en las cuales verificar firmas, y número de sesión clave para la cadena de autentificadores .
  41. 41. El método de la reivindicación 35 que además comprende proporcionar, con los autentificadores , métodos para permitir que los componentes pasen información a través del canal codificado crípticamente.
  42. 42. El método de la reivindicación 35 que además comprende traducir, si es necesario los datos de administración de derechos digitales que se asocian con los datos digitales y usar los datos de administración de derechos digitales traducidos para proteger los datos digitales durante el proceso de representación.
  43. 43. Un dispositivo de computación programado para implementar el método de la reivindicación 35.
  44. 44. Uno o más medios legibles por computadora que tienen instrucciones legibles por computadora en los mismos los cuales, cuando son ejecutados por uno o más procesadores, causan que el uno o más procesadores: establezcan uno más trayectos de componentes que son para procesar y representar datos digitales, componentes individuales que soportan una o más de una inferíase autentificable y una interfase proxy de autentificación, comprendiendo los múltiples trayectos un trayecto de video para procesar datos de video digital, y un trayecto de audio para procesar datos de audio digital; traduzcan, si es necesario, datos de administración de derechos digitales que están asociados con los datos digitales y usar los datos de administración de derechos digitales traducidos para proteger los datos digitales durante el procesamiento de los datos digitales; creen un primer autentificador para autentificar los componentes individuales a lo largo de uno o más trayectos ; llamen, con el primer autentificador, una o más interfases autentificables en uno o más componentes respectivos para verificar componentes corriente debajo de los componentes que son llamados; autentifiquen uno o más componentes corriente abajo usando el primer autentificador; para los componentes que soportan una inferíase proxy de autentificación y una inferíase de autentificación, crear un autentificador por separado; establezcan un canal codificado crípticamente entre el primer autentificador y uno o más de los autentificadores separados y usar el canal para proporcionar claves de codificación críptica / descodificación críptica a los componentes para usarlo para codificar crípticamente y descodificar crípticamente datos; y autentifiquen componentes adicionales usando el autentificador separado.
  45. 45. El uno o más medios legibles por computadora de la reivindicación 44, en donde la inferíase autentificable regresa una o más de: una lista de interfases de autentificación de los componentes corriente abajo, una lista de interfases proxy de autentificación de componentes corriente abajo, una lista de componentes dependientes en las cuales verificar firmas, y número de sesión clave para la cadena de autentificadores .
  46. 46. Un dispositivo de computación que incluye los medios legibles por computadora de la reivindicación 44.
  47. 47. Un dispositivo de computación que comprende: memoria; uno o más procesadores; instrucciones en la memoria las cuales, cuando son ejecutadas por el uno o más procesadores, causan que el uno o más procesadores: establezcan múltiples trayectos de componentes que son para procesar y representar datos digitales, componentes individuales que soportan una o más de una interfase autentificable y una interfase proxy de autentificación, comprendiendo los múltiples trayectos un trayecto de video para procesar datos de video digital, y un trayecto de audio para procesar datos de audio digital, retornando la interfase autentificable uno o más de: una lista de interfases de autentificación de componentes corriente abajo, una lista de interfases proxy de autentificación de componentes corriente abajo, y una lista de componentes dependientee en las cuales verificar firmas, y número de sesión clave para la cadena de autentificadores ; traduzcan, si es necesario, datos de administración de derechos digitales que están asociados con los datos digitales y usar los datos de administración de derechos digitales traducidos para proteger los datos digitales durante el procesamiento de los datos digitales; creen un primer autentificador para autentificar componentes individuales de uno o más trayectos; llamen, con el primer autentificado , a una o más interfases autentificables en uno o más componentes respectivos para verificar componentes corriente abajo de los componentes que son llamados; autentifiquen uno o más componentes corriente abajo usando el primer autentificador; para los componentes que soportan una interfase proxy de autentificación y una interfase de autentificación, crear un autentificador por separado; establezcan un canal codificado crípticamente entre el primer autentificador y uno o más de los autentificadores separados y usar el canal para proporcionar claves de codificación críptica / descodi icación críptica a los componentes para usarlo para codificar crípticamente y descodificar crípticamente datos; y autentifiquen componentes adicionales usando el autentificador separado.
  48. 48. Un método que comprende: establecer uno o más trayectos de componentes que son para procesar y representar datos digitales; recibir datos codificados crípticamente que van a ser procesados por el uno o más trayectos, estando sujetos los datos codificados crípticamente a una licencia que define de qué manera los datos codificados crípticamente van a ser procesados; crear múltiples autentificadores para autentificar componentes a lo largo de uno o más trayectos, siendo creado cuando menos un autentificadora través del límite del dispositivo en un dispositivo remoto; proporcionar un canal de comunicación segura entre los autentificadores ; consultar, con los autentificadores, los componentes individuales de uno o más trayectos para verificar a cuáles componentes pasan datos los componentes consultados ; intentar autentificar, con los autentificadores , los componentes consultados y los componentes a los que los componentes consultados pasan datos; y establecer claves de codificación críptica / descodificación críptica con múltiples componentes del uno o más trayectos para los componentes que usan para codificar crípticamente y descodificar crípticamente datos.
  49. 49. El método de la reivindicación 48, en donde la licencia especifica una o más listas de revocación que pueden ser utilizadas para verificar si los componentes individuales han sido comprometidos o no.
  50. 50. El método de la reivindicación 48, en donde la licencia especifica un nivel de seguridad que se va a usar para proteger los datos codificados crípticamente.
  51. 51. El método de la reivindicación 48, en donde el acto de establecer las claves de codificación críptica / descodificación críptica comprende usar el canal de comunicación segura entre los autentificadores para establecer las claves de codificación críptica / descodificación críptica.
  52. 52. El método de la reivindicación 48, en donde el acto de establecer las claves de codificación críptica / descodificación críptica comprende establecer claves basadas en sesiones .
  53. 53. El método de la reivindicación 48 que además comprende reautentificar periódicamente los componentes usando los autentificadores .
  54. 54. El método de la reivindicación 48, en donde el acto de crear los autentificadores múltiples comprende crear cuando menos un autentificador de modo usuario para autentificar componentes de modo usuario, y cuando menos un autentificador de modo núcleo para autentificar componentes modo núcleo.
  55. 55. El método de la reivindicación 48 que además comprende traducir, si es necesario, datos administración de derechos digitales que se asocian con los datos codificados crípticamente y usar los datos administración de derechos digitales traducidos para proteger los datos codificados crípticamente durante el proceso de representación.
  56. 56. Uno o más medios legibles por computadora que tienen instrucciones legibles por computadora en los mismos los cuales, cuando son ejecutados por uno o más procesadores, causan que los procesadores implementen el método de la reivindicación 48.
  57. 57. Cuando menos dos dispositivos de computación configurados para implementar el método de la reivindicación 48.
  58. 58. Un sistema que comprende: uno o más componentes configurados para ser usados en una cadena de procesamiento de componentes que procesan contenido protegido que va a ser representado para un usuario ; componentes individuales que soportan una o más de una interfase autentificable y una inferíase proxy de autentificación; la interfase autentificable es llamable por un autentificador para devolver, al autentificador : una lista de interfases de autentifícación de componentes corriente abajo, una lista de interfases proxy de autentificación de componentes corriente abajo, y una lista de componentes dependientes en los cuales verificar firmas; la interfase proxy de autentificación proporciona métodos para leer y escribir datos desde y hacia los autentificadores .
  59. 59. El sistema de la reivindicación 58, en donde la interfase autentificable retorna números de sesiones clave para la cadena de autentificadores .
  60. 60. El sistema de la reivindicación 58, en donde cuando menos un componente comprende un representador.
  61. 61. El sistema de la reivindicación 58, en donde cuando menos un componente comprende un representador que soporta ambas interfases.
  62. 62. El sistema de la reivindicación 58, en donde cuando menos un componente comprende un desmultiplexor .
  63. 63. El sistema de la reivindicación 58, en donde cuando menos un componente comprende un descodificador .
  64. 64. El sistema de la reivindicación 58, en donde cuando menos un componente comprende un descodificador de video .
  65. 65. El sistema de la reivindicación 58, en donde cuando menos un componente comprende un descodificador de audio .
  66. 66. El sistema de la reivindicación 58, en donde cuando menos un componente comprende un codificador críptico.
  67. 67. El sistema de la reivindicación 58, en donde cuando menos un componente comprende un codificador críptico de audio.
  68. 68. El sistema de la reivindicación 58, en donde cuando menos un componente comprende un codificador críptico de video.
  69. 69. El sistema de la reivindicación 58, en donde cuando menos un componente comprende un representador de red.
  70. 70. Un sistema que comprende: múltiples dispositivos de computación, cuando menos un dispositivo de computación que comprende un dispositivo de computación anfitrión y cuando menos un dispositivo de computación que comprende un dispositivo de computación remoto, los dispositivos de computación individuales comprenden : uno o más componentes configurados para ser usados en una cadena de procesamiento de componentes que procesan contenido protegido que va a ser representado para un usuario ; componentes individuales que soportan uno o más de una interfase autentificable y una interfase proxy de autentificación; la interfase autentificable es llamable por un autentificador para retornar, al autentificador, uno o más de : una lista de interfases de autentificación de componentes corriente abajo, una lista de interfases proxy de autentificación de componentes corriente abajo, y una lista de componentes dependientes en los cuales verificar firmas; la interfase proxy de autentificación proporciona métodos para leer y escribir datos desde y hacia los autentificadores .
MXPA03004890A 2002-06-24 2003-05-30 Metodos, sistemas y arquitecturas de trayectos seguros de medios. MXPA03004890A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/178,256 US7296154B2 (en) 2002-06-24 2002-06-24 Secure media path methods, systems, and architectures

Publications (1)

Publication Number Publication Date
MXPA03004890A true MXPA03004890A (es) 2005-02-14

Family

ID=27733935

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA03004890A MXPA03004890A (es) 2002-06-24 2003-05-30 Metodos, sistemas y arquitecturas de trayectos seguros de medios.

Country Status (15)

Country Link
US (5) US7296154B2 (es)
EP (2) EP1376302B1 (es)
JP (3) JP4447253B2 (es)
KR (1) KR101046822B1 (es)
CN (1) CN100424677C (es)
AU (2) AU2003204380B2 (es)
BR (1) BR0302113A (es)
CA (4) CA2771080C (es)
MX (1) MXPA03004890A (es)
MY (1) MY138640A (es)
NO (2) NO338943B1 (es)
PL (1) PL360755A1 (es)
RU (1) RU2323473C2 (es)
TW (1) TWI269572B (es)
ZA (1) ZA200303975B (es)

Families Citing this family (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103574B1 (en) * 1999-03-27 2006-09-05 Microsoft Corporation Enforcement architecture and method for digital rights management
US7584493B2 (en) * 2002-04-29 2009-09-01 The Boeing Company Receiver card technology for a broadcast subscription video service
US7296154B2 (en) * 2002-06-24 2007-11-13 Microsoft Corporation Secure media path methods, systems, and architectures
JP2004087062A (ja) * 2002-06-25 2004-03-18 Sony Corp データ記録媒体、識別情報記録方法、識別情報記録装置、識別情報再生方法、識別情報再生装置、情報サービス方法、情報サービスシステム
US8064508B1 (en) * 2002-09-19 2011-11-22 Silicon Image, Inc. Equalizer with controllably weighted parallel high pass and low pass filters and receiver including such an equalizer
US20050144468A1 (en) * 2003-01-13 2005-06-30 Northcutt J. D. Method and apparatus for content protection in a personal digital network environment
US7502470B2 (en) * 2003-01-13 2009-03-10 Silicon Image, Inc. Method and apparatus for content protection within an open architecture system
US7203965B2 (en) * 2002-12-17 2007-04-10 Sony Corporation System and method for home network content protection and copy management
US8230084B2 (en) * 2002-12-17 2012-07-24 Sony Corporation Network management in a media network environment
EP1626327A1 (en) * 2003-02-03 2006-02-15 Tennessee Pacific Group. L.L.C. Distribution and rights management of digital content
US20050004873A1 (en) * 2003-02-03 2005-01-06 Robin Pou Distribution and rights management of digital content
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
AU2003230086A1 (en) * 2003-05-15 2004-12-03 Nokia Corporation Transferring content between digital rights management systems
AU2003229234A1 (en) * 2003-05-30 2005-01-21 Privasphere Gmbh System and method for secure communication
EP2270622B1 (en) * 2003-06-05 2016-08-24 Intertrust Technologies Corporation Interoperable systems and methods for peer-to-peer service orchestration
US7555540B2 (en) * 2003-06-25 2009-06-30 Microsoft Corporation Media foundation media processor
US7949132B2 (en) * 2003-07-01 2011-05-24 Microsoft Corporation Modular architecture to unify the playback of DVD technologies
US7788496B2 (en) 2003-10-08 2010-08-31 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf thereof
US8103592B2 (en) 2003-10-08 2012-01-24 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf of first process
US7979911B2 (en) 2003-10-08 2011-07-12 Microsoft Corporation First computer process and second computer process proxy-executing code from third computer process on behalf of first process
DE602004015823D1 (de) * 2003-10-22 2008-09-25 Nxp Bv Verwaltungseinheit für digitale rechte für ein verwaltungssystem für digitale rechte
WO2005071515A1 (en) * 2004-01-22 2005-08-04 Koninklijke Philips Electronics N.V. Method of authorizing access to content
US7512787B1 (en) * 2004-02-03 2009-03-31 Advanced Micro Devices, Inc. Receive IPSEC in-line processing of mutable fields for AH algorithm
US20050193396A1 (en) * 2004-02-27 2005-09-01 Stafford-Fraser James Q. Computer network architecture and method of providing display data
US8549166B2 (en) * 2004-03-01 2013-10-01 Qualcomm Incorporated Execution of unverified programs in a wireless, device operating environment
US7703141B2 (en) 2004-03-11 2010-04-20 Microsoft Corporation Methods and systems for protecting media content
US7565438B1 (en) 2004-03-30 2009-07-21 Sprint Communications Company L.P. Digital rights management integrated service solution
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US8074287B2 (en) * 2004-04-30 2011-12-06 Microsoft Corporation Renewable and individualizable elements of a protected environment
US7530093B2 (en) * 2004-04-30 2009-05-05 Microsoft Corporation Securing applications and operating systems
US20050262568A1 (en) * 2004-05-18 2005-11-24 Hansen Mark D System and method for managing access to protected content by untrusted applications
US8090837B2 (en) * 2004-05-27 2012-01-03 Hewlett-Packard Development Company, L.P. Communication in multiprocessor using proxy sockets
GB2427785B (en) * 2004-06-14 2008-02-27 Rok Productions Ltd Providing audio-visual content
JP4333494B2 (ja) * 2004-06-17 2009-09-16 ソニー株式会社 コンテンツ再生装置,コンテンツ再生方法,コンテンツ管理装置,コンテンツ管理方法およびコンピュータプログラム。
CN100437419C (zh) * 2004-06-24 2008-11-26 索尼株式会社 信息处理设备和方法、信息记录媒体以及计算机程序
US20060005227A1 (en) * 2004-07-01 2006-01-05 Microsoft Corporation Languages for expressing security policies
US7657923B2 (en) * 2004-07-23 2010-02-02 Microsoft Corporation Framework for a security system
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US20060089917A1 (en) * 2004-10-22 2006-04-27 Microsoft Corporation License synchronization
US8156049B2 (en) * 2004-11-04 2012-04-10 International Business Machines Corporation Universal DRM support for devices
KR100761270B1 (ko) * 2004-11-06 2007-09-28 엘지전자 주식회사 광고컨텐츠가 첨부된 디지털저작권관리 컨텐츠 처리 방법및 장치
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US8291236B2 (en) * 2004-12-07 2012-10-16 Digital Keystone, Inc. Methods and apparatuses for secondary conditional access server
US7860802B2 (en) * 2005-02-01 2010-12-28 Microsoft Corporation Flexible licensing architecture in content rights management systems
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8725646B2 (en) * 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US20060232592A1 (en) * 2005-04-18 2006-10-19 Faso Paul L Method of Internet surfing to eliminate the risk of receiving malicious code
WO2006115220A1 (ja) * 2005-04-21 2006-11-02 Matsushita Electric Industrial Co., Ltd. コンテンツ管理システム
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US8091142B2 (en) 2005-04-26 2012-01-03 Microsoft Corporation Supplementary trust model for software licensing/commercial digital distribution policy
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
KR100686928B1 (ko) 2005-05-20 2007-02-26 주식회사 케이티프리텔 Drm을 이용한 음원 편집 방법 및 장치
US7827554B2 (en) * 2005-06-20 2010-11-02 Microsoft Corporation Multi-thread multimedia processing
EP1894078A1 (en) * 2005-06-23 2008-03-05 Thomson Licensing Digital rights management (drm) enabled portable playback device, method and system
US7376976B2 (en) * 2005-07-11 2008-05-20 Microsoft Corporation Transcryption of digital content between content protection systems
DE102005033285C5 (de) * 2005-07-15 2019-11-07 Institut für Rundfunktechnik GmbH Consumer-Electronic-Gerät
US7681238B2 (en) * 2005-08-11 2010-03-16 Microsoft Corporation Remotely accessing protected files via streaming
US20080025507A1 (en) * 2005-09-02 2008-01-31 Taylor Stephen F Secure file conversion and multimedia sampler processing
US9626667B2 (en) 2005-10-18 2017-04-18 Intertrust Technologies Corporation Digital rights management engine systems and methods
EA200901153A1 (ru) 2005-10-18 2010-04-30 Интертраст Текнолоджиз Корпорейшн Системы и способы на основе механизма управления цифровыми правами
US8407146B2 (en) * 2005-10-28 2013-03-26 Microsoft Corporation Secure storage
KR100774172B1 (ko) * 2005-12-02 2007-11-08 엘지전자 주식회사 영상기기 및 그의 제어 방법
US8429752B2 (en) 2006-01-23 2013-04-23 Upload Technologies S.A. System and method for digital rights management of digital media
KR100757845B1 (ko) * 2006-02-13 2007-09-11 (주)잉카엔트웍스 클라이언트 기기로 암호화된 컨텐츠에 대응하는 라이센스를제공하는 방법 및 상기 방법을 채용한 drm 변환 시스템
US9313248B2 (en) * 2006-04-13 2016-04-12 Johnny Stuart Epstein Method and apparatus for delivering encoded content
US20070255659A1 (en) * 2006-05-01 2007-11-01 Wei Yen System and method for DRM translation
US10229276B2 (en) * 2006-06-12 2019-03-12 Adobe Inc. Method and apparatus for document author control of digital rights management
US20070294699A1 (en) * 2006-06-16 2007-12-20 Microsoft Corporation Conditionally reserving resources in an operating system
JP2008005304A (ja) * 2006-06-23 2008-01-10 Toshiba Corp 著作権保護システム、著作権保護装置及び映像処理装置
US8145532B2 (en) 2006-06-27 2012-03-27 Microsoft Corporation Connecting devices to a media sharing service
US7882356B2 (en) * 2006-10-13 2011-02-01 Microsoft Corporation UPnP authentication and authorization
KR100895462B1 (ko) 2006-10-23 2009-05-06 한국전자통신연구원 디지털 저작권 관리 시스템에서의 콘텐츠 유통 관리 방법
US20080109911A1 (en) * 2006-11-03 2008-05-08 Microsoft Corporation Send/Lend Business Rights
US8190918B2 (en) * 2006-11-13 2012-05-29 Disney Enterprises, Inc. Interoperable digital rights management
US20080127142A1 (en) * 2006-11-28 2008-05-29 Microsoft Corporation Compiling executable code into a less-trusted address space
WO2008084425A2 (en) * 2007-01-11 2008-07-17 Nds Limited Processing video content
US8300818B2 (en) * 2007-02-27 2012-10-30 Sony Corporation System and method for effectively protecting electronic content information
US8302200B2 (en) * 2007-04-27 2012-10-30 Tl Digital Systems L.L.C. Protected intra-system interconnect for digital rights management in electrical computers and digital data processing systems
US8085743B2 (en) * 2007-07-20 2011-12-27 Broadcom Corporation Method and system for enabling rendering of electronic media content via a secure ad hoc network configuration utilizing a handheld wireless communication device
US8332922B2 (en) * 2007-08-31 2012-12-11 Microsoft Corporation Transferable restricted security tokens
CN101146261B (zh) * 2007-10-19 2010-12-08 深圳掌媒科技有限公司 一种电子媒体数字保护的实现方法
US8478959B1 (en) 2007-11-13 2013-07-02 Nvidia Corporation Method and system for protecting content in graphics memory
CN101448094B (zh) * 2007-11-28 2012-06-06 新奥特(北京)视频技术有限公司 一种用于快速导入媒体素材的方法
US8291501B2 (en) * 2008-02-08 2012-10-16 Cheng Holdings, Llc Validation of protected intra-system interconnects for digital rights management in electrical computers and digital data processing systems
US8656499B1 (en) * 2008-03-14 2014-02-18 Sprint Spectrum L.P. Client-side bit-stripping system and method
US8789168B2 (en) * 2008-05-12 2014-07-22 Microsoft Corporation Media streams from containers processed by hosted code
US8516562B2 (en) * 2008-05-13 2013-08-20 Veritrix, Inc. Multi-channel multi-factor authentication
US8006291B2 (en) * 2008-05-13 2011-08-23 Veritrix, Inc. Multi-channel multi-factor authentication
US8536976B2 (en) * 2008-06-11 2013-09-17 Veritrix, Inc. Single-channel multi-factor authentication
US8468358B2 (en) 2010-11-09 2013-06-18 Veritrix, Inc. Methods for identifying the guarantor of an application
US8095518B2 (en) * 2008-06-04 2012-01-10 Microsoft Corporation Translating DRM system requirements
US8245308B2 (en) * 2008-06-04 2012-08-14 Microsoft Corporation Using trusted third parties to perform DRM operations
US8166297B2 (en) 2008-07-02 2012-04-24 Veritrix, Inc. Systems and methods for controlling access to encrypted data stored on a mobile device
WO2010031069A2 (en) * 2008-09-15 2010-03-18 Realnetworks, Inc. Secure media path system and method
EP2353125A4 (en) 2008-11-03 2013-06-12 Veritrix Inc USER AUTHENTICATION FOR SOCIAL NETWORKS
US20100212016A1 (en) * 2009-02-18 2010-08-19 Microsoft Corporation Content protection interoperrability
US9805196B2 (en) 2009-02-27 2017-10-31 Microsoft Technology Licensing, Llc Trusted entity based anti-cheating mechanism
US9160988B2 (en) 2009-03-09 2015-10-13 The Nielsen Company (Us), Llc System and method for payload encoding and decoding
US8332536B2 (en) * 2009-06-11 2012-12-11 International Business Machines Corporation Content protection continuity through authorized chains of components
US20110185179A1 (en) * 2009-08-26 2011-07-28 Viswanathan Swaminathan System And Method For Digital Rights Management With A Lightweight Digital Watermarking Component
US9027143B1 (en) * 2009-08-26 2015-05-05 Adobe Systems Incorporated System and method for multipronged authentication
US20110169844A1 (en) * 2009-09-16 2011-07-14 Nvidia Corporation Content Protection Techniques on Heterogeneous Graphics Processing Units
EP2585964A1 (en) * 2010-06-23 2013-05-01 Koninklijke Philips Electronics N.V. Interoperability between a plurality of data protection systems
KR101305740B1 (ko) * 2010-09-10 2013-09-16 삼성전자주식회사 비휘발성 저장 장치의 인증 방법 및 장치
US9710616B2 (en) 2010-12-15 2017-07-18 Ericsson Ab DRM plugins
CN102065096B (zh) * 2010-12-31 2014-11-05 惠州Tcl移动通信有限公司 播放器、移动通讯设备、鉴权服务器、鉴权系统及方法
US20120216048A1 (en) * 2011-02-17 2012-08-23 Nikos Kaburlasos System, method and computer program product for application-agnostic audio acceleration
CN102164319A (zh) * 2011-04-08 2011-08-24 北京数字太和科技有限责任公司 传输码流ts的安全传输方法和装置
EP2697929A4 (en) 2011-04-11 2014-09-24 Intertrust Tech Corp INFORMATION SECURITY SYSTEMS AND METHODS
US8474014B2 (en) 2011-08-16 2013-06-25 Veritrix, Inc. Methods for the secure use of one-time passwords
KR101857791B1 (ko) * 2011-08-30 2018-05-16 삼성전자주식회사 컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법
JP5908991B2 (ja) * 2011-12-21 2016-04-26 インテル・コーポレーション 安全なダイレクトメモリアクセス
JP5981761B2 (ja) * 2012-05-01 2016-08-31 キヤノン株式会社 通信装置、制御方法、プログラム
US8910307B2 (en) 2012-05-10 2014-12-09 Qualcomm Incorporated Hardware enforced output security settings
US9646153B2 (en) * 2012-08-08 2017-05-09 Intel Corporation Securing content from malicious instructions
US10771801B2 (en) 2012-09-14 2020-09-08 Texas Instruments Incorporated Region of interest (ROI) request and inquiry in a video chain
US9418209B2 (en) * 2012-10-02 2016-08-16 Google Technology Holdings LLC Systems and methods for manipulating sensitive information in a secure mobile environment
CN104718764B (zh) * 2012-10-17 2018-04-27 索尼电脑娱乐公司 信息处理设备
US9355253B2 (en) * 2012-10-18 2016-05-31 Broadcom Corporation Set top box architecture with application based security definitions
US9785767B2 (en) 2013-03-15 2017-10-10 Imagine Communications Corp. Systems and methods for determining trust levels for computing components
US10628578B2 (en) 2013-03-15 2020-04-21 Imagine Communications Corp. Systems and methods for determining trust levels for computing components using blockchain
US9887983B2 (en) * 2013-10-29 2018-02-06 Nok Nok Labs, Inc. Apparatus and method for implementing composite authenticators
US9367676B2 (en) 2013-03-22 2016-06-14 Nok Nok Labs, Inc. System and method for confirming location using supplemental sensor and/or location data
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US9247316B2 (en) * 2013-04-23 2016-01-26 Microsoft Technology Licensing, Llc Protected media decoding using a secure operating system
US20150096057A1 (en) * 2013-09-30 2015-04-02 Sonic Ip, Inc. Device Robustness Framework
US10104342B2 (en) * 2013-12-18 2018-10-16 Intel Corporation Techniques for secure provisioning of a digital content protection scheme
US9344419B2 (en) 2014-02-27 2016-05-17 K.Y. Trix Ltd. Methods of authenticating users to a site
US9430619B2 (en) 2014-09-10 2016-08-30 Microsoft Technology Licensing, Llc Media decoding control with hardware-protected digital rights management
KR20160039922A (ko) 2014-10-02 2016-04-12 삼성전자주식회사 영상처리장치 및 그 제어방법
US9594958B2 (en) * 2014-11-24 2017-03-14 Intel Corporation Detection of spoofing attacks for video-based authentication
CA2937342C (en) * 2015-07-31 2019-09-10 Fmr Llc Inserting personalized information into digital content
CN105721790A (zh) * 2016-01-21 2016-06-29 南京新视云网络科技有限公司 一种高清环通庭审直播主机
US9848223B2 (en) * 2016-03-15 2017-12-19 Adobe Systems Incorporated Automatically determining restored availability of multi-channel media distributors for authentication or authorization
US10162943B2 (en) * 2016-04-27 2018-12-25 Comcast Cable Communications, Llc Streamlined digital rights management
US10826875B1 (en) * 2016-07-22 2020-11-03 Servicenow, Inc. System and method for securely communicating requests
US10637853B2 (en) 2016-08-05 2020-04-28 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US10769635B2 (en) 2016-08-05 2020-09-08 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
US12041039B2 (en) 2019-02-28 2024-07-16 Nok Nok Labs, Inc. System and method for endorsing a new authenticator
WO2020190776A1 (en) * 2019-03-15 2020-09-24 Intel Corporation Synchronizing encrypted workloads across multiple graphics processing units
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
US11468197B2 (en) * 2019-05-06 2022-10-11 Apple Inc. Configuring context-based restrictions for a computing device
US11456855B2 (en) * 2019-10-17 2022-09-27 Arm Limited Obfuscating data at-transit
US11095650B1 (en) 2020-02-03 2021-08-17 Bank Of America Corporation Resource transfer authorization decision engine

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473692A (en) * 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
EP1526472A3 (en) * 1995-02-13 2006-07-26 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6058476A (en) * 1996-05-22 2000-05-02 Matsushita Electric Industrial Co., Inc. Encryption apparatus for ensuring security in communication between devices
US6272538B1 (en) * 1996-07-30 2001-08-07 Micron Technology, Inc. Method and system for establishing a security perimeter in computer networks
US5983350A (en) * 1996-09-18 1999-11-09 Secure Computing Corporation Secure firewall supporting different levels of authentication based on address or encryption status
US5825879A (en) * 1996-09-30 1998-10-20 Intel Corporation System and method for copy-protecting distributed video content
GB9626241D0 (en) * 1996-12-18 1997-02-05 Ncr Int Inc Secure data processing method and system
US6374366B1 (en) * 1998-02-24 2002-04-16 Adaptec, Inc. Automated drive repair systems and methods
US7503072B2 (en) 1998-04-29 2009-03-10 Microsoft Corporation Hardware ID to prevent software piracy
US6684332B1 (en) * 1998-06-10 2004-01-27 International Business Machines Corporation Method and system for the exchange of digitally signed objects over an insecure network
US6374355B1 (en) * 1998-07-31 2002-04-16 Lucent Technologies Inc. Method for securing over-the-air communication in a wireless system
US6799270B1 (en) * 1998-10-30 2004-09-28 Citrix Systems, Inc. System and method for secure distribution of digital information to a chain of computer system nodes in a network
US20020012432A1 (en) * 1999-03-27 2002-01-31 Microsoft Corporation Secure video card in computing device having digital rights management (DRM) system
US6829708B1 (en) * 1999-03-27 2004-12-07 Microsoft Corporation Specifying security for an element by assigning a scaled value representative of the relative security thereof
US6816596B1 (en) * 2000-01-14 2004-11-09 Microsoft Corporation Encrypting a digital object based on a key ID selected therefor
US6772340B1 (en) * 2000-01-14 2004-08-03 Microsoft Corporation Digital rights management system operating on computing device and having black box tied to computing device
US7353209B1 (en) 2000-01-14 2008-04-01 Microsoft Corporation Releasing decrypted digital content to an authenticated path
US7177841B2 (en) 2000-01-28 2007-02-13 Canon Kabushiki Kaisha Digital contents distribution system, digital contents distribution method, roaming server, information processor, and information processing method
US7155415B2 (en) * 2000-04-07 2006-12-26 Movielink Llc Secure digital content licensing system and method
US20020010863A1 (en) * 2000-06-08 2002-01-24 Stefan Mankefors Method for protecting software
AU2001271704A1 (en) * 2000-06-29 2002-01-14 Cachestream Corporation Digital rights management
US6931545B1 (en) 2000-08-28 2005-08-16 Contentguard Holdings, Inc. Systems and methods for integrity certification and verification of content consumption environments
JP2002117361A (ja) * 2000-10-06 2002-04-19 Hitachi Ltd 電子決済方法及び電子決済システム
JP4281252B2 (ja) * 2001-01-16 2009-06-17 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム記憶媒体
MXPA02002378A (es) * 2001-03-12 2002-09-24 Ciba Sc Holding Ag "romp con grupos alcoxi eter".
US7203966B2 (en) * 2001-06-27 2007-04-10 Microsoft Corporation Enforcement architecture and method for digital rights management system for roaming a license to a plurality of user devices
US7110982B2 (en) * 2001-08-27 2006-09-19 Dphi Acquisitions, Inc. Secure access method and system
US6865555B2 (en) * 2001-11-21 2005-03-08 Digeo, Inc. System and method for providing conditional access to digital content
US20030126086A1 (en) * 2001-12-31 2003-07-03 General Instrument Corporation Methods and apparatus for digital rights management
US7296154B2 (en) 2002-06-24 2007-11-13 Microsoft Corporation Secure media path methods, systems, and architectures
US6915392B2 (en) * 2002-07-12 2005-07-05 Intel Corporation Optimizing memory usage by vtable cloning

Also Published As

Publication number Publication date
CA2428953C (en) 2013-07-16
TWI269572B (en) 2006-12-21
KR101046822B1 (ko) 2011-07-06
AU2008203013B2 (en) 2010-04-01
NO20032887L (no) 2003-12-29
CA2771080C (en) 2013-07-02
CA2771038A1 (en) 2003-12-24
CA2428953A1 (en) 2003-12-24
EP2492774B1 (en) 2019-12-04
US20080063196A1 (en) 2008-03-13
CA2771057A1 (en) 2003-12-24
MY138640A (en) 2009-07-31
JP2004062886A (ja) 2004-02-26
CN1471021A (zh) 2004-01-28
JP4447253B2 (ja) 2010-04-07
BR0302113A (pt) 2004-09-08
PL360755A1 (en) 2003-12-29
US20060137017A1 (en) 2006-06-22
NO339560B1 (no) 2017-01-02
CA2771038C (en) 2013-03-26
US7653943B2 (en) 2010-01-26
AU2003204380A1 (en) 2004-01-22
NO20151474L (no) 2003-12-25
EP2492774A3 (en) 2012-09-05
EP1376302A2 (en) 2004-01-02
US7552331B2 (en) 2009-06-23
US7296154B2 (en) 2007-11-13
NO338943B1 (no) 2016-10-31
AU2003204380B2 (en) 2008-06-12
CA2771080A1 (en) 2003-12-24
CA2771057C (en) 2014-03-04
JP5129227B2 (ja) 2013-01-30
JP5390000B2 (ja) 2014-01-15
RU2323473C2 (ru) 2008-04-27
AU2008203013A1 (en) 2008-07-31
EP1376302B1 (en) 2019-04-03
TW200400744A (en) 2004-01-01
US7810163B2 (en) 2010-10-05
CN100424677C (zh) 2008-10-08
ZA200303975B (en) 2004-03-25
US20070180246A1 (en) 2007-08-02
EP2492774A2 (en) 2012-08-29
JP2013015862A (ja) 2013-01-24
NO20032887D0 (no) 2003-06-23
US7752674B2 (en) 2010-07-06
KR20040000323A (ko) 2004-01-03
US20060137028A1 (en) 2006-06-22
EP1376302A3 (en) 2005-02-09
US20030236978A1 (en) 2003-12-25
JP2010114919A (ja) 2010-05-20

Similar Documents

Publication Publication Date Title
MXPA03004890A (es) Metodos, sistemas y arquitecturas de trayectos seguros de medios.
RU2310227C2 (ru) Способы и системы для аутентификации компонентов в графической системе
JP4522645B2 (ja) セキュアコンテンツを暗号的に保護する方法およびシステム
Furht et al. Digital Rights Management for Multimedia

Legal Events

Date Code Title Description
FG Grant or registration