MP202 Digital Rights Management (DRM) Gerenciamento de Direitos Digitais 850459 João Loureiro Júnior 870427 Francisco Blasi Júnior 950868 João Marcos Bonadio de Faria Novembro 2003 DRM – Agenda Parte I Introdução Direitos autorais Fundamentos Computação confiável Sistemas Parte II ODRL OMA - DRM Parte III XrML Introdução Motivações Histórico Requisitos da Linguagem Estrutura Exemplos Ponderações... DRM – Parte I Introdução Direitos autorais Fundamentos Computação confiável Sistemas DRM - Definição Conjunto de tecnologias para controlar o uso, duplicação e transferência de obras digitais de acordo com critérios estabelecidos pelos detentores dos direitos autorais (copyright) Objetivos Evitar a pirataria Criar novos modelos de negócio Pontos a favor Permite o controle do uso do conteúdo Possibilita novas formas de negócio Permite que os criadores das obras sejam pagos pelo uso das mesmas de forma conveniente para os usuários Pontos contra Modelos de negócio e implementações ruins Dificultam o acesso, pagamento e uso do conteúdo Requisitos contraditórios Definição de uso justo e pirataria dependem da intenção do usuário, a qual não pode ser verificada por nenhuma tecnologia DRM – Parte I Introdução Direitos autorais Fundamentos Computação confiável Sistemas Direitos autorais (Copyright) Protegem as obras originais e dão aos autores (ou indivíduos apontados por eles) direitos exclusivos, porém limitados, sobre elas Uso justo (“fair use”) Propósitos Natureza Freqüência Efeitos econômicos do uso Direitos Autorais nos EUA Digital Millennium Copyright Act (DMCA) Regulamenta o direito de acesso às obras sujeitas a direitos autorais Torna ilegal tentar subverter um mecanismo de proteção contra cópias ou restrições de acesso, por mais simples que ele seja Pode impedir que novos mecanismos e algoritmos sejam estudados e os resultados publicados Direitos Autorais no Brasil Lei 9610 Reconhece os direitos autorais sobre obras digitais e programas de computadores Violação dos direitos autorais Execução pública, distribuição eletrônica, reprodução e qualquer outra forma de utilização sem a devida autorização dos titulares Proteção contra cópias versus medidas legais +++ Proteção contra cópias +++ Copiador ocasional Usa vídeo cassetes para duplicar filmes Copiador por hobby Usa softwares e dispositivos para subverter mecanismos de proteção contra cópias Hacker Desenvolve meios de subverter mecanismos de proteções contra cópias Pirata em pequena escala Faz copias usando vários gravadores Pirata profissional Possui conhecimentos profundos e verba para a produção de cópias em larga escala +++ Medidas legais +++ DRM – Parte I Introdução Direitos autorais Fundamentos Computação confiável Sistemas Fundamentos Proteção contra cópias Cifragem de conteúdo Marcas d’água Renovação de dispositivos Resistência a violações Informação de controle de cópia Autenticação de dispositivos Proteção contra cópias Dados no formato digital Cópia da informação é trivial Inserir mecanismos de proteção contra cópias na especificação do meio e dos dispositivos de acesso Fundamentada na natureza proprietária e fechada dos equipamentos utilizados Cifragem de conteúdo Evitar que o conteúdo seja livremente reproduzido Segurança através da obscuridade versus segurança forte usando algoritmos públicos Algoritmos de chaves simétricas e públicas Marcas d’água Técnicas de estenografia Inserção de informações de direitos autorais escondidas no conteúdo que esta sendo protegido Equipamentos fechados ou programas se recusam a funcionar caso as marcas não estejam presentes Marca d’água forense permite rastrear a origem das cópias Renovação de dispositivos Mecanismos de proteção tem vida curta Garantir a integridade do sistema a longo prazo Exemplos: Revogar chave de deciframento Recusar transmissão de conteúdo Resistência a violações Dispositivos que irão utilizar o conteúdo devem fazer aquilo que é esperado deles Dissuadir quebras de proteção Digital Signets Programas de computador podem ser facilmente alterados Obfuscators Criptoswitch Informação de controle de cópia Especifica em que situações o conteúdo pode ser copiado Cópias liberadas Cópias proibidas Cópia única Nenhuma cópia mais Autenticação de dispositivos Certificar que o destinatário de um conteúdo protegido é confiável Segredo compartilhado pelos dispositivos ou através de chaves públicas DRM – Parte I Introdução Direitos autorais Fundamentos Computação confiável Sistemas Computação confiável (TC) Apenas softwares “confiáveis” podem ser executados Raiz de confiança “Fritz Chip” Richard Stallman: Computação Traidora (Treacherous Computing) Organizações TCPA Microsoft (NGSCB, antigo Palladium) Primeira versão do Xbox Raiz de confiança Setor de boot contendo chave simétrica armazenado em chip dedicado Bios cifrada RC-4 Contem chave pública de 2048-bits Executáveis nos DVDs Header assinados com hash SHA-1 cifrado com RSA Proteção quebrada Descoberta da chave simétrica no setor de boot Conteúdo da Bios substituído Nova versão do Xbox Bios Contém “flash loader” baseado em algoritmo de chave pública para decifrar restante do conteúdo Setor de boot Contém hash TEA do carregador Proteção quebrada Fraqueza do TEA (Related-keys) Instrução no carregador modificada DRM – Parte I Introdução Direitos autorais Fundamentos Computação confiável Sistemas Sistemas CSS CPRM / CPPM DTCP OCCAM ACP SmartRight SDMI DOI CSS “Content Scrambling System” DVD CCA Utilizado na cifragem dos filmes em DVD Algoritmos proprietários 409 chaves de equipamento de reprodução de 40 bits (player keys) Proteção fraca Todas as chaves descobertas Quebrado pelo software deCSS CPRM / CPPM “Content Protection for (Pre)-Recordable Media” 4C Entity Proteção de conteúdo digital gravado em meios físicos Cartões de memória SD Discos de áudio DVD Algoritmos criptográficos conhecidos Cifragem de bloco C2 Chaves de 56 bits DTCP “Digital Transmission Content Protection” 5C Entity Transferência cifrada de áudio e vídeo digitais entre dispositivos eletrônicos IEEE 1394 (Firewire) Algoritmos criptográficos conhecidos Curvas elípticas (Diffie-Hellman) Cifragem de bloco M6 SHA-1 OCCAM “Open Conditional Content Access Management” Cisco Redes domésticas (“home networks”) “Ticket” para executar um conteúdo protegido Televisões interativas Dispositivos portáteis Algorítmos criptográficos conhecidos AES de 128-bits Cifragem de chave pública de 1024-bits ACP “Analogue Copy Protection” Macrovision Evita cópias de filmes feitas com vídeo cassetes Criado a mais de 20 anos Sistema analógico Eficaz em 90% dos casos SmartRight Desenvolvido pela Thomson Baseado em “smart-cards” Dispositivos conectados a redes domésticas (“home networks”) Operações criptográficas sensíveis realizadas dentro do cartão Algoritmos utilizados RSA de 1024 bits AES de 128 bits SHA-1 SDMI “Secure Digital Music Initiative” Indústrias do ramo musical Proteção para músicas em formato digital Concurso para determinar a força de sistemas baseados em marcas d’água Pesquisadores da universidade de Princeton removeram as informações de proteção sem causar degradação significativa do conteúdo DOI “Digital Object Identifier” International DOI Foundation Identificação persistente e troca de conteúdo através de meios digitais Comparável ao código de barras Sistema de resolução Localização do conteúdo pode mudar DOI permanece o mesmo DRM – Parte II ODRL Introdução Modelos Exemplos OMA – DRM Introdução Linguagem de direitos Aspectos de segurança Mecanismos de distribuição ODRL Proposta de padronização para DRM Baseada em XML Estruturada em “Modelos” relacionados entre si Modelos: conjuntos de elementos (tags <XML>) http://odrl.net/ Versão 1.1 Ago-2002 ODRL Modelo Principal (Foundation Model) Define direitos, objetos, partes envolvidas Ex: direito <rights> <context> <uid> XYZ <\uid> <\context> <offer> <party> ..... <\party> <asset> ... <\asset> <\offer> .... </rights> parte envolvida objeto ODRL Modelo de Permissão (Permission Model) Imprimir, instalar, executar, copiar, etc Ex: ..... <permission> mostrar <display> <count> 15 <\count> <\display> imprimir <print> <interval> P2D <\interval> <\print> <\permission> ...... ODRL Modelo de Restrição (Constraint Model) Dia-hora, impressora, contagem, etc. Modelo de Requisito (Requirement Model) Forma de pagamento, registro do usuário Modelo de Condição (Condition Model) Restrições e permissões (já definidos) ODRL Modelo dos Detentores do Direito (RightsHolder Model) Remuneração dos detentores dos direitos: percentagem, valor fixo Modelo de Contexto (Context Model) Identificador de outros elementos Modelo de Oferta (Offer Model) Oferta da permissão de um direito ODRL Modelo de Acordo (Agreement Model) Acordo da permissão de um direito entre partes Modelo de Revogação (Revoke Model) Anulação de ofertas e acordos Modelo de Segurança (Security Model) Método de cifragem, chave, assinatura ODRL Relacionamento entre modelos Info Segurança Permissão Direito Objeto Revogação Restrição Oferta Contexto Requisito Acordo Condição Dono Direito Parte ODRL Exemplos: Problema: Alice, Bob e Charles são detentores do direito autoral de um conjunto de fotografias. Alice recebe 75% do valor total da transação, Bob 25%. Charles recebe 10% da parte de Bob. O conjunto é oferecido em dois níveis de qualidade, 1Mpixel e 3Mpixel, cada qual custando valores diferentes. Problema: uma Editora tem dois contratos de venda de um livro digital. O primeiro é com uma distribuidora “Distribuidora”, que pode vender até 50000 copias. O segundo é com um usuário Bob, cujas permissões vão de 1-1-2001 até 31-12-2004; ele tem direito a ver o livro por 30 dias; só pode imprimir em determinadas impressoras confiáveis; em outras impressoras, ele pode imprimir 5 páginas entre a página 1 e a página 100 a cada semana; ainda, ele pode a cada semana extrair 5Kbytes até o total máximo de 1Mbyte. Os direitos autorais são pagos à “Editora”. DRM – Parte II ODRL Introdução Modelos Exemplos OMA – DRM Introdução Linguagem de direitos Aspectos de segurança Mecanismos de distribuição OMA - DRM OMA – Open Mobile Alliance Padrões para telefonia móvel Objetivo OMA-DRM Controlar distribuição de objetos digitais, resguardando direitos autorais Definições OMA Mecanismos de distribuição Forward-lock, Combined Delivery, Separate Delivery Linguagem de especificação de direitos OMA - DRM REL – Rights Expression Language Descreve direitos associados a objetos Subset de ODRL, implementa os modelos: Modelo Principal (Foundation Model) Modelo de Acordo (Agreement Model) Modelo de Contexto (Context Model) Modelo de Permissão (Permission Model) Modelo de Restrição (Constraint Model) Modelo de Segurança (Security Model) OMA - DRM Aspectos de Segurança OMA apenas define linguagem e mecanismos Mecanismos garantem alguma segurança Informativo: terminal móvel deve implementar DRM Informativo: políticas de segurança para programas baixados – acesso restrito a objetos e direitos OMA - DRM Mecanismo “Forward Lock” Mensagem recebida: MIME type específico, objeto e nenhum direito associado. Restrições de modificação e retransmissão do objeto. Mensagem(MIME: application/vnd.oma.drm.message) - objeto resposta HTTP OMA - DRM Mecanismo “Combined Delivery” Mensagem recebida: MIME type específico, objeto e direito(s) associado(s). Restrições de modificação e retransmissão (do objeto e do direito), restrições do(s) direito(s) associado(s). Mensagem: (MIME: application/vnd.oma.drm.message) - objeto - direito - MIME application/vnd.oma.drm.rights+xml - descrição em REL resposta HTTP OMA - DRM Mecanismo “Separate Delivery“ Mensagens recebidas em canais diferentes: MIME type específico, objeto, URL do direito MIME type específico, direito associado Restrições de modificação e retransmissão (do objeto e do direito), restrições do(s) direito(s) associado(s). Mensagem 1: (MIME: application/vnd.oma.drm.content) - objeto cifrado - link para o direito ou indicação de push resposta HTTP SMS (WAP Push) Mensagem 2: (Push type: x-wap-application:drm.ua ) - direito - MIME application/vnd.oma.drm.rights+xml - descrição em REL, incluindo chave DRM – Parte III XrML: eXtended Rights Markup Language Motivações Histórico Requisitos da Linguagem Estrutura Exemplos Ponderações... XrML – Motivações Cada vez mais, serviços e conteúdos são distribuídos pela Internet. Garantia de ganho para os “donos” da informação, visto modelos de negócios falhos. Facilidade de cópia de objetos digitais. Distribuição de direitos: Até onde eu posso ir ? DRM – Parte III XrML: eXtended Rights Markup Language Motivações Histórico Requisitos da Linguagem Estrutura Exemplos Ponderações... XrML - Histórico Começou com uma necessidade da Xerox(quem diria...). Em 1996 foi lançada o DPRL, baseado em LISP. O DPRL evoluiu para uma linguagem baseada em XML, o XrML. Atualmente, o SDK está na versão 2.0. DRM – Parte III XrML: eXtended Rights Markup Language Motivações Histórico Requisitos da Linguagem Estrutura Exemplos Ponderações... XrML – Requisitos da Linguagem Uma linguagem para determinação de direitos digitais deve ser : Detalhada – para ser capaz de expressar direitos simples e complexos; Genérica – para ser capaz de detalhar direitos de qualquer tipo de serviço ou objeto; Precisa – Não pode deixar interpretação dúbia dos direitos; Interoperável – a linguagem deve facilitar a interação entre sistemas diferentes, sem dificultar o processo. DRM – Parte III XrML: eXtended Rights Markup Language Motivações Histórico Requisitos da Linguagem Estrutura Exemplos Ponderações... XrML – Estrutura Baseada em TAGS XML; Padrão Aberto (pero no mutcho...); Construída para ser um modelo neutro de negócios; Condições, permissões e obrigações são associadas de acordo com uma gramática; Adequada para modelo de negócio multicamada Interoperabilidade garantida pelo modelo XML. XrML – Estrutura Principais termos do XrML: Resource Principal Rights Conditions Grant License XrML – Estrutura Uso de Web Services facilitado. Modelo baseado em confiança (Trust) É obrigação da aplicação garantir a incorruptibilidade do arquivo de direitos, não da linguagem. XrML – Estrutura Como funciona o modelo Multi Tier: DRM – Parte III XrML: eXtended Rights Markup Language Motivações Histórico Requisitos da Linguagem Estrutura Exemplos Ponderações... XrML – Exemplos Qualquer pessoa pode imprimir um determinado livro até o Natal de 2001: <license> <grant> <cx:print/> <cx:digitalWork> <cx:locator> <nonSecureIndirect URI="http://www.contentguard.com/sampleBook.spd"/> </cx:locator> </cx:digitalWork> <validityInterval> <notAfter>2001-12-24T23:59:59</notAfter> </validityInterval> </grant> </license> XrML – Exemplos Exemplo maior. Descrição de objetos e direitos: DRM – Parte III XrML: eXtended Rights Markup Language Motivações Histórico Requisitos da Linguagem Estrutura Exemplos Ponderações... XRML – Ponderações... Custo da tecnologia para o usuário final Como funcionaria em estruturas off-line? Como manter a confiabilidade do sistema? O padrão realmente é aberto? Que impacto isso traria para os modelos de negócio atuais? Feliz Natal !!! E um Próspero Ano Novo!!!