Se segura malandro !

Terça-feira, 4/Setembro/2007

DRM reloaded

Arquivado em: DRM, Segurança, Tecnologia — leonardo @ 10:16 pm

Voltando ao DRM, conforme já expliquei no post anterior o DRM é uma idéia praticamente fadada ao fracasso porque:

  1. Você está tentando proteger o conteúdo de quem deve ter acesso a este. E portanto você tem que dar acesso ao conteúdo de uma forma “controlada”
  2. Se sua proteção funciona para 99% dos usuários e apenas uma pequena parte é capaz de burlar seu sistema falhou. Porque provavelmente boa parte dos 99% já seriam usuários que não iriam tentar burlar. E quem conseguiu burlar tem custo nenhum para fazer quantas reproduções desejar, ou distribuir online, etc, etc…
  3. O sistema penaliza quem não deveria ser penalizado. Repare que muitas vezes a proteção causa algum tipo de amolação ao usuário, justamente o bom usuário que te sustenta. Muitas vezes ele não consegue usar o produto em todos os seus reprodutores, mesmo os que deveriam legitimamente tocar, ele perde o direito a fazer alguns usos que sempre foram considerados razoáveis (fair use) como ter uma cópia de segurança, e por aí vai. Ou seja é um sistema que causa muito mais problemas para quem é honesto do que para quem não é.
  4. Algumas proteções não precisam ser necessariamente quebradas. Se meu dvd possui conteúdo criptografado eu não preciso quebrar a criptografia. Basta conseguir fazer uma cópia 100% fiel da mídia.

Entrando mais em detalhes no ponto 1 temos que entender o que é uma forma “controlada” de prover conteúdo. Como eu já expliquei se eu encripto um conteúdo eu tenho uma chave de criptografia.

(abrindo um parênteses, criptografar nada mais é que aplicar uma função matemática que torna praticamente impossível a um terceiro “ler e entender” o conteúdo. Esta função tem que ter uma função de retorno que permita recuperar o original. Se eu utilizar todas as vezes a mesma função eu perco a capacidade de individualizar a mensagem. Basta eu conhecer a função de retorno da mensagem A para ser capaz de ler a mensagem B, mesmo que eu não deva. Criar um algoritmo de criptografia de qualidade é algo bastante desafiador, e utilizar uma funcao diferente para cada mensagem seria impossível. O que se faz então é utilizar algoritmos muito bons que tem como uma das suas entradas uma chave que permite individualizar aquela “sessão de encriptação”. )

E esta chave criptográfica é necessária ao recipiente para poder decriptar. Logo ela deve vir junto de um conteúdo de mídia com DRM. Recentemente o tão badalado esquema de criptografia dos novos formatos de vídeo de HDTV foi quebrado simplesmente realizando uma busca em todo conteúdo do DVD. A idéia do sujeito foi super simples. Se ela está lá basta fazer uma busca byte a byte. E ele varreu todo o conteúdo do DVD testando todas as seqüências de byte como chave para decriptar o conteúdo. Batata ! Em algum tempo achou.

Então como podemos acrescentar algum controle a isto ? Somente se o usuário não puder fazer o que quiser com os leitores de mídia. Mas os computadores são de propósito geral e fazem tudo que seus donos os “instruem” a fazer dentro do que é computacionalmente possível. E esta arquitetura aberta que é o grande charme do PC. E quando eu digo PC aqui, quero dizer no sentido lato, mas principalmente na família IBM PC, que foi realmente um projeto totalmente aberto. Nã0 é por outro motivo que foi a arquitetura vencedora da guerra mercadológica nas últimas décadas apesar de em muitos casos não ser tecnologicamente a mais avançada.

Então a solução é criar um PC em que seu dono não possa fazer tudo. Isto tem nome e já existe. É a chamada Trusted Computing Plataform (plataforma de computação confiável). Na qual é possível confiar que o usuário não vá bolir com “certas áreas protegidas”. E a proteção é por hardware. Imagine um pc de propósito geral igual ao que você possui. Mas ele tem áreas de memória que você (e nem mesmo o sistema operacional) consegue acessar, e roda códigos que você não pode alterar.

Aí dá para ter DRM. Porque eu mando uma mensagem para o seu TC module e ele cuida das funções de decriptar e te repassar o conteúdo (não exatamente, mas próximo disto). Dá para ter proteção contra cheating em jogos online (MMORPGS), dá para ter ferramentas de segurança mais poderosas (antivírus, antispywares), dá para proteger o conteúdo do HD do seu laptop contra roubo(criptografando). Dá para fazer coisas muito legais como identificar sua máquina na internet de forma única e sem repúdio (e viva a privacidade) !! Dá até para impedir que você troque o sistema operacional da sua máquina. Sua ? Bom… acho que não é mais uma máquina para chamar de sua… Reparou que isto quebrou totalmente o grande charme da arquitetura do PC e a raíz do seu sucesso ?

Outra opção é não sofisticar tanto, não precisa ser por hardware. Se eu consigo simplesmente mexer no seu sistema operacional e colocar um módulo de software rodando no nível mais alto de permissão. Com este módulo eu posso monitorar e controlar muita coisa que o usuário pode tentar fazer mas não é do interesse do proprietário do conteúdo. E eu posso fazer isto tudo sorrateiramente de forma a ficar transparente para o usuário que existe este módulo. Mas os hacker já faziam isto há muito tempo. Era chamada a tecnologia de rootkit. Pois foi exatamente o que a Sony fez há pouco tempo atrás e o resultado foi o maior bafafá quando descobriram. Engraçado que apesar de pedir desculpas em público ela parece que não aprendeu a lição pois recentemente lançou um USB Stick utilizando a mesma tecnologia.

Agora porque você precisa burlar o sistema operacional se você já pode ter todas estas “features” com alta agregação de valor para o usuário final embutidas pelo próprio fabricante. É isto que a Microsoft fez no Vista. Reescreveu o sistema operacional inteiro do zero para incluir nova arquitetura de segurança que inclui um suporte visceral para DRM. Uma análise completa do que implica esta nova arquitetura eu deixo para o Peter Guttman em seu paper Uma análise de custo do Sistema de DRM do Windows Vista. O paper é inglês e esbarra em um certo tecnicismo, mas não é uma leitura difícil.

Quarta-feira, 29/Agosto/2007

DRM, que direito é este ?

Arquivado em: DRM — leonardo @ 9:50 pm

Uma questão bastante presente hoje é o gerenciamento digital de direitos autorais. Mas que direito é este ?

Parece-nos óbvio com nossa cabeça de sociedade cristã ocidental do início do século XXI que uma obra pertence a seu autor. Mas porque será que é assim ?

“Porque é justo, ora bolas.” você me dirá.

E o que é justo ? Quanto você utilizou da cultura da sociedade onde vive, de anos de pensamento, teorias científicas, interações sociais para se construir como uma pessoa ? E quanto desta mesma fonte você utilizou para dar sua contribuição. Quando Newton disse: “Se eu vi mais longe foi porque eu estava sobre os ombros de gigantes” ele estava apenas dando o devido valor ao trabalho dos seus predecessores.

Então como pode ser justo você acrescentar seus dois centavos a esta herança milionária e chamar de sua ? Mas os direitos autorais, patentes e cia estão ai, e não é a toa que foram criados.

A mesma sociedade que te fornece toda a matéria-prima também percebeu há um tempo atrás que ela se beneficia do produto do seu trabalho, principalmente se ele for inovador. E portanto é interessante criar instrumentos para incentivar a produção cultural (direitos autorais), e evolução científica(patentes), permitindo que você coloque uns caraminguás no bolso além da satisfação por um bom trabalho realizado. Mas não podemos perder de vista que a verdadeira função econômica da patente e dos direitos autorais é promover o desenvolvimento cultural e social.

Então o que é o movimento do software livre ? Apenas alguns malucos que acham que se todo mundo compartilha seu código-fonte a computação como ciência, e os produtos gerados por ela tendem a se desenvolver mais rápido.

A grande questão é saber então pesar como estes direitos tem que ser concedidos, sob quais condições, por quanto tempo, etc, etc, etc. A sociedade muda, as relações mudam e os direitos autorais também tem que mudar.

Mas para sair da discussão filosófica que não é o foco primário deste blog e voltar para a “segurança” que aí está eu deixo a melhor apresentação que já vi sobre o assunto que foi feita pelo Cory Doctorow, que é um escritor de livros, “embaixador” da EFF na Inglaterra e escreve em um dos blogs mais famosos do mundo o BoingBoing. Uma palestra que ele ministrou na Microsoft na versão em português ou inglês (aqui tem até o vídeo).

Voltamos a parte técnica. Já que existe o direito e já que no mundo digital é assim tão fácil copiar surgiu a idéia de proteger o conteúdo através da tecnologia. Mas que tecnologia ?

Que tal criptografar o conteúdo ?

A criptografia é uma tecnologia que serve para enviar uma mensagem da pessoa A para a pessoa B (Alice e Bob ? ) sem que outra pessoa E (Eve ? ) no meio do caminho consiga ler. Para tal existem algoritmos que em geral requerem uma chave para individualizar a sessão. O conhecimento da chave por Alice e Bob é que garante o entendimento. Mas pensa bem, quem é o Eve nesta história ? Não é o Bob ? Hmmm… então eu quero te vender um DVD e você pagou pelo conteúdo, logo tem que ver. E eu encripto o conteúdo para protegê-lo de você ? Já deu para entender sem entrar em detalhes técnicos que isto não vai dar certo. Bom… isto é de uma forma simples o motivo pelo qual eu acho que ele não funcionou e nem nunca funcionará.

Deixa eu ficar por aqui hoje.

Blog no WordPress.com.