BRPI0501325B1 - renderizar conteúdo digital em um sistema de proteção de conteúdo de acordo com uma pluralidade de licenças digitais encadeadas - Google Patents

renderizar conteúdo digital em um sistema de proteção de conteúdo de acordo com uma pluralidade de licenças digitais encadeadas Download PDF

Info

Publication number
BRPI0501325B1
BRPI0501325B1 BRPI0501325A BRPI0501325A BRPI0501325B1 BR PI0501325 B1 BRPI0501325 B1 BR PI0501325B1 BR PI0501325 A BRPI0501325 A BR PI0501325A BR PI0501325 A BRPI0501325 A BR PI0501325A BR PI0501325 B1 BRPI0501325 B1 BR PI0501325B1
Authority
BR
Brazil
Prior art keywords
license
content
leaf
chain
root
Prior art date
Application number
BRPI0501325A
Other languages
English (en)
Inventor
P Evans Brian
P Strom Clifford
Jay Parks Michael
Original Assignee
Microsoft Corp
Microsoft Technology Licensing Llc
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, Microsoft Technology Licensing Llc filed Critical Microsoft Corp
Publication of BRPI0501325A publication Critical patent/BRPI0501325A/pt
Publication of BRPI0501325B1 publication Critical patent/BRPI0501325B1/pt

Links

Classifications

    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H15/00Tents or canopies, in general
    • E04H15/32Parts, components, construction details, accessories, interior equipment, specially adapted for tents, e.g. guy-line equipment, skirts, thresholds
    • E04H15/34Supporting means, e.g. frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H15/00Tents or canopies, in general
    • E04H15/32Parts, components, construction details, accessories, interior equipment, specially adapted for tents, e.g. guy-line equipment, skirts, thresholds
    • E04H15/60Poles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Circuits Of Receivers In General (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

"sintetizando conteúdo digital em um sistema de proteção de conteúdo de acordo com uma pluralidade de licenças digitais encadeadas". trata-se de uma requisição para sintetizar conteúdo criptografado que é recebida e de um encadeamento de licenças correspondendo ao conteúdo que é localizado. o encadeamento inclui uma licença folha ligada com o conteúdo em uma extremidade do encadeamento, uma licença raiz na outra extremidade do encadeamento e quaisquer licenças intermediárias entre as mesmas. cada uma da licença folha e de quaisquer licenças intermediárias no encadeamento é ligada com a licença adjacente no encadeamento em direção à licença raiz e a licença raiz é ligada com um proprietário de uma chave privada (pr-u). para cada licença no encadeamento, a licença é verificada e é confirmado que a licença permite que o conteúdo seja sintetizado. uma chave de decriptografia é obtida a partir da licença folha baseado na aplicação de (pr-u) junto a licença raiz, a chave obtida é aplicada para decriptografar o conteúdo criptografado e o conteúdo decriptografado é sintetizado.

Description

(54) Título: RENDERIZAR CONTEÚDO DIGITAL EM UM SISTEMA DE PROTEÇÃO DE CONTEÚDO DE ACORDO COM UMA PLURALIDADE DE LICENÇAS DIGITAIS ENCADEADAS (51) Int.CI.: H04L 9/32 (30) Prioridade Unionista: 22/04/2004 US 10/831.281 (73) Titular(es): MICROSOFT TECHNOLOGY LICENSING, LLC (72) Inventor(es): BRIAN P. EVANS; CLIFFORD P. STROM; MICHAEL JAY PARKS (85) Data do Início da Fase Nacional: 18/04/2005
RENDERIZAR CONTEÚDO DIGITAL EM UM SISTEMA DE PROTEÇÃO DE CONTEÚDO DE ACORDO COM UMA PLURALIDADE DE LICENÇAS DIGITAIS ENCADEADAS
CAMPO TÉCNICO
A presente invenção relaciona-se com uma arquíte~ tura e método para permitir que o conteúdo digital seja sintetizado em um sistema de proteção de conteúdo de acordo com uma pluralidade de licenças digitais encadeadas, onde cada licença no encadeamento deve ser satisfeita para realme^te renderizar o conteúdo. Mais particularmente, a presente in~ venção relaciona-se com tal arquitetura e método por m©i° dos quais o conteúdo e a licença no encadeamento incluem teferências apropriadas um para o outro.
FUNDAMENTO DA INVENÇÃO
Como é conhecido e referindo-se agora à Fig. 1, um sistema de proteção e reforço de conteúdo é altamente desejável em conexão com o conteúdo digital 12 tal como áudio digital, vídeo digital, texto digital, dados digitais, multimídia digital, etc., onde o tal conteúdo digital 12 é pata ser distribuído para os usuários. Quando sendo recebido pel° usuário, tal usuário sintetiza ou 'executa7 o conteúdo digital com a ajuda de um dispositivo de sintetização apropriado tal como um executor de mídia em um computador pessoal 14, um dispositivo de execução portátil ou coisa parecida.
Tipicamente, um proprietário de conteúdo distribuindo tal conteúdo digital 12 deseja restringir o que o usuário pode fazer com tal conteúdo digital distribuído 12. Pof exemplo, o proprietário do conteúdo pode desejar restringia o usuário de copiar e redistribuir tal conteúdo 12 para um segundo usuário, ou pode desejar permitir que o conteúdo digital distribuído 12 seja executado somente um número limitado de vezes, somente por um certo tempo total, somente em um certo tipo de máquina, somente em um certo tipo de ex®cu“ tor de mídia, somente por um certo tipo de usuário, etc.
Entretanto, após a distribuição ter ocorrido, tal proprietário do conteúdo possui muito pouco, se houver, controle sobre o conteúdo digital 12. Então, um sistema de proteção digital contra cópia 10 permite a sintetização ou exe cução controlada de formas arbitrárias do conteúdo digitai 12, onde tal controle é flexível e pode ser definido ρθ!° proprietário do conteúdo de tal conteúdo digital. Tipicamente, o conteúdo 12 é distribuído para o usuário na forma de um pacote 13 por meio de qualquer canal de distribuição a_ propriado. 0 pacote de conteúdo digital 13 como distribuído pode incluir o conteúdo digital 12 criptografado com uma chave de criptografia / decriptografia simétrica (KD), (isto é, (KD(CONTEÚDO))) , bem como outras informações identificando o conteúdo, como adquirir uma licença para tal conteúdo, etc.
sistema de proteção contra cópia baseado em confiança 10 permite que um proprietário do conteúdo digital 12 especifique regras que devem ser satisfeitas antes que o tal conteúdo digital 12 seja permitido de ser sintetizado. Tais regras podem incluir os requerimentos mencionados anteriormente e/ou outros e podem ser incorporadas dentro de uina licença digital 16 que o usuário / dispositivo de computação ι
do usuário 14 (aqui dentro posteriormente, tais termos podem ser alternados a menos que circunstâncias requeiram de outro * modo) deve obter a partir do proprietário do conteúdo ou úe um agente do mesmo, ou tais regras podem já estar ligadas com o conteúdo 12. Tal licença 16 e / ou regras podem Por exemplo incluir a chave de decriptografia (KD) para decriptografar o conteúdo digital 12, talvez criptografado de acordo com outra chave que pode ser decriptografada pelo dispositivo de computação do usuário ou por outro dispositivo de execução.
O proprietário de conteúdo para uma parte de conteúdo digital 12 preferiria não distribuir o conteúdo 12 Pa“ ra o usuário a não ser que tal proprietário pudesse confiar em que .o usuário irá submeter-se às regras especificadas Pe lo tal proprietário de conteúdo na licença 16 ou em qualqu^r outro lugar. Então, de preferência, o dispositivo de computação do usuário 14 ou outro dispositivo de execução é pt° porcionado com um componente ou mecanismo acreditado 18 gue não irá renderizar o conteúdo digital 12 exceto de acordo com tais regras.
componente acreditado 18 tipicamente possui um avaliador 20 que inspeciona as regras e determina baseado nas regras inspecionadas se o usuário requisitante possui ° direito de renderizar o conteúdo digital requisitado 12 n° modo procurado, dentre outras coisas. Como deve ser entendido, o avaliador 20 é acreditado no sistema de proteção contra cópia 10 para realizar as vontades do proprietário do conteúdo digital 12 de acordo com as regras e o usuário não deve estar apto a facilmente alterar tal componente acreditado 18 e / ou o avaliador 20 para qualquer propósito, nefário ou de outro modo.
Como deve ser entendido, as regras para renderizar o conteúdo 12 podem especificar se o usuário possui direitos para então renderizar baseado em qualquer um dentre vários fatores, incluindo quem é o usuário, onde o usuário está localizado, qual tipo de dispositivo de computação 14 ou dispositivo de execução o usuário está utilizando, qual aplicação de sintetização está chamando o sistema de proteção contra cópia 10, a data, a hora, etc. Em adição, as regras podem limitar a sintetização à um número predeterminado de xecuções, ou tempo predeterminado de execução, por exemplo·
As regras podem ser especificadas de acordo com qualquer linguagem e sintaxe apropriadas. Por exemplo, a linguagem pode simplesmente especificar atributos e valores gue devem ser satisfeitos (a DATA deve ser posterior à X/ por exemplo) , ou pode requerer a performance de funções de acordo com um script especifiçado(SE DATA maior do que X/ ENTÃO FAÇA . . ., por exemplo).
Quando o avaliador 20 determinar que as regras na licença 16 são satisfeitas, o conteúdo digital 12 pode então ser sintetizado. Em particular, para renderizar o conteúdo 12, a chave de decriptografia (KD) é obtida a partir de uma fonte predefinida tal como a licença mencionada anteriormente 16 e é aplicada junto ao (KD(CONTEÚDO)) a partir do pacote de conteúdo 13 para resultar no conteúdo real 12 e o conteúdo real 12 é então realmente sintetizado.
Observe que o componente acreditado 18 pode às vezes ser requerido para manter a informação de estado relevante para a sintetização de uma parte de conteúdo particular 12 e / ou para o uso de uma licença particular 16. P°r exemplo, pode ser o caso em que uma licença particular 16 possui um requerimento de contagem de execução e por consequência o componente acreditado 18 deve se lembrar quantas vezes a licença 16 foi empregada para renderizar o conteúdo correspondente 12 ou quantas vezes a mais a licença 16 pode ser empregada para renderizar o conteúdo correspondente 12. Por consequência, o componente acreditado 18 também pode rn' cluir pelo menos um armazenamento seguro persistente 22 dentro do qual tal informação de estado é de forma persistente mantida de um modo seguro. Assim, o componente confiável 1θ armazena tal informação de estado no tal armazenamento seguro 22 de um modo persistente de modo gue a tal informação de estado seja mantida mesmo através de sessões de uso no dispositivo de computação 14. Tal armazenamento seguro 22 está provavelmente localizado no dispositivo de computação 14 do componente acreditado 18, apesar do tal armazenamento seguro 22 poder estar alternativamente localizado em qualquer outro lugar.
Em um sistema de proteção contra cópia 10, o conteúdo 12 é empacotado para uso por um usuário por criptogra25 _ far tal conteúdo 12 e associar um conjunto de regras com ° conteúdo 12, por meio do que o conteúdo 12 pode ser sinteti~ zado somente de acordo com as regras. Então, devido ao fato do conteúdo 12 somente poder ser sintetizado de acordo com as regras, o conteúdo 12 pode ser livremente distribuído. Tipicamente, o conteúdo 12 é criptografado de acordo com uma chave simétrica tal como a chave mencionada anteriormente (KD) para resultar em (KD(conteúdo)) e, portanto, (KD(conteúdo)) também é decriptografada de acordo com (FD) para resultar no conteúdo 12. Tal (KD) é por sua vez inclui da dentro da licença 16 correspondendo ao conteúdo 12. FrC qüentemente, tal (KD) é criptografada de acordo com uma chave pública tal como a chave pública do dispositivo de computação 14 (PU-C) no qual o conteúdo 12 é para ser sintetizado, resultando em (PU-C(KD)). Contudo, observe que outras chaves públicas podem ser empregadas, tal como por exempl° uma chave pública de um usuário, uma chave pública de um grupo do qual o usuário é um membro, etc.
Somente uma única licença 16 foi requerida até gora para renderizar o conteúdo correspondente 12. Tal únioa licença 16 está tipicamente ligada com um único usuário, com uma única máquina, com um único grupo de usuários ou coisa parecida, como representado pela criptografia de chave pública (KD) dentro de tal licença. De forma correspondentet somente um possuidor da chave privada correspondendo à tal chave pública pode acessar (KD), supondo obviamente que um componente acreditado 18 permite isto. Entretanto, é pata ser apreciado que existem casos em que pode ser vantajoso requerer várias licenças 16 para renderizar tal conteúdo 12·
Para um exemplo, uma das várias licenças 16 pode especificar uma primeira de duas partes das regras para renderizar o conteúdo 12 e outra das várias licenças 16 pode especificar uma segunda das duas partes das regras para renderizar o conteúdo 12. Para outro exemplo, por requerer várias licenças 16 para renderizar o conteúdo 12, uma licença 16 poderia ser ligada com uma ou mais licenças 16, assim formando uma seqüência ou 'encadeamento' de licenças ligadas ou 'encadeadas' 16 levando à uma licença raiz 16. Em tal situação e como deve ser apreciado, as regras em cada licença encadeada 16 devem ser satisfeitas para permitir que o conteúdo correspondente 12 seja sintetizado.
Contudo, observe que não existe arquitetura ou método para definir como ligar uma licença encadeada 16 com outra licença encadeada 16, como percorrer de uma licença encadeada 16 até a próxima ou como empregar um encadeamento de licenças 16 para renderizar o conteúdo 12. Por conseqüên15 cia, existe a necessidade por uma arquitetura e método que efetuem a ligação de uma licença encadeada 16 com outra licença encadeada 16, percorrendo a partir de uma licença θηcadeada 16 até a próxima e empregando um encadeamento de licenças 16 para renderizar o conteúdo 12, dentre outras coi“ sas.
SUMÁRIO DA INVENÇÃO
As necessidades mencionadas anteriormente são satisfeitas pelo menos em parte pela presente invenção na qual um método é proporcionado para renderizar conteúdo digital criptografado em um dispositivo de computação de acordo com um encadeamento de licenças. No método, uma requisição para renderizar o conteúdo é recebida e o encadeamento de licenças correspondendo ao conteúdo é localizado. O encadeamento inclui uma licença folha ligada com o conteúdo em uma extremidade do encadeamento, uma licença raiz na outra extremidade do encadeamento e quaisquer licenças intermediárias entre as mesmas. Cada uma dentre a licença folha e quaisquer li cenças intermediárias no encadeamento é ligada com a licença adjacente no encadeamento em direção à licença raiz e a li cença raiz é ligada com um proprietário de uma chave privada (PR-U).
Para cada licença no encadeamento, a licença é ve10 rificada e é confirmado que a licença permite que o conteúdo seja sintetizado. Uma chave de decriptografia para decript°J grafar o conteúdo é obtida a partir da licença folha baseado na aplicação da (PR-U) junto à licença raiz e na decriptografia de chaves de encadeamento dentro do encadeamento, a chave obtida é aplicada junto ao conteúdo criptografado para decriptografar o mesmo e o conteúdo decriptografado é sintetizado.
BREVE DESCRIÇÃO DOS DESENHOS
O sumário precedente, bem como a descrição deta20 lhada seguinte das modalidades da presente invenção, serão melhor entendidos quando lidos em conjunto com os desenhos anexos. Para o propósito de ilustrar a invenção, são apresentadas nos desenhos modalidades que são presentemente preferidas. Entretanto, como deve ser entendido, a invenção não está limitada às disposições e instrumentalidades precisas apresentadas. Nos desenhos:
A Fig. 1 é um diagrama de blocos apresentando uma arquitetura de reforço de um exemplo de um sistema baseado em confiança, incluindo um dispositivo de computação com nm componente acreditado para receber uma licença digital correspondendo ao conteúdo digital e permitir a sintetização do conteúdo somente de acordo com a licença;
A Fig. 2 é um diagrama de blocos representando nm sistema de computador de propósito geral no qual os aspectoS da presente invenção e/ou partes da mesma podem ser incorporados .
A Fig. 3 é um diagrama de blocos apresentando a relação entre o conteúdo digital e a licença digital da Fig1 quando a licença digital é desencadeada;
A Fig. 4 é um diagrama de blocos apresentando a relação entre o conteúdo digital da Fig. 1 e uma pluralidade de licenças digitais encadeadas de acordo com uma modalidade da presente invenção; e
A Fig. 5 é um fluxograma apresentando etapas chave executadas pelo componente acreditado da Fig. 1 ao se percorrer o encadeamento da Fig. 4 no decorrer da determinação quanto a se permitir que o conteúdo seja sintetizado de cordo com uma modalidade da presente invenção.
DESCRIÇÃO DETALHADA DA INVENÇÃO
AMBIENTE DE COMPUTADOR
A Fig. 1 e a seguinte discussão são pretendidas para proporcionar uma breve descrição geral de um ambiente de computação adequado no qual a presente invenção e / ou partes da mesma podem ser implementadas. Apesar de não set requerido, a invenção é descrita no contexto geral de ins truções executáveis por computador, tais como módulos de programa, sendo executados por um computador, tal como uma estação de trabalho cliente ou um servidor. Geralmente, °s módulo de programa incluem rotinas, programas, objetos, componentes, estruturas de dados e coisa parecida que executam tarefas particulares ou implementam tipos de dados abstratos articulares. Além disso, deve ser apreciado que a invenção θ / ou partes da mesma podem ser praticadas com outras confi gurações de sistema de computador, incluindo dispositivos portáteis, sistemas com múltiplos processadores, componentes eletrônicos baseados em microprocessador ou programáveis do consumidor, PCs da rede, minicomputadores, computadores de grande porte e coisa parecida. A invenção também pode ser praticada em ambientes de computação distribuída onde as tarefas são executadas por dispositivos de processamento remoto que estão ligados através de uma rede de comunicações. um ambiente de computação distribuída, os módulos de programa podem estar localizados nos dispositivos de armazenamento era memória tanto local como remota.
Como apresentado na Fig. 2, um sistema de computação de propósito geral ilustrativo inclui um computador pessoal convencional 120 ou coisa parecida, incluindo uma unidade de processamento 121, uma memória do sistema 122 e um barramento do sistema 123 que acopla vários componentes do sistema incluindo a memória do sistema com a unidade de processamento 121. O barramento do sistema 123 pode ser qualquer um dentre vários tipos de estruturas de barramentos incluindo um barramento de memória ou controlador de memória, um barramento periférico e um barramento local utilizarido qualquer uma dentre uma variedade de arquiteturas de barra mento. A memória do sistema inclui a memória somente leitura (ROM) 124 e a memória de acesso randômico (RAM) 125. Um sistema básico de entrada / saída 126 (BIOS), contendo as rotinas básicas que ajudam a transferir informações entre os θ lementos dentro do computador pessoal 120, tal como dur#nte a inicialização, é armazenado na ROM 124.
computador pessoal 120 pode adicionalmente in“ cluir um controlador de disco rígido 127 para leitura e vação junto á um disco rígido (não apresentado), um controlador de disco magnético 128 para leitura e gravação junto a um disco magnético removível 129 e um controlador de dísc° ótico 130 para leitura e gravação junto á um disco ótico removível 131 tal como um CD-ROM ou outro meio ótico. O controlador de disco rígido 127, o controlador de disco magrfe tico 128 e o controlador de disco ótico 130 estão conecta^03 com o barramento do sistema 123 por uma interface do contí°J lador de disco rígido 132, por uma interface do controlad°r de disco magnético 133 e por uma interface do controlador ótico 134, respectivamente. Os controlador e seus meios le gíveis por computador associados proporcionam o armazenamen“ to não volátil de instruções legíveis por computador, estru“ turas de dados, módulos de programa e de outros dados para ° computador pessoal 120.
Apesar da modalidade ilustrativa descrita aqtii dentro empregar um disco rígido, um disco magnético removi” vel 129 e um disco ótico removível 131, deve ser aprecia<d° que outros tipos de meios legíveis por computador que possam armazenar dados que sejam acessíveis por um computador também podem ser utilizados no ambiente operacional ilustrativo. Tais outros tipos de meios incluem um cassete magnético, um cartão de memória flash, um disco de vídeo digital, um cartucho de Bernoulli, uma memória de acesso randômico (RAM) e uma memória somente leitura (ROM) e coisa parecida.
Uma série de módulos de programa podem ser armazenados no disco rígido, no disco magnético 129, no disco ótico 131, na ROM 124 ou na RAM 125, incluindo um sistema operacional 135, um ou mais programas de aplicação 136, outros módulos de programa 137 e dados de programa 138. Um usuário pode entrar com comandos e informação no computador pessoal 120 através de dispositivos de entrada tais como um teclado 140 e o dispositivo de apontamento 142. Outros dispositivoS de entrada (não apresentados) podem incluir um joystick, plataforma de jogo, antena de satélite, digitalizador ou coisa parecida. Estes e outros dispositivos de entrada estão freqüentemente conectados com a unidade de processamento 121 através de uma interface de portal serial 146 que está acoplada com o barramento do sistema, mas podem ser conectados por outras interfaces, tal como uma porta paralela, porta de jogo ou barramento serial universal (USB) . Um monitor 147 ou outro tipo de dispositivo de exibição também está conectado com o barramento do sistema 123 via uma interface, tal como um adaptador de vídeo 148. Em adição ao monitor 147, um computador pessoal tipicamente inclui outros dispositivos periféricos de saída (não apresentados) , tais como alto-falantes e impressoras. O sistema ilustrativo da Fig. 2 também inclui um adaptador hospedeiro 155, um barramento da Interface de Sistema de Computador Pequeno (SCSI) 156 e um dispositivo de armazenamento externo 162 conectado com o barramento SCSI
156.
O computador pessoal 120 pode operar em um ambiente em rede utilizando conexões lógicas com um ou mais computadores remotos, tal como um computador remoto 149. 0 computador remoto 149 pode ser outro computador pessoal, um servidor, um roteador, um PC da rede, um dispositivo par ou outro nó comum da rede e tipicamente inclui vários ou todos os elementos descritos acima relativos ao computador pessoal 120, apesar de somente um dispositivo de armazenamento em memória 150 ter sido ilustrado na Fig. 2. As conexões lógicas descritas na Fig. 2 incluem uma rede de área local (LAN) 151 e uma rede de área ampla (WAN) 152. Tais ambientes em rede são comuns em escritórios, redes de computador de grandes empresas, em intranets e na Internet.
Quando utilizado em um ambiente em rede LAN, o computador pessoal 120 está conectado com a LAN 151 através de uma interface ou adaptador da rede 153. Quando utilizando em um ambiente em rede WAN, o computador pessoal 120 tipicamente inclui um modem 154 ou outro dispositivo para estabelecer comunicações através da rede de área ampla 152, tal como a Internet. 0 modem 154 o qual pode ser interno ou externo, está conectado com o barramento do sistema 123 via a interface de portal serial 146. Em um ambiente em rede, os módulos de programa descritos em relação ao computador pessoal 120, ou partes dos mesmos, podem ser armazenados ηθ dispositivo de armazenamento em memória remota. Será apreciado que as conexões de rede apresentadas são ilustrativas e que outro dispositivo para estabelecer uma ligação de comunicação entre os computadores pode ser utilizado.
LICENÇAS ENCADEADAS 16 E USO DAS MESMAS
Na presente invenção, o conteúdo 12 pode ser acessado em um dispositivo de computação 14 de acordo com um sistema de proteção de conteúdo 10 que pode processar uma seqüência ou 'encadeamento' das licenças ligadas ou 'encadeadas' 16.
Voltando-se agora para a Fig. 3, é visto que na situação onde uma licença única, não encadeada 16 é ligada com um único usuário, com uma unida máquina, com um único grupo de usuários ou coisa parecida, uma chave pública ria mesma (PU-U) criptografia (KD) dentro de tal licença 16 para resultar em (PU-U(KD)). Assim, somente um possuidor da chave privada (PR-U) correspondendo à tal (PU-U) pode acessar (KD) a partir de tal (PU-U(KD)), supondo sem dúvidas que um componente acreditado 18 permite isto. Em prática, tal licença não encadeada 16 é empregada na seguinte maneira. De forma preliminar, um usuário seleciona um pacote de conteúdo 13 com uma parte de conteúdo 12 correspondendo à licença 16, onde o conteúdo 12 no pacote 13 já está criptografado de a cordo com uma chave de conteúdo (KD) para resultar em (KD(conteúdo)). O pacote 13 também possui uma ID de conteúdo ou 'KID' que identifica o conteúdo 12. Em pelo menos algumas instâncias, tal KID pode representar um valor a partir do qual a chave de conteúdo (KD) para decriptografar o conteúdo pode ser derivada.
De qualquer maneira, tal KID é incluída com a licença não encadeada 16, como é apresentado na Fig. 3 e a licença 16 é presumivelmente armazenada dentro de um armazenamento de licenças ou coisa parecida (não apresentado) e θ indexada dentro do armazenamento de licenças de acordo com a KID no mesmo. Assim, quando da seleção do pacote de conteúdo com a KID na mesma, o componente acreditado 18 pode empregar tal KID para localizar e selecionar a licença 16 no armazenamento de licenças.
Tal licença 16 presumivelmente inclui com a mesma uma assinatura digital baseada nos conteúdos da licença 16 e a chave privada de um emissor da licença (PR-L) e assim tal assinatura pode ser verificada pela aplicação de uma chave pública correspondente do emissor (PU-L) de um modo que deve ser conhecido ou aparente para o público relevante, onde (PU-L) está presumivelmente disponível para o componente acreditado 18. Por consequência, quando da seleção da licença 16, o componente acreditado 18 realmente verifica tal assinatura, e no caso em que a verificação é positiva, o uso da licença 16 para renderizar o conteúdo correspondente 12 continua.
Em particular e como foi relatado acima, a licença 16 também inclui regras ou política que devem ser avaliadas pelo avaliador de licença 20 e satisfeitas antes de permitir que o conteúdo 12 seja sintetizado. Assim, o avaliador de licença 20 realmente avalia as regras na licença 16 para determinar se as regras permitem que o conteúdo 12 seja sinte16 tizado na maneira procurada. Supondo que as regras realmente permitem que o conteúdo 12 seja sintetizado, então, o componente acreditado 18 localiza a (PÜ-U(KD)) como relatada na licença 16 e aplica a (PR-U) ao mesmo para revelar (KD), onde (PR-U) está presumivelmente disponível para o componente acreditado. Como agora deve ser evidente, o componente acreditado 18 pode então aplicar (KD) junto ao (KD(conteúdo)) a partir do pacote de conteúdo 13 para revelar o conteúdo 12 e então envia o conteúdo revelado 12 para uma aplicação apropriada (não apresentada) para sintetização pela mesma.
Novamente, a licença única, não encadeada 16 da Fig. 3 está diretamente ligada com o usuário, máquina, grupo do usuário, etc. por meio da utilização da chave pública (PU-U) do mesmo para criptografar a chave de conteúdo (KD) e por consequência nenhuma outra licença 16 é necessária para renderizar o conteúdo 12 correspondendo à tal licença única 16.
Entretanto, e voltando-se agora para a Fig. 4, em uma modalidade da presente invenção, uma licença encadeada 16 está ligada com outra licença 16 para formar um encadeamento 24 de tais licenças 16, por meio do qual cada licença 16 no encadeamento 24 deve estar presente e estar verificada e as regras em cada licença 'encadeada' 16 devem ser satisfeitas para permitir que o conteúdo correspondente 12 seja sintetizado. Em tal modalidade, e como apresentado, tal encadeamento 24 inclui:
- uma licença 'folha' 161 com a KID do conteúdo correspondente 12 (KID1, aqui);
- uma licença 'raiz' 16r que está ligada com o u17 suário, máquina, grupo do usuário ou coisa parecida por meio da utilização da chave pública (PU-U) da mesma para criptografar um valor que deve ser decriptografado; e zero, uma ou mais licenças intermediárias 16i (uma sendo apresentada na Fig. 4) interconectando a licença folha 161 e a licença raiz 16r para formar o encadeamento 24.
Como visto e como com uma licença não encadeada 16, cada uma da licença folha 161, licença folha 16r e qualquer licença intermediária 161 inclui uma KID (KIDl, KID2, KID3, etc.), um conjunto de regras e uma assinatura digital.
Como também visto, a licença folha 161 e quaisquer licenças intermediárias 161 no encadeamento 24 são distinguídas de uma licença não encadeada 16 pelo fato de que cada tal licença 161, 16i adicionalmente inclui uma KID(x + 1) de ligação ascendente apontando para a próxima licença 16 no encadeamento 24 em direção à licença raiz 16r, seja ela uma licença intermediária 16i ou a licença raiz 16r. A licença folha 161 e quaisquer licenças intermediárias 16i no encadeamento 24 também são dístinguidas de uma licença não encadeada 16 pelo fato de que uma chave de criptografia criptografando a outra chave criptográfica não é (PU-U(KD)). Ao invés disso, no caso da licença folha 161, (KD) é criptografada de acordo com uma chave de ligação simétrica (KLx). Como apresentado, tal (KLx) está disponível a partir da próxima licença 16 no encadeamento 24 em direção à licença raiz 16r. De forma similar, no caso de qualquer licença intermediária 16i, uma chave de ligação simétrica (KL(x-l)) para ser empregada e conexão com a próxima licença 16 no encadeamento em direção à licença folha 161 é criptografada de acordo com outra chave de ligação simétrica (KLx)f onde outra (KLx) está novamente disponível a partir da próxima licença 16 no encadeamento 24 em direção à licença raiz 16r.
Como adicionalmente visto, a licença raiz 16r no encadeamento 24 não inclui qualquer KID(X+1) de ligação ascendente, especialmente porque a licença raiz 16r está na extremidade do encadeamento 24. De forma significativa, na licença raiz 16r, a uma chave de criptografia criptografando a outra chave de criptografia não é (PU-U(KD)), mas ao invés disso é (PU-U) criptografando a chave de ligação simétrica (KL(x-1)) para ser empregada em conexão com a próxima licença 16 no encadeamento 24 em direção à licença folha 161 (isto é, (PU-U(KL(x-1)))) .
Como agora deve ser apreciado, com o encadeamento 24 das licenças 16 como até aqui descrito, cada licença 16, seja ela uma licença folha 161 ou uma licença intermediária 16i, é encadeada para a próxima licença 16 em direção à licença raiz 16r por incluir na mesma a KID(x+l) de ligação ascendente para tal próxima licença 16. Em adição, a licença raiz 16r está ligada com um usuário, máquina, grupo de usuários, etc. pela (PU-U(KL(x-1))) na mesma. De forma correspondente, cada licença 16, seja ela uma licença raiz 16r ou uma licença intermediária 16i, é encadeada para a próxima licença 16 em direção à licença folha 161 por incluir na mesma a chave de ligação simétrica (KL(x-1)) para tal próxima licença 16. Finalmente, é para ser lembrado que a licença folha 161 possui a chave de conteúdo (KD) para decriptogra19 far o conteúdo protegido 12.
Agora, como pode ser apreciado, o encadeamento 24 das licenças 16 como relatado em conexão com a Fig. 4 é empregado por seguir a KID1 em uma parte de conteúdo 12 até a licença folha 161 possuindo tal KID1 e então por seguir a KID(X+1) de ligação ascendente (KID1, KID2, KID3) em cada licença 16 do encadeamento 14 até uma licença raiz 16r sem tal KID(X+1) de ligação ascendente ser encontrada. Após isto, (PR-U) é aplicado junto a (PU-U(KL(x-1))) a partir da licença raiz 16r para revelar a chave de ligação (KL(x-1)) para a próxima licença 16 em direção à licença folha 161 e o encadeamento 24 é percorrido na direção oposta, durante o que, em cada etapa, uma (KLx(KL(x-1))) é decriptografada para revelar (KL(x-1)) se a licença 16 for uma licença intermediária 16i ou senão uma (KL1 (KD) ) é decriptograf ada para revelar (KD) se a licença 16 for a licença folha 161.
De forma significativa, cada licença 16 em um encadeamento particular 24 é avaliado de forma independente com respeito a se a assinatura digital da mesma confere e se as regras da mesma permitem a sintetização do conteúdo 12 no modo procurado. Então, para um encadeamento de licença 24 permitir a sintetização de conteúdo, cada licença 16 deve permitir tal sintetização. Os dados de estado em um armazenamento de dados seguro 22 tal como contagens de ação são mantidos por licença 16 e são manipulados independentemente para cada licença 16 em um encadeamento 24. Por exemplo, se uma licença raiz 16r e uma licença folha 161 formarem um encadeamento completo 24 para o conteúdo particular 12 e cada uma possuir uma contagem de execução, tanto a contagem de execução para a licença raiz 16r como a contagem de execução para a licença folha 161 são de forma apropriada ajustadas quando o encadeamento 24 é empregado para renderizar o conteúdo 12. Se qualquer contagem de execução impedisse que ° conteúdo 12 fosse sintetizado, o conteúdo 12 realmente não é sintetizado, mesmo se a outra contagem pudesse realmente permitir que o conteúdo 12 fosse sintetizado.
Voltando-se agora para a Fig. 5, um método para empregar um encadeamento 24 de licenças tal como estas apre sentadas na Fig. 4 é revelado em maiores detalhes. De forma preliminar, é suposto que cada licença 16 no encadeamento 24 da Fig. 4 esteja presente em um dispositivo de computação 14 possuindo o conteúdo 12 que é para ser sintetizado baseado em tal encadeamento 24, incluindo uma licença folha 161 com uma KID2 de ligação ascendente e uma (KL1(KD)); qualquer ll cença intermediária 161 com uma KID(x+l) de ligação ascen_ dente (KID3, KID4, etc.) e uma (KLx(KL(x-1))); e uma licença raiz 16r com uma (PU-U(KL(x-1))).
Quando da recepção de uma requisição para que 0 conteúdo 12 seja sintetizado (etapa 501) , então, um componente acreditado 18 no dispositivo de computação determina uma KID1 associada com tal conteúdo 12 (etapa 503), encontra uma licença 16 em um armazenamento de licenças no dispositivo de computação possuindo tal KID1 (etapa 505) e verifica tal licença encontrada 16 e garante que as regras da licença encontrada 16 permitem a sintetização do conteúdo 12 no modo procurado (etapa 507). Observe que o componente confiável não sabe ainda se a licença encontrada 16 é uma licença folha 161 ou uma licença não encadeada 16. Assim, supondo Que a licença encontrada 16 verifica e permite a sintetização do conteúdo 12, o componente acreditado 18 então determina se a licença encontrada 16 possui uma KID de ligação ascendente (KID2, aqui) (etapa 59). Como agora deve ser evidente, se a licença encontrada 16 não possuir uma KID2 de ligação ascendente, tal licença encontrada 16 é uma licença não encadeada 16 e não uma licença folha 161 e o processamento da licença não encadeada 16 continua como apresentado na Fig. 5 através das etapas 511, 513 e então 523.
Entretanto, e também como agora deve ser evidente, se a licença encontrada 16 realmente possuir uma KID2 de ligação ascendente, tal licença encontrada 16 é uma licença folha 161 e o processamento assim continua na etapa 505, de o componente acreditado encontra uma licença 16 (uma licença intermediária 16i ou uma licença raiz 16r) e um armazenamento de licenças no dispositivo de computação possuindo tal KID2 (de ligação ascendente) e verifica tal licença contrada 16 e garante que as regras da licença encontrada 16 permitem a sintetização do conteúdo 12 no modo procurado, como na etapa 507. Observe aqui que o componente acreditado 18 ainda não sabe se a licença encontrada 16 é uma licença intermediária 16i ou uma licença raiz 16r. Assim, supondo que a licença encontrada 16 verifica e permite a sintetização do conteúdo 12, o componente acreditado 18 novamente determina se a licença encontrada 16 possui uma KID de ligação ascendente (KID3, aqui), como na etapa 509. Como deve ser evidente aqui, se a licença encontrada 16 não possuir uma
KID3 de ligação ascendente, tal licença encontrada 16 é uma licença raiz 16r e o processamento assim continua até a etapa 511 (ver abaixo) onde o encadeamento 24 das licenças 16 é percorrido para trás em direção à licença folha 161.
Entretanto e como deve ser evidente aqui, se a licença encontrada 16 realmente possuir uma KID3 de ligação ascendente, tal licença encontrada 16 é uma licença intermediária 16i e o processamento assim continua novamente na e3 tapa 505. Assim, uma ou mais licenças intermediárias I6i são processadas até uma licença raiz 16r ser encontrada pela ausência de uma KID(x+l) de ligação ascendente na mesma na etapa 509.
Quando realmente determinando que uma licença encontrada 16 é uma licença raiz 16r, o componente acreditado 18 continua o processamento por obter a partir da licença raiz encontrada 16r a (PU-U(KL(x-1))) que está incluída com a mesma (etapa 511) e aplicar (PR-U) junto a tal (PU-U(KL(x1))) para revelar (KL(x-l)) (etapa 513). Observe que o com) ponente acreditado 128 é assim suposto de estar na posse de tal (PR-U). Observe também que, como foi relatado acima, a (KL(x-1)) revelada é para ser empregada com respeito à próxima licença 16 em direção à licença folha 161. Adicionalmente, observe que para a (KL(x-l)) revelada ser empregada 5 com respeito à próxima licença 16 em direção à licença folha 161, o componente acreditado 18 deve seguir as licenças 16 no encadeamento 24 em sua ordem nas mesmas como foram encontradas quando percorrendo em direção à licença raiz 16r, tanto por meio de manter uma lista apropriada (não apresentada) como de outro modo.
Assim, para cada licença intermediária encontrada 16i no encadeamento 24 e em ordem a partir da licença raiz 16r até a licença folha 161, o componente acreditado 18 obtém a partir de tal licença intermediária 16i a (KLx(KL(x1) ) ) que está incluída com a mesma (etapa 515) e aplica (KLx) junto ao (KLx(KL(x-1))) para revelar (KL(x-1)) (etapa 517) . Como agora deve ser apreciado, para qualquer licença intermediária particular 16i, a (KLx) a ser aplicada junto ao (KLx (KL (x-1) ) ) da mesma é encontrada a partir da próxima licença 16 em direção à licença raiz 16r, seja ela uma tal licença raiz 16r ou outra licença intermediária 16i.
Finalmente, após o componente acreditado 18 obter (KL1) a partir da última licença intermediária 16i em direção à licença folha 161 como na etapa 517, tal componente acreditado 18 então obtém a partir da licença folha 161 a (KL1(KD)) que está incluída com a mesma (etapa 519), aplica (KL1) junto a tal (KL1(KD)) para revelar (KD) (etapa 521) e aplica (KD) junto a (KD(conteúdo)) a partir do pacote óe conteúdo 13 para revelar o conteúdo 12 (etapa 523) .
Obviamente, se o encadeamento 24 não incluir a licença intermediária 16i, como é determinado na etapa 514, a licença raiz 16r inclui (PU-U(KLl)) e o processo continua a partir da etapa 513 diretamente para a etapa 519.
Como agora deve ser evidente a partir da Fig. 5, o processamento das licenças 16 pelo componente acreditado 1θ não requer que cada licença encontrada 16 seja realmente rO” tulada como uma licença não encadeada 16, como uma licença folha 161, como uma licença intermediária 16i, como uma licença raiz 16r ou coisa parecida. Ao invés disso, é típico na presente invenção que: (1) uma licença 16 possuindo uma KID de uma parte de conteúdo 12 e nenhuma KID(x+l) de ligação ascendente é uma licença não encadeada 16; (2) uma licença 16 possuindo uma KID de uma parte de conteúdo 12 e uma KID(x+l) de ligação ascendente é uma licença folha 161; (3) uma licença 16 possuindo uma KIDx referenciada pela KID(x+l) de ligação ascendente de outra licença 16 e possuindo uma KID(x+l) de ligação ascendente é por si própria uma licença intermediária 16i; e (4) uma licença 16 possuindo uma KIDx referenciada pela KID(x+l) de ligação ascendente de outra licença 16 e não possuindo uma KID(x+l) de ligação ascendente é por si própria uma licença raiz 16r. Contudo, observe que podem existir casos onde, por exemplo, uma licença 16 pode ser tanto uma licença intermediária 16i com respeito à alguma parte de conteúdo 12 como uma licença folha 161 com respeito à outra parte de conteúdo 12. Entretanto, é presentemente acreditado que tal caso é desaconselhável por ser tanto desnecessário como indevidamente confuso durante a operação.
Como até aqui relatado na presente revelação, as licenças 16 podem ser ligadas uma com as. outras de um modo linear como um encadeamento 24. Entretanto, é para ser apreciado que as licenças 16 também podem ser ligadas uma com as outras de um modo hierárquico como uma árvore possuindo uma pluralidade de tais encadeamentos 24. Por exemplo, No tal caso de árvore pode ser que a KID de uma licença raiz particular 16r seja a KID de ligação ascendente de cada uma dentre uma pluralidade de licenças intermediárias 16i em um primeiro sub-nível, que para cada uma da pluralidade de licenças intermediárias 16i no primeiro sub-nível, a KID das mesmas seja a KID de ligação ascendente de cada uma dentre uma pluralidade de licenças intermediárias 16i em um segundo sub-nível e que para cada uma da pluralidade de licenças intermediárias 16i no segundo sub-nível, a KID das mesmas seja a KID de ligação ascendente para cada uma dentre uma pluralidade de licenças folha 161 em um terceiro sub-nível. Além disso, adicionalmente, pode ser o caso em que existem licenças folha adicionais 161 em qualquer um do primeiro e segundo sub-níveis com KIDs de ligação ascendente se referindo à várias licenças intermediárias 16i no primeiro sub-nível e na licença raiz 16r, respectivamente. De forma notável, com respeito à qualquer licença folha 161 em tal árvore hierárquica de licenças 16, um encadeamento 24 de licenças 16 ainda pode ser encontrado entre tal licença folha 161 e a licença raiz 16r de tal árvore e por conseqüência, o processo relatado em conexão com a Fig. 5 ainda pode ser empregado.
Além disso, é para ser apreciado que com uma árvore organizada de forma hierárquica de licenças 16, as regras relatadas na licença raiz 16r de tal árvore devem ser satisfeitas e tal licença raiz 16r deve ser verificada de modo a renderizar qualquer parte de conteúdo 12 ligado com a árvore. De forma similar, para uma sub-ramificação de uma árvore como representada por uma licença intermediária 161, as re26 gras relatadas em tal licença intermediária 16i de tal ramificação devem ser satisfeitas e tal licença intermediária 16í deve ser verificada de modo a renderizar qualquer parte de conteúdo 12 ligada com a ramificação. Como um resultado e como pode ser apreciado, uma única licença 16 na árvore pode controlar a sintetização em conexão com várias licenças folha. 161 que se ramificam a partir de tal licença única 16 dentro da árvore. Por exemplo, a revogação, expiração e coisa parecida de tal licença única 16 na árvore impediría qualquer sintetização em conexão com tais licenças folha 161 que se ramificam a partir de tal licença única 16 dentro da árvore.
Em um cenário imaginado, várias licenças folha 161 são ligadas tanto diretamente como indiretamente com uma cença raiz 16r que expira mensalmente, assim para permitir à um usuário visualizar o conteúdo 12 ligado com tais licenças folha 16, tal como para o conteúdo ilustrativo 12 organizado em uma biblioteca, um serviço de assinatura iria emitir novamente a licença raiz 16r cada mês para os usuários que assinam o mesmo. Como deve ser evidente, emitir novamente a licença raiz 16r é muito mais simples e mais rápido do que emitir novamente cada licença folha 161.
Observe que pode existir um caso onde, por exemplo, uma árvore inclui uma parte cíclica ou de repetição na mesma. Enquanto tecnicamente praticável, tal como pode exemplo em um caso onde a licença 16 poderia incluir várias KlDs de ligação ascendente que são acessadas condicionalmente, é presentemente acreditado que tal caso não é aconselhável por ser tanto desnecessário como de forma indevida confuso durante a construção e a operação.
Como pode ser apreciado em conexão com a presente invenção, seria útil proporcionar dados de licença correntes durante a aquisição de uma licença folha 161 ou de uma cença intermediária 16i a cerca de outras licenças 16 Que podem estar no encadeamento 24 em direção e incluindo a li cença raiz 16r que são requeridos para renderizar o conteúdo correspondente 12. De modo semelhante, o conteúdo 12, o próprio conteúdo 12 pode possuir dados de licença correntes similares. Tais dados de licença podem compreender uma lista de KIDs / KIDs de ligação ascendente. Baseado em tais dados de licença, um sistema de proteção de conteúdo 10 e / ou o componente acreditado 18 do mesmo pode emitir requisições licença por licenças requeridas 16 do encadeamento, a medida que necessário. Tais dados de licença também podem ser úteis durante a aquisição de uma licença raiz, talvez para descí6 ver uma árvore de licenças intermediárias e folha disponíveis 16i, 161, dentre outras coisas.
CONCLUSÃO
A presente invenção pode ser praticada com respeito à qualquer conteúdo apropriado 12 e as licenças 16 org^ nizadas em qualquer modo ligado particular. Como agora deve ser apreciado, com a presente invenção como relatado aqt1^ dentro, a sintetização do conteúdo 12 pode ser controlada de acordo com mais do que meramente uma única licença correspondente 16 e em particular pode ser controlada baseado e*11 uma pluralidade de licenças 16, cada uma das quais deve set verificada e ser satisfeita.
A programação necessária para efetuar os processos em conexão com a presente invenção é relativamente direta e deve ser aparente para o público de programação relevante.
Por consequência, tal programação não está ligada aqui. Então, qualquer programação particular pode ser empregada para efetuar a presente invenção sem se afastar do espírito e escopo da mesma.
Na descrição precedente, pode ser visto que a pre10 sente invenção compreende uma arquitetura ou método novo e útil que permite ligar uma licença encadeada 16 com outra licença encadeada 16, percorrer a partir de uma licença encadeada 16 até a próxima e empregar um encadeamento 24 de licenças encadeadas 16 para renderizar o conteúdo 12, dentre outras coisas. Deve ser apreciado que alterações poderíam ser feitas nas modalidades descritas acima sem se afastar dos conceitos inventivos das mesmas. Então, portanto, em geral deve ser apreciado que esta invenção não está limitada às modalidades particulares reveladas, mas é pretendida para cobrir modificações dentro do espírito e escopo da presente invenção como definido pelas reivindicações, anexas.
J

Claims (5)

  1. REIVINDICAÇÕES
    1. Método para renderizar conteúdo digital criptografado (12) em um dispositivo de computação de acordo com uma cadeia (24) de licenças, cada licença contendo regras que devem ser satisfeitas antes de renderizar o conteúdo digital, uma assinatura digital e um identificador, KID, em que a cadeia inclui uma licença folha (16L) ligada por meio do KID da licença folha ao conteúdo em uma extremidade da cadeia, uma licença raiz (16R) na outra extremidade da cadeia e pelo menos uma licença intermediária (16I) entre elas, a licença folha e cada uma das pelo menos uma licença intermediária na cadeia estão vinculadas à licença anexa na cadeia em direção à licença raiz por meio de um KID de uplink, e a licença raiz está vinculada a um proprietário de uma chave privada, PR-U, por meio de uma chave pública, PU-U, o método compreendendo as etapas de:
    receber (501) uma requisição para renderizar o conteúdo;
    localizar a cadeia de licenças correspondente ao conteúdo, primeiramente ao descobrir (505) a licença folha no dispositivo de computação, a licença folha estando ligada por meio de seu KID ao conteúdo, determinando que a licença folha encontrada possui um KID de uplink e, posteriormente, seguir o KID de uplink (x + 1) em cada licença da cadeia até que uma licença raiz sem esse KID de uplink (x + 1) seja encontrada;
    para cada licença encontrada na cadeia, verifide 25/05/2018, pág. 6/12 car (507) a assinatura digital da licença e confirmar que as regras da licença estão satisfeitas;
    obter a chave criptográfica para descriptografar o conteúdo da licença folha, caracterizado pelo fato de
    5 que ainda compreende:
    obter (511), a partir da licença raiz, uma chave de link, KL(x-1) da licença adjacente (x-1)-enésima para a licença folha criptografada de acordo com a chave pública, PU-U, para resultar em PU-U(KL (x-1));
    10 aplicar (513) a chave privada, PR-U, correspondente a PU-U para PU-U(KL(x-1)) para revelar KL(x1);
    para cada licença encontrada na cadeia entre a licença folha e a licença raiz, e na ordem a partir
    15 da licença raiz para a licença folha:
    obter (515), a partir da (x)-enésima licença, uma chave de link da (x-1)-enésima licença adjacente para a licença folha KL(x-1) criptografada de acordo com uma chave de link da (x)-enésima licença, KLx, re20 sultar em KLx (KL (x-1)); e aplicar (517) KLx a KLx (KL (x-1)) para revelar KL(x-1), KLx sendo revelado em conexão com a (x + 1)-enésima licença na cadeia;
    até que KL1 seja revelado;
    25 obter (519) , a partir da licença folha, uma chave de conteúdo, KD, para descriptografar o conteúdo criptografado de acordo com KL1 para resultar em KL1 (KD); e
    Petição 870180044523, de 25/05/2018, pág. 7/12 aplicar (521) KL1 a KL1 (KD) para revelar
    KD;
    aplicar (523) KD ao conteúdo criptografado para descriptografar o mesmo; e renderizar o conteúdo descriptografado.
  2. 2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as etapas de localizar a cadeia de licenças correspondente ao conteúdo, verificar as assinaturas digitais das licenças e confirmar que as regras dos certificados estão preenchidas compreendem:
    determinar (503) um ID de conteúdo associado ao conteúdo;
    encontrar (505) a licença folha no dispositivo de computação tendo tal ID de conteúdo como KID, sendo a licença folha uma primeira licença;
    verificar a assinatura digital da primeira licença encontrada e confirmar que as regras da primeira licença encontrada foram satisfeitas; e repetidamente:
    encontrar uma (x)-enésima licença no dispositivo de computação tendo o KID de uplink da (x-1)enésima licença encontrada;
    verificar a assinatura digital da (x)enésima licença encontrada e confirmar que as regras da (x)-enésima licença encontrada estão satisfeitas; e determinar se a (x)-enésima licença encontrada tem um KID de uplink;
    até que seja determinado que a (x)-enésima de 25/05/2018, pág. 8/12 licença encontrada não possui um KID de uplink e, portanto, é a licença raiz.
  3. 3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que a cadeia de licenças inclui
    5 exatamente uma licença intermediária.
  4. 4. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que a cadeia de licenças inclui exatamente duas licenças intermediárias.
  5. 5. Método, de acordo com a reivindicação 2, ca10 racterizado pelo fato de que a cadeia de licenças inclui exatamente três licenças intermediárias..
    Petição 870180044523, de 25/05/2018, pág. 9/12 • « ·
    Pacote de conteúdo ί 3 Licença 16 (KD(conteúdo 12» Regras e requerimentos (política) PU-C (KD)
    Sistema de proteção contra cópia |q
    Avaliador 20 Armazenamento seguro 22 (PU-C), (PR-C) Componente acreditado 16,
    Dispositivo de computação j 4j
BRPI0501325A 2004-04-23 2005-04-18 renderizar conteúdo digital em um sistema de proteção de conteúdo de acordo com uma pluralidade de licenças digitais encadeadas BRPI0501325B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/831,281 US7568096B2 (en) 2004-04-23 2004-04-23 Rendering digital content in a content protection system according to a plurality of chained digital licenses

Publications (2)

Publication Number Publication Date
BRPI0501325A BRPI0501325A (pt) 2005-12-06
BRPI0501325B1 true BRPI0501325B1 (pt) 2018-09-04

Family

ID=34939191

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0501325A BRPI0501325B1 (pt) 2004-04-23 2005-04-18 renderizar conteúdo digital em um sistema de proteção de conteúdo de acordo com uma pluralidade de licenças digitais encadeadas

Country Status (16)

Country Link
US (1) US7568096B2 (pt)
EP (1) EP1594034B1 (pt)
JP (1) JP4741278B2 (pt)
KR (1) KR100992787B1 (pt)
CN (1) CN100588152C (pt)
AT (1) ATE463799T1 (pt)
AU (1) AU2005201572B2 (pt)
BR (1) BRPI0501325B1 (pt)
CA (1) CA2504677C (pt)
DE (1) DE602005020385D1 (pt)
HK (1) HK1083901A1 (pt)
MX (1) MXPA05004270A (pt)
MY (1) MY141648A (pt)
RU (1) RU2378772C2 (pt)
TW (1) TWI366370B (pt)
ZA (1) ZA200503017B (pt)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043051B2 (en) * 2001-02-21 2006-05-09 Lg Electronics Inc. Proprietary watermark system for secure digital media and content distribution
KR100493284B1 (ko) * 2001-05-11 2005-06-03 엘지전자 주식회사 디지털 미디어의 복제 제어 방법 및 시스템
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US20050278258A1 (en) * 2004-06-14 2005-12-15 O'donnell Michael User software for facilitating copyright licensing and compliance
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8176564B2 (en) 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US8464348B2 (en) 2004-11-15 2013-06-11 Microsoft Corporation Isolated computing environment anchored into CPU and motherboard
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
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
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
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US8353046B2 (en) 2005-06-08 2013-01-08 Microsoft Corporation System and method for delivery of a modular operating system
US8183863B2 (en) * 2005-11-10 2012-05-22 Halliburton Energy Services, Inc. Displaced electrode amplifier
US8020001B2 (en) * 2006-02-23 2011-09-13 Qualcomm Incorporated Trusted code groups
US7874015B2 (en) * 2006-05-12 2011-01-18 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for controlling distribution of digital content in a file sharing system using license-based verification, encoded tagging, and time-limited fragment validity
US20080183624A1 (en) * 2007-01-31 2008-07-31 Microsoft Corporation Protecting presentations and binding presentation elements to the presentation
US7792896B2 (en) * 2007-12-31 2010-09-07 International Business Machines Corporation Heterogeneous two-phase commit test engine
US20090271319A1 (en) * 2008-04-29 2009-10-29 Microsoft Corporation Embedded Licenses for Content
US8538889B2 (en) * 2008-06-25 2013-09-17 Microsoft Corporation Application hierarchy and state manipulation
JP5206263B2 (ja) * 2008-09-12 2013-06-12 株式会社リコー 情報処理装置、ライセンス判定方法、及びプログラム
CA2727353C (en) * 2008-10-03 2014-11-18 Redknee Inc. System and method for maintaining and updating data objects associated with mobile electronic devices
EP2184706A1 (de) * 2008-11-10 2010-05-12 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Betreiben einer Anlage unter Verwendung von gegen unberechtigte Verwendung gesicherten Daten
US10242163B2 (en) * 2008-11-19 2019-03-26 Adobe Systems Incorporated Access to protected content based on license hierarchy
US20100293103A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Interaction model to migrate states and data
US9424399B2 (en) * 2009-05-12 2016-08-23 Microsoft Technology Licensing, Llc Availability of permission models in roaming environments
US20100293536A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Enhanced product functionality based on user identification
KR101066661B1 (ko) * 2009-10-27 2011-09-22 한국조폐공사 스마트 카드 데이터 암호화 방법
US8712045B2 (en) * 2010-01-07 2014-04-29 Microsoft Corporation Digital rights management for media streams
US8789196B2 (en) * 2010-05-28 2014-07-22 Adobe Systems Incorporated System and method for providing content protection of linearly consumed content with a bidirectional protocol for license acquisition
US9324112B2 (en) 2010-11-09 2016-04-26 Microsoft Technology Licensing, Llc Ranking authors in social media systems
US9084031B2 (en) 2010-12-13 2015-07-14 Microsoft Technology Licensing, Llc Content license storage
US9286619B2 (en) 2010-12-27 2016-03-15 Microsoft Technology Licensing, Llc System and method for generating social summaries
US9294576B2 (en) 2013-01-02 2016-03-22 Microsoft Technology Licensing, Llc Social media impact assessment
US10460081B2 (en) * 2013-11-05 2019-10-29 Fox Broadcasting Company, Llc Method and apparatus for portably binding license rights to content stored on optical media
US9419948B2 (en) * 2013-11-15 2016-08-16 Adobe Systems Incorporated Method and apparatus for avoiding license storming during an unplanned regional blackout
CN106533691A (zh) * 2016-10-18 2017-03-22 北京信安世纪科技有限公司 一种数字证书有效性的验证方法及装置
US10397006B2 (en) * 2017-02-13 2019-08-27 Amazon Technologies, Inc. Network security with surrogate digital certificates
RU2658784C1 (ru) * 2017-03-23 2018-06-22 Общество с ограниченной ответственностью "БУБУКА" Способ и система контроля за воспроизведением медиа-контента, включающего объекты интеллектуальных прав
CN108989046B (zh) * 2018-07-18 2021-05-04 成都知道创宇信息技术有限公司 一种ssl证书链自动补全方法
US11409844B2 (en) * 2019-02-11 2022-08-09 Servicenow, Inc. Systems and methods for license management in a domain-separated architecture
US11366879B2 (en) * 2019-07-08 2022-06-21 Microsoft Technology Licensing, Llc Server-side audio rendering licensing
CN111641507B (zh) * 2020-05-18 2023-09-19 湖南智领通信科技有限公司 一种软件通信体系结构组件注册管理方法和装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553143A (en) * 1994-02-04 1996-09-03 Novell, Inc. Method and apparatus for electronic licensing
US5903651A (en) * 1996-05-14 1999-05-11 Valicert, Inc. Apparatus and method for demonstrating and confirming the status of a digital certificates and other data
US6105069A (en) * 1997-01-22 2000-08-15 Novell, Inc. Licensing controller using network directory services
US6335972B1 (en) * 1997-05-23 2002-01-01 International Business Machines Corporation Framework-based cryptographic key recovery system
JPH11187013A (ja) * 1997-12-24 1999-07-09 Ibm Japan Ltd 暗号鍵配信システム
US7073063B2 (en) * 1999-03-27 2006-07-04 Microsoft Corporation Binding a digital license to a portable device or the like in a digital rights management (DRM) system and checking out/checking in the digital license to/from the portable device or the like
US6959291B1 (en) * 1999-05-19 2005-10-25 International Business Machines Corporation Management of a concurrent use license in a logically-partitioned computer
US7080039B1 (en) * 2000-03-23 2006-07-18 David J Marsh Associating content with households using smart cards
US6976163B1 (en) * 2000-07-12 2005-12-13 International Business Machines Corporation Methods, systems and computer program products for rule based firmware updates utilizing certificate extensions and certificates for use therein
US6898286B2 (en) * 2000-12-19 2005-05-24 International Business Machines Corporation Method and system verifying product licenses using hardware and product identifications
AU1547402A (en) * 2001-02-09 2002-08-15 Sony Corporation Information processing method/apparatus and program
US7216368B2 (en) * 2001-03-29 2007-05-08 Sony Corporation Information processing apparatus for watermarking digital content
KR100904572B1 (ko) * 2001-03-29 2009-06-25 소니 가부시끼 가이샤 정보 처리 장치
US7224805B2 (en) * 2001-07-06 2007-05-29 Nokia Corporation Consumption of content
US20030053630A1 (en) 2001-09-20 2003-03-20 International Business Machines Corporation Method and system for key usage control in an embedded security system
JP4326186B2 (ja) * 2002-04-15 2009-09-02 ソニー株式会社 情報処理装置および方法
WO2003090468A1 (en) * 2002-04-19 2003-10-30 Opentv, Inc. Supporting common interactive television functionality through presentation engine syntax
US7523310B2 (en) 2002-06-28 2009-04-21 Microsoft Corporation Domain-based trust models for rights management of content
JP2004102789A (ja) * 2002-09-11 2004-04-02 Sony Corp ライセンス管理装置、ライセンス管理方法、並びにコンピュータ・プログラム
US7200760B2 (en) * 2002-12-31 2007-04-03 Protexis, Inc. System for persistently encrypting critical software data to control the operation of an executable software program
US7318236B2 (en) 2003-02-27 2008-01-08 Microsoft Corporation Tying a digital license to a user and tying the user to multiple computing devices in a digital rights management (DRM) system
US7278165B2 (en) * 2003-03-18 2007-10-02 Sony Corporation Method and system for implementing digital rights management
US20050138388A1 (en) * 2003-12-19 2005-06-23 Robert Paganetti System and method for managing cross-certificates copyright notice
US7315941B2 (en) * 2004-12-17 2008-01-01 Ntt Docomo Inc. Multi-certificate revocation using encrypted proof data for proving certificate's validity or invalidity

Also Published As

Publication number Publication date
CA2504677C (en) 2013-07-30
HK1083901A1 (en) 2006-07-14
MXPA05004270A (es) 2005-10-27
EP1594034A3 (en) 2006-09-27
BRPI0501325A (pt) 2005-12-06
DE602005020385D1 (de) 2010-05-20
ATE463799T1 (de) 2010-04-15
KR20060047417A (ko) 2006-05-18
EP1594034B1 (en) 2010-04-07
JP4741278B2 (ja) 2011-08-03
US20050251487A1 (en) 2005-11-10
MY141648A (en) 2010-05-31
EP1594034A2 (en) 2005-11-09
RU2378772C2 (ru) 2010-01-10
JP2005322227A (ja) 2005-11-17
CN100588152C (zh) 2010-02-03
RU2005112059A (ru) 2006-10-27
US7568096B2 (en) 2009-07-28
ZA200503017B (en) 2007-03-28
CN1691579A (zh) 2005-11-02
TWI366370B (en) 2012-06-11
AU2005201572B2 (en) 2010-10-28
CA2504677A1 (en) 2005-10-22
AU2005201572A1 (en) 2005-11-10
KR100992787B1 (ko) 2010-11-05

Similar Documents

Publication Publication Date Title
BRPI0501325B1 (pt) renderizar conteúdo digital em um sistema de proteção de conteúdo de acordo com uma pluralidade de licenças digitais encadeadas
US8738536B2 (en) Licensing content for use on portable device
US7152243B2 (en) Providing a secure hardware identifier (HWID) for use in connection with digital rights management (DRM) system
ES2635121T3 (es) Arquitectura flexible de concesión de licencia en sistemas de gestión de derechos de contenido
JP4583046B2 (ja) デジタル著作権管理(drm)システムにおけるデジタルライセンスとユーザとの結び付け、およびユーザと複数のコンピューティングデバイスとの結び付け
JP4593941B2 (ja) 委託された取り消し権限による取り消しリストに基づく、デジタル著作権マネージメントシステムにおける、証明書の取り消しおよび他のプリンシパルの除外
US7424606B2 (en) System and method for authenticating an operating system
US6330670B1 (en) Digital rights management operating system
US7664966B2 (en) Secure storage on recordable medium in a content protection system
US9767317B1 (en) System to provide cryptographic functions to a markup language application
US7856404B2 (en) Playlist burning in rights-management context
US7152245B2 (en) Installation of black box for trusted component for digital rights management (DRM) on computing device
KR20070009944A (ko) 데이터를 보호하기 위한 방법 및 시스템 및 정책 엔진
US20070192633A1 (en) Digital rights management (DRM) encryption and data-protection for content on device without interactive authentication
JP2005332377A (ja) コンピューティングデバイスなどのネットワーク内における保護されたデジタルコンテンツのレンダリング
JP2005129069A (ja) 携帯用メディア上のコンテンツの暗号化およびデータ保護
JP2009500766A (ja) コンテンツ保護システム間のデジタルコンテンツの複写
BRPI0614688B1 (pt) Método e sistema de acesso remoto a arquivos protegidos via transmissão em fluxo contínuo e estrutura de dados
KR102027329B1 (ko) 프로그램 실행권한 인증 방법 및 시스템

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B25A Requested transfer of rights approved

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US)

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 04/09/2018, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 15A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: MANUTENCAO DA EXTINCAO - ART. 78 INCISO IV DA LPI