Tenho me perguntado como o aluguel de filmes no iTunes funciona do ponto de vista da segurança. Dado que os arquivos “alugados” são realmente baixados para o computador do usuário e em seguida, reproduzido a partir daí, parece que não há como evitar que o usuário salve os arquivos indefinidamente.
É possível que os arquivos sejam armazenados em algum formato proprietário (algo como CSS), mas isso poderia ser facilmente subvertido a longo prazo pela engenharia reversa do código que os reproduz (como aconteceu com o DeCSS) .
Eu ficaria muito feliz se alguém pudesse me indicar algumas referências que analisam este sistema.
Resposta
Os sistemas DRM tendem a funcionar de acordo com uma variação dos mesmos princípios básicos:
- Os conteúdos são criptografados com um algoritmo de criptografia simétrico, como por exemplo AES-128.
- A chave de conteúdo, junto com uma descrição legível por máquina dos direitos de uso (como “jogar por 48 horas”), é entregue ao dispositivo do usuário no momento da compra do conteúdo.
- Esta chave + direitos pacote é frequentemente chamado de “licença” e é criptografado com criptografia de chave pública. Isso implica que o dispositivo do usuário possui a chave privada para descriptografar esta licença.
- Na reprodução do conteúdo, há necessariamente um “confiável ” pedaço de software executado dentro do aplicativo de reprodução – neste exemplo, iTunes. “Trusted” está entre aspas porque a Apple confia nele, não em você!
- Este software, às vezes chamado de “agente”, é responsável pela descriptografia e – o que é mais importante – pelo cumprimento dos direitos de uso. Neste exemplo, ele talvez destrua a chave após 48 horas.
- Os agentes, devido à sua natureza, geralmente vêm fortemente blindados contra ataques para derrotar as tentativas de engenharia reversa: a descompilação produzirá resultados inúteis, depuração torna-se impossível, etc.
Então … Para responder à sua pergunta: sim, o conteúdo e a chave de descriptografia estão no dispositivo (pelo menos por um tempo), mas há “sa máquinas trabalhando contra qualquer tentativa de colocá-los juntos. As pessoas ocasionalmente tiveram sucesso no passado, mas a barreira está ficando cada vez mais alta.
Comentários
- Duvido que seu último ponto esteja estritamente correto – não importa o nível de ofuscação feito, sem dúvida ainda é possível fazer a engenharia reversa do código com tempo e esforço suficientes. Além disso, durante a depuração " dicas " são sem dúvida removidas do código compilado, a depuração não é de forma alguma impossível sob tais condições.