Unioeste - Universidade Estadual do Oeste do Paraná

CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Informática
Curso de Bacharelado em Informática

Uma aplicação de algoritmos esteganográficos para armazenamento de informações em arquivos multimídia Tetri Mesquita Neto

CASCAVEL 2007

TETRI MESQUITA NETO

UMA APLICAÇÃO DE ALGORITMOS ESTEGANOGRÁFICOS PARA ARMAZENAMENTO DE INFORMAÇÕES EM ARQUIVOS MULTIMÍDIA

Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do grau de Bacharel em Informática, do Centro de Ciências Exatas e Tecnológicas da Universidade Estadual do Oeste do Paraná - Campus de Cascavel

Orientador: Prof. MSc. Guilherme Galante

CASCAVEL 2007

TETRI MESQUITA NETO

UMA APLICAÇÃO DE ALGORITMOS ESTEGANOGRÁFICOS PARA ARMAZENAMENTO DE INFORMAÇÕES EM ARQUIVOS MULTIMÍDIA

Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do Título de Bacharel em Informática, pela Universidade Estadual do Oeste do Paraná, Campus de Cascavel, aprovada pela Comissão formada pelos professores:

Prof. MSc. Guilherme Galante (Orientador) Colegiado de Informática, UNIOESTE

Prof. MSc. Adair Santa Catarina Colegiado de Informática, UNIOESTE

Prof. MSc. Aníbal Mantovani Diniz Colegiado de Informática, UNIOESTE

Cascavel, 24 de julho de 2007

DEDICATÓRIA

(Dedicatória)

AGRADECIMENTOS

(Agradecimentos)

Lista de Figuras
2.1 Exemplo de marca d’água visível em fotografia digital ( c Maurício Rech). . . 14

vi

Lista de Tabelas

vii

Lista de Abreviaturas e Siglas
CRC DCT DFT EXIF HAS HVS ISBN ISRC OEM Cyclic Redundancy Code Discrete Cosine Transform Discrete Fourier Transform Exchangeable Image File Format Human Audible System, ou Sistema Auditivo Humano Human Visual System, ou Sistema Óptico Humano International Standard Book Number International Standard Recording Code Original Equipment Manufacturer

viii

Sumário
Lista de Figuras Lista de Tabelas Lista de Abreviaturas e Siglas Sumário Resumo 1 Introdução 1.1 1.2 1.3 1.4 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estrutura do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi vii viii ix xi 1 3 4 5 6 8 8 11 13 14 16 17 17 18

2 Ocultação de Dados 2.1 2.2 2.3 Visão Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classificação e Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tipos de Ocultação de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 2.3.2 2.4 2.5 2.6 Esteganografia Linguística . . . . . . . . . . . . . . . . . . . . . . . . Esteganografia Técnica . . . . . . . . . . . . . . . . . . . . . . . . . .

Técnicas de Ocultação de Dados . . . . . . . . . . . . . . . . . . . . . . . . . Aplicações de Ocultação de Dados . . . . . . . . . . . . . . . . . . . . . . . . O futuro da Ocultação de Dados . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.1 2.6.2 2.6.3

Aprimoramento das Técnicas Esteganográficas: Resistência sobre Análise 18 Aprimorando a Área de Armazenamento . . . . . . . . . . . . . . . . Novas e Melhores Aplicações da Esteganografia . . . . . . . . . . . . 19 19

ix

3 Ferramenta StegIDA 3.1 3.2 Visão Geral da Ferramenta StegIDA . . . . . . . . . . . . . . . . . . . . . . . Detalhes de Implementação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 3.2.2 3.3 3.4 O formato OGG Vorbis . . . . . . . . . . . . . . . . . . . . . . . . . . O SQLite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22 22 22 22 22 22 22 23 23 23 23 24 25

Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Considerações Finais 4.1 4.2 4.3 Contextualização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resultados factíveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Desenvolvimentos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Glossário Referências Bibliográficas

x

Resumo
(Resumo)

Palavras-chave: Arquivos Multimídia, Esteganografia, Marca D’Água Digital.

xi

Capítulo 1 Introdução
Atualmente é indiscutível o papel de sistemas computacionais no gerenciamento da informação. É indiscutível também o crescimento quase que explosivo da utilização e desenvolvimento desses sistemas computacionais para dar suporte a um número cada vez maior, tanto em fluxo quanto em quantidade, de informação. Nesse aspecto, leia-se informação como sendo qualquer arquivo pelo qual se pode armazenar e transmitir dados sobre qualquer assunto ou tema em qualquer formato, ou seja, informação de âmbito multimídia. Recentemente, desenvolvedores de sistemas de gerenciamento de informação tiveram suas atenções voltadas principalmente para a organização da informação de modo a minimizar os processos de gerenciamento no que diz respeito à pesquisa e classificação dos dados. Tal como ocorre com sistemas de banco de dados, para que um grande volume de dados seja organizado eficientemente, deve-se indexá-lo. Os sistemas de busca online atuais, tais como o Google 1 e Yahoo!2 , utilizam-se do processo de indexação para classificação e otimização de pesquisa dos dados disponíveis na Internet. Inicialmente, para sistemas computacionais locais, a organização da informação era suprida pela classificação em pastas, cujo nome era comumente relacionado com o tipo de arquivo em questão. Recentemente, uma nova abordagem de organização propõe a classificação da informação através de rótulos (tags). Esses rótulos, ou tags, são como palavras-chave que se referem direta e principalmente ao conteúdo do arquivo multimídia a ser classificado. Note que até mesmo para a classificação de arquivos em formato de imagem e áudio digital, é possível a utilização de rótulos. Contudo, seu uso é bastante restrito. Se ora a indexação
1 2

http://www.google.com.br http://www.yahoo.com.br

serve sobretudo para possibilitar uma busca eficiente e precisa da informação, é natural que se queira classificar, por exemplo, a coleção pessoal de arquivos multimídia - sejam fotos, vídeos ou músicas - apenas por questão de organização dos arquivos contidos em sistemas locais de uso pessoal. É possível adicionar informações auto-descritíveis e intercambiáveis em formatos de arquivo multimídia utilizando-se de mecanismos específicos para este fim em determinados formatos de arquivo, como é o caso dos mecanismos EXIF e ID3, para imagem e áudio digital, respectivamente [4][5]. Muito embora sejam mecanismos específicos para adição de informações auto-descritíveis em formatos de arquivo multimídia, possuem limitações tais como sugestões fixas de campos de entrada de informações, além do tamanho limitado desses campos de entrada. Se por um lado o mecanismo provê a possibilidade de adição dessas informações, essas limitações impedem sobretudo a adição de informações aquém àquelas sugeridas. Além disso, os formatos de arquivos mais populares são, em grande parte, gerenciados por corporações privadas que mantém sua estrutura não divulgada. Não há, portanto, uma maneira de modificar esta estrutura afim de adicionar a funcionalidade pretendida. Mesmo que se possa alterar a estrutura do arquivo, existe a possibilidade de haver problemas de compatibilidade com softwares que manipulem este arquivo. Além disso, a maioria dos formatos de arquivo proprietários possui códigos de checksum (CRC, Cyclic Redundancy Code) que validam a informação do arquivo em nível de bits. Qualquer erro de cálculo desses códigos invalida a sessão de dados do arquivo, tornando-o inutilizável. Quanto melhor a classificação, ou seja, quanto mais informações puderem ser referenciadas a determinado arquivo, maior a chance de uma busca eficiente e precisa por este arquivo. Logo, há necessidade de uma solução que provê uma maior liberdade nesse aspecto. Uma possível maneira de solucionar o problema apresentado é a criação de um novo formato de arquivo cuja estrutura suporte mecanismos de armazenamento de informações autodescritíveis e intercambiáveis. Contudo, esta proposta de solução acarreta vários outros problemas, entre os quais podem ser citados a incompatibilidade do novo formato com softwares já existentes, a necessidade de adaptação e adequação desses softwares para dar suporte ao novo formato, além, é claro, da dependência de aceitação e popularidade do novo formato por parte dos usuários de sistemas finais. Um exemplo de formato de arquivo que atualmente passa

2

por estes problemas é o formato Ogg Vorbis ??. O Ogg Vorbis é uma tecnologia profissional de codificação (encoding) e distribuição (streaming) de áudio completamente aberta, livre de patentes e com todos os benefícios da comunidade Open Source. Trata-se de um novo formato de compressão de áudio comparável a outros formatos de armazenamento e reprodução de música digital, tais como MP3, VQF, AAC, entre outros [14]. Surpreendentemente, o fato de ser uma tecnologia livre e ter todas os benefícios da comunidade Open Source, não tornou este formato de compressão de áudio popular. A solução alternativa, apontada como proposta deste trabalho, é prover a possibilidade de adição de informações auto-descritíveis e intercambiáveis em formatos de arquivo multimídia já estabelecidos como padrão de uso através do uso de técnicas esteganográficas e de marcas d’água digitais. Ao longo da leitura das seções e capítulos seguintes, serão apresentados os meios pelos quais se pretende implementar esta solução. A seção seguinte, 1.1. Objetivos, elenca detalhadamente os objetivos deste trabalho.

1.1 Objetivos
O objetivo geral deste trabalho de conclusão de curso compreende o estudo de técnicas de ocultação de dados para prover o armazenamento de informações auto-descritíveis em arquivos multimídia. Os tópicos abaixo apresentam os objetivos específicos desde trabalho de forma mais detalhada. • Estudar conceitos relacionados à ocultação de dados, dando ênfase maior sobre as tecnologias de esteganografia e marca d’água digital, bem como realizar uma análise histórica dos temas e apresentar as técnicas e aplicações atualmente conhecidas para ambas as áreas. • Estudar os mecanismos de classificação de arquivos multimídia baseados no armazenamento de informações auto-descritíveis e intercambiáveis existentes atualmente. • Propor uma aplicação que provê como requisito não-funcional a liberdade de campos e valores relacionados à informação auto-descritível e intercambiável em um formato de arquivo multimídia.

3

• Propor uma maneira de armazenar o arquivo de informações auto-descritíveis3 e intercambiáveis4 no arquivo multimídia em questão por meio de técnicas de ocultação de dados, ou seja, técnicas esteganográficas e de marca d’água digital, de modo a não prejudicar a qualidade ou restringir funcionalidades já disponíveis para aquele formato de arquivo multimídia. • Comparar, no âmbito computacional, a solução proposta e os mecanismos já existentes, verificando as vantagens e desvantagens das técnicas de ocultação de dados para armazenamento de informações adicionais em relação aos mecanismos já existentes.

1.2 Motivação
A proposta de solução do problema de armazenamento de informações auto-descritíveis e intercambiáveis em arquivos multimídia de formato padrão abordada neste trabalho, em se provando viável, torna-se um modelo teórico para solução em qualquer formato de arquivo multimídia, desde que tomadas as providências com relação a licença de uso de formatos proprietários. Muito embora a abordagem mantida neste trabalho tenha foco apenas em um determinado tipo de arquivo multimídia (neste caso, áudio digital), ainda mais simplificado em um determinado formato de arquivo de áudio digital (neste caso, formato Ogg Vorbis), o conceito teórico das técnicas esteganográficas e de marca d’água digital possibilita, em um primeiro momento, a aplicação em outros formatos de áudio digital e quiçá em outros tipos de arquivo multimídia. Se por um lado a criação de novos formatos de arquivo mostra-se um processo bastante dispendioso, uma adaptação de formatos padrões já estabelecidos tal como a proposta deste trabalho tem um custo menor no âmbito de desenvolvimento de programas. Esta abordagem sugere um novo formato de aplicação de técnicas esteganográficas, sobretudo saindo do cenário de privacidade e segurança digital. Além disso, a discussão detalhada do tema pode, eventualmente, tornar a prática mais conhecida, voltando a atenção de programadores à flexibilidade que tais técnicas podem adicionar em determinada aplicação.
3 4

Informações referentes ao próprio arquivo que o contém. Formato que permite a manipulação por mais de um sistema final, provendo interoperabilidade.

4

1.3 Metodologia
O armazenamento de informações em arquivos multimídia, quer seja para melhor indexação de conteúdo ou apenas para organização pessoal, já possui algumas soluções que, além de viáveis, estabeleceram-se rapidamente como padrões de aplicação. É o caso dos padrões EXIF e ID3, para arquivos de imagens e áudio digital, respectivamente [4][5]. O acrônimo EXIF significa Exchangeable Image File Format ou Formato de Arquivo de Imagem Intercambiável, e trata-se de um padrão para armazenamento de informações intercambiáveis em arquivos de imagem, especialmente aqueles que utilizam a compressão JPEG. A maioria das câmeras digitais atuais já utiliza o formato EXIF. Este formato é parte do padrão DCF (Design rule for Camera File system) criado pela JEITA (Japan Electronics and Information Technology Industries Association) com o objetivo de encorajar a interoperabilidade entre dispositivos de imagem [4]. O ID3 é um formato de data tagging bastante popular, desenvolvido por Eric Kemp - o qual cunhou o termo ID3 (Identify an MP3) - em 1996, e em uso ativo por desenvolvedores de software e hardware em todo o mundo. Uma tag ID3 é um data container armazenado em um arquivo de áudio no formato MP3. Comumente os dados em tags ID3 contém informações auto-descritíveis como o nome do artista, título da música, ano e gênero do arquivo de áudio que o armazena [5]. A solução proposta ao problema da classificação de arquivos multimídia por meio do uso de rótulos aquém àqueles pré-fixados por mecanismos de classificação já existentes é caracterizada pelo uso alternativo de técnicas esteganográficas e de marca d’água digital no armazenamento dessas informações. Note, portanto, que inicialmente será criado um arquivo contendo nomes de campos de entrada e seus respectivos valores associados, contendo a informação referente ao arquivo multimídia pré-selecionado (arquivo de cobertura). Logo após, o arquivo de informações auto-descritíveis e intercambiáveis resultante deve ser ligado de alguma forma ao arquivo de cobertura. É essa necessidade de ligação entre os arquivos de informação e cobertura que deve ser suprida pelas técnicas de ocultação de dados, ou seja, em síntese, o arquivo de informações deve ser esteganografado no arquivo multimídia sem, no entanto, prejudicar a qualidade ou restringir funcionalidades já disponíveis para este formato. Note a mudança de paradigma com que as técnicas de ocultação de dados serão encaradas. Se por um lado essas 5

técnicas têm um objetivo inicial focado principalmente em questões de segurança e privacidade digital, neste trabalho seus objetivos serão relacionados com a possibilidade de armazenamento e ligação de dados que provêm.

1.4 Estrutura do trabalho
Este trabalho de conclusão de curso fora estruturado de modo a melhor apresentar o problema, os objetivos, a motivação e a metodologia da pesquisa relacionada ao tema em discussão. Ao capítulo inicial, 1. Introdução, como já se sabe, fora reservado espaço para contextualização e apresentação inicial do problema, os objetivos do trabalho, a motivação pela qual o trabalho fora realizado e a metodologia utilizada para solução do problema. A partir dessa contextualização e apresentação iniciais, são necessários capítulos de fundamentação teórica suficientes para melhor detalhar a metodologia aplicada. A divisão parcial dos capítulos deu-se da seguinte forma: Capítulo 2. Ocultação de Dados Ao segundo capítulo fica reservado o espaço para uma visão geral das técnicas de ocultação de dados, apontando, sobretudo, definições conceituais pertinentes ao tema. Há espaço também para uma análise histórica pouco detalhada, apenas com o objetivo de melhor situar o estado da arte. Além disso, há uma seção reservada exclusivamente para a apresentação e discussão das técnicas esteganográficas e de marca d’água digital conhecidas atualmente e outra, reservada exclusivamente para a apresentação das principais aplicações dessas ténicas. Por fim, são apresentadas previsões futuras para a área de ocultação de dados. Capítulo 3. Ferramenta StegIDA O terceiro capítulo componente do trabalho reserva espaço para uma visão geral da aplicação propriamente dita. Inicialmente o problema é detalhado e apresentado segundo um cenário pré-determinado. Então, os objetivos, bem como os detalhes de implementação (metodologia empregada e estrutura de dados) da aplicação são apresentados de acordo com a metodologia definida sobre o cenário, além de um conjunto de experimentos realizados sobre os dados manipulados pela ferramenta. O terceiro capítulo é encerrado com uma seção exclusiva para a apresentação dos resultados obtidos na implementação da aplicação. 6

Capítulo 4. Conclusões Finais Ao quarto e último capítulo do trabalho é reservado para uma conclusão final da pesquisa e desenvolvimento. Em um primeiro momento é apresentado um breve resumo da contextualização e abordagem, com destaque para a solução proposta. Logo após são apresentados os resultados obtidos, além das dificuldades encontradas e possíveis desenvolvimentos futuros baseados na evolução das técnicas e metodologias utilizadas.

7

Capítulo 2 Ocultação de Dados
Este capítulo reserva espaço para a fundamentação teórica referente à ocultação de dados. Como será visto, a ocultação de dados em meio digital se dá através de duas técnicas principais: a esteganografia e a marca d’água digital. É apresentada uma visão geral com conceitos teóricos e tipos de ocultação de dados atuais, uma análise histórica do tema, uma abordagem detalhada das principais técnicas empregadas, bem como algumas aplicações, além de previsões futuras ao final do capítulo.

2.1 Visão Geral
(Análise Histórica: Como surgiu a ocultação de dados e como se deu esse processo?) Nas últimas décadas, a Internet, especialmente a World Wide Web têm sido satisfatoriamente integrada à domínios públicos e corporativos. Somado a isto, o crescimento e integração de pontos de acesso, tecnologias wireless e móveis e a evolução dos dispositivos prova o significado do desenvolvimento de um mercado legítimo para entretenimento e atividades comerciais. Redes digitais e bibliotecas, serviços de Internet e a disposição de produtos digitais não controlados inseridos em uma rede de suporte acessível mundialmente conduz à cópias ilegais, modificações, redistribuições e a diminuição dos lucros e vendas de muitas companhias. Particularmente, a indústria da música e entretenimento têm se esforçado contra a distribuição ilegal através de conexões ponto-a-ponto (peer-to-peer) e outras redes durante anos [12]. Mídias digitais, como áudio, vídeo, imagens e outros documentos multimídia, podem ser protegidos contra infrações de direitos autorais com padrões invisíveis e integrados. Tais métodos são baseados em técnicas esteganográficas e de marca d’água digital. A maioria das mar-

cas d’água é inserida diretamente na forma de bits ou através de ajustes de sinal digital com uso de um algoritmo embutido baseado em chaves. A informação embutida é oculta (em bits de baixo valor ou menos significativos de pixels de figuras, freqüência ou outros valores de domínio) e ligada de modo inseparável na fonte da estrutura do dado. Para uma melhor aplicação da marca d’água, deve ser feito um balanço entre critérios conflitantes tais como robustez, não-perceptividade, não-detectabilidade e segurança [12]. A maioria dos algoritmos de marca d’água não são resistentes a todos os ataques, e até mesmo ataques amigáveis como modificações no dado e/ou arquivo podem facilmente destruir a marca d’água. O termo esteganografia, em sua estrutura etimológica, deriva do Grego steganos, significando coberto ou secreto, e grafia, significando escrita [2]. Em nível mais simplificado, esteganografia é a escrita oculta, a qual consiste, por exemplo, de uma tinta invisível sobre o papel a uma informação de copyright escondida em um arquivo de áudio. Uma marca d’água digital é um sinal permanentemente embarcado em um dado digital (áudio, imagens, vídeo, e texto) que pode ser detectado ou extraído posteriormente por meio de operações computacionais a fim de fazer afirmações sobre o dado. Na técnica de marca d’água digital uma mensagem pré-determinada é inserida em uma parcela de dados digitais com o objetivo de identificar o proprietário legal daquele conteúdo. A marca d’água é escondida de forma a ser inseparável e resistente a muitas operações, não deteriorando o conteúdo do dado hospedeiro. Assim, por meio da marca d’água, o conteúdo ainda é acessível, porém permanentemente marcado [7]. Note que as técnicas de marca d’água digital derivam da esteganografia. Tanto a esteganografia quanto a marca d’água pertencem à categoria de ocultação de informação (data hiding), porém os objetivos e condições para as duas técnicas são absolutamente contrários. Na marca d’água, por exemplo, a informação importante é o dado externo (por exemplo, imagens, vozes, etc.). O dado interno (por exemplo, a marca d’água) compreende apenas um dado adicional com o objetivo de proteger o dado externo e provar sua propriedade. Todavia, na esteganografia, o dado externo (tido apenas como um container) não é muito importante. É apenas uma forma de armazenamento da informação importante, isto é, o dado interno. Em vários momentos da história mensagens codificadas têm sido interceptadas, mas não foram decodificadas. Se por um lado a informação permanecia oculta na cifra, a interceptação

9

da mensagem também era perigosa, já que expunha a comunicação entre um oponente ou inimigo. A esteganografia surge como uma abordagem oposta e permite ocultar toda evidência de comunicação [6]. Se por um lado a criptografia converte uma mensagem em um código com o objetivo de encobrir seu significado, a esteganografia camufla toda a mensagem. Estas duas tecnologias de comunicação secreta podem ser usadas separadamente ou juntas - por exemplo, inicialmente a mensagem é criptografada e então esteganografada em um arquivo para transmissão [2]. Por outro lado, a marca d’água não se assemelha com o processo de encriptação. A marca d’água não restringe acesso ao dado, enquanto que a encriptação tem o objetivo de tornar as mensagens ininteligíveis a qualquer usuário não autorizado que deseja interceptá-las. Uma vez que um dado encriptado é decriptado, a mídia não está mais protegida. Uma marca d’água é projetada para residir permanentemente no dado hospedeiro. Se o proprietário legal de um trabalho digital é questionado, a informação pode ser extraída para caracterizá-lo completamente. A marca d’água e a esteganografia digital diferem em um importante aspecto: a informação esteganografada nunca deve ser aparente a um usuário inconsciente de sua presença; esta característica é opcional em se tratando da marca d’água. A esteganografia moderna deve ser detectável somente se a informação secreta é conhecida, isto é, uma chave secreta [6]. Ao contrário de um arquivo de texto no qual é possível observar caracteres faltando, é possível alterar arquivos de imagem e áudio ligeiramente sem perder toda a viabilidade ao usuário. Com áudio, podem-se usar os bits do arquivo que contém sinais sonoros inaudíveis ao sistema auditivo humano. No caso das imagens gráficas, podem-se remover bits redundantes da imagem referentes à cor e ainda assim produzir uma figura aparentemente intacta ao sistema de visão humano, a qual é dificilmente discernida da imagem original [2]. É exatamente nestes bits que o processo de esteganografia atua na ocultação de dados. Um programa de esteganografia utiliza um algoritmo para introduzir dados em um arquivo de imagem ou áudio, além de um esquema de senhas, para permitir a recuperação da informação. Alguns desses programas incluem tanto a ferramentas de criptografia quanto esteganografia para prover segurança extra se a informação oculta é descoberta [2]. Quanto maior a qualidade da imagem ou som, maior será a quantidade de dados redundantes. É por isso que arquivos de áudio de 16 bits e imagens de 24 bits são pontos de ocultação

10

populares. Se um usuário com o intuito de recuperar uma mensagem esteganografada não tiver acesso ao arquivo original de imagem ou som com o qual possa comparar o arquivo hospedeiro, não haverá possibilidade de dizer que determinado arquivo carrega uma mensagem escondida [2].

2.2 Classificação e Requisitos
Os métodos de ocultação de dados podem ser classificados e medidos baseando-se em certas características e propriedades dependentes do tipo de aplicação. Estas características e propriedades incluem a dificuldade de notificação, a sobrevivência à distorções comuns e resistência à ataques maliciosos, a capacidade de informação em nível de bit, a coexistência com outras formas de ocultação de dados e a complexidade do métodos esteganográficos ou de marca d’água digital [12]. Em geral, são descritas como fidelidade, robustez, fragilidade, resistência, sobrecarga de dados e outras restrições. A ocultação de dados deve cumprir as freqüentemente contraditórias exigências seguintes [12]: Capacidade A capacidade refere-se à quantidade de informação que pode ser armazenada no dado fonte. A aplicação de marcas d’água digitais no simples controle de cópias, a capacidade de um único bit (um = permissão/zero = negação) parece ser suficiente. Por outro lado, aplicações de propriedade intelectual requerem uma capacidade entre 60 a 70 bits de informação para armazenamento de dados sobre copyright, autor, limitações, e números ISBN (International Standard Book Number), ISRC (International Standard Recording Code) ou OEM (Original Equipment Manufacturer). Complexidade A complexidade descreve o esforço despendido para detecção e encriptação da informação da marca d’água. Uma técnica de medição pode ser o tempo despendido neste processo. É recomendado projetar algoritmos e procedimentos de marcação o mais complexos possível, permitindo a integração de diferentes marcas d’água. Deste modo, ataques de tentativa e erro podem ser evitados. Não-detectabilidade O resultado do processo de marca d’água em um dado é não-detectável se é consistente ao dado original. Neste caso, um algoritmo embarcado pode usar-se,

11

por exemplo, dos componentes de ruído do dado fonte de uma imagem para ocultar esteganograficamente a informação em marca d’água. A propriedade de não-detectabilidade não pode ser diretamente ligada à propriedade de não-perceptividade, a qual é baseada nos conceitos de percepções humanas. A não-detectabilidade é relacionada ao dado fonte e seus componentes, descrevendo a consistência com os dados originais. Não-perceptividade É importante reconhecer se o resultado produzido pela marca d’água produziu mudanças acústicas ou ópticas perceptíveis. Uma amostra perfeitamente nãoperceptível ocorre se o resultado do processo de marca d’água em um arquivo não pode ser distinguido do arquivo original. Esta classificação é baseada na idéia e propriedades do sistemas óptico (HVS, human visual system) e auditivo (HAS, human audio system) humano, ou seja, a marca d’água é não-perceptível se um ser humano normal não consegue distinguir entre o arquivo original e o arquivo que contém a informação em marca d’água. Robustez Não deve ser possível remover a marca d’água ou torná-la ilegível sem conhecimento do método e da senha utilizados. Robustez, também para este caso, significa a habilidade de resistência à mudanças e modificações da informação de marca d’água realizadas sobre o arquivo original. Como modificações, são particularmente consideradas as alterações de tamanho e escala, a compressão de arquivo, a rotação e outras operações comuns. Sobretudo, as operações comumente utilizadas tal como a compressão sem perdas (JPEG, MPEG) não devem destruir a marca d’água digital. Segurança É assumido que os usuários com o intuito de atacar têm total conhecimento do método de ocultação de dados aplicado; entretanto, o esquema de senha não deve ser conhecido. Conseqüentemente, o usuário irá tentar manipular o dado para destruir a marca d’água, ou imprimi-lo e escanea-lo novamente para obter o material original sem as notas de proteção de copyright. Note que a complexidade é, de certa forma, conectada com a segurança, isto é, o algoritmo de aplicação e recuperação da informação da marca d’água deve funcionar com chaves suficientemente longas para desencorajar a busca pela senha apropriada (através de métodos de força bruta, por exemplo). Entretanto, para certas aplicações e pessoas, a marca d’água deve também ser detectável. Neste caso, emerge o 12

problema da troca segura de chaves. Para uma melhor aplicação da ocultação de dados, deve-se haver um balanço entre os critérios supracitados. A quantidade de informação em uma marca d’água pode ter efeitos significantes na qualidade do dado fonte e influência sobre os requisitos. Conseguintemente, uma decisão deve ser tomada de acordo com a aplicação [12].

2.3 Tipos de Ocultação de Dados
Na seção anterior, 2.2. Classificação e Requisitos, a ocultação de dados fora classificada de acordo com suas restrições e requisitos. Entretanto, os métodos esteganográficos e de marca d’água digital podem ser subdivididos e segmentados em várias categorias; por exemplo, podem ser classificadas de acordo com a aplicação, formato do dado fonte (marcas d’água em imagens, vídeos, áudio ou texto), percepção humana e técnicas utilizadas. Como as marcas d’água podem ser aplicadas no domínio espacial ou de freqüência, diferentes conceitos, tais como a transformação DFT (Discrete Fourier Transform) ou DCT (Discrete Cosine Transform), além das transformações de onda (wavelet transformation) e manipulações no domínio da cor e ruído podem ser mencionados. Além disso, a ocultação de dados pode ser subdividida com base na percepção humana, podendo ser visíveis ou invisíveis. A Figura 2.1 apresenta um exemplo de marca d’água digital visível em fotografia digital. Este método pode ser considerado robusto contra operações de manipulação ou frágil em aplicações de controle de cópia e autenticidade [7]. Por fim, os tipos de ocultação de dados também podem ser subdivididos de acordo com as técnicas de detecção. Para detecção de informação em marca d’água, podem ser usadas as técnicas blind e nonblind, ambas fortemente relacionadas ao processo de decodificação [12]. Se a detecção da marca d’água digital puder ser feita sem o dado original, tais técnicas são chamadas técnicas blind. Por outro lado, as técnicas nonblind utilizam-se do dado original para extrair a marca d’água por procedimentos de comparação e correlação simples. Logo, as técnicas blind são mais inseguras do que os métodos nonblind. Basicamente existem dois tipos de esteganografia: a esteganografia lingüística e a esteganografia técnica.

13

Figura 2.1: Exemplo de marca d’água visível em fotografia digital ( c Maurício Rech).

2.3.1 Esteganografia Linguística
A esteganografia lingüística pode ser simplesmente descrita como qualquer forma de esteganografia que usa linguagem como cobertura. Muito embora seja um tipo de esteganografia, este método não possui aplicação neste trabalho. As informações aqui apresentadas servem apenas como curiosidade. As principais categorias da esteganografia linguistica são os códigos abertos e os semagramas textuais. Códigos Abertos No caso dos códigos abertos, uma construção textual bem definida pode conter certas palavras ou frases, caracteres em certos lugares do texto ou palavras na posição vertical ou reversa. Há diversas formas de apresentação da esteganografia lingüística na forma de códigos abertos [6]: Cifras Nulas Nas cifras nulas, o texto oculto pode ser reconstruído através da seleção de qualquer caractere de cada palavra, podendo estar disposto nas posições vertical, diagonal ou reversa. Para recuperação, pode ser necessário reescrever o texto em outra forma, por exemplo, com um número definido de caracteres por linha. Código em Jargões Provavelmente a forma mais óbvia da esteganografia lingüística, o código em jargões cria uma mensagem verbal ou escrita como cobertura da informação secreta.

14

Código em Jornais O código em jornais fora inventado e utilizado durante a Era Victoriana, quanto os jornais passaram a ser emitidos em qualquer lugar e sem qualquer restrição. Pequenos buracos eram feitos sobre certos caracteres no jornal, o qual, quando sobreposto, revelava a mensagem oculta. Grades As grades (grilles), ou Grades de Cardano como eram comumente conhecidas, são caracterizadas como um simples pedaço de papel ou cartão perfurado. A mensagem secreta é escrita nos buracos, e então o resto da mensagem preenche os espaços vazios. A única forma de tornar a mensagem legível é através da grade correta. Mascaramento Em um texto pode haver frases ou palavras iniciando com certos caracteres, os quais possuem outro significado. Além disso, pode haver metáforas ou outras construções textuais de modo que todos os tipos de jargões estão, de fato, mascarados. Música Embora música não constitua uma linguagem propriamente dita, pode ser escrita e carrega consigo um significado a quem sabe como lê-la. Um método é combinar notas e caracteres, constituindo assim um código. Atualmente, esta forma de comunicação pode ser classificada como encriptação. Outro método é reproduzir a música de modo que a correlação de notas e tempos de reprodução corresponda a caracteres específicos e formam a mensagem escondida. Sugestões A definição básica de uma sugestão (cue) consiste em certa palavra ou termo que aparece no texto e carrega consigo a mensagem. Este método de comunicação é bastante efetivo devido à sua flexibilidade; os inconvenientes resumem-se no fato de requerer bastante preparação e geralmente não são capazes de suportar grandes quantidades de informação. Semagramas Textuais e Reais Os semagramas textuais referem-se às modificações gráficas do texto. Eles têm relação com detalhes minúsculos, porém visíveis. Existem métodos que funcionam sem um texto propriamente dito, conhecidos como semagramas reais. Algumas variações dos semagramas textuais e reais são descritos a seguir [12].

15

Efeito de Máquina de Escrever As antigas máquinas de escrever analógicas são, em sua essência, as mesmas desde sua criação. É basicamente operada através de uma série de mecanismos que permitem a movimentação do papel a uma quantidade específica com um mecanismo de retorno e quebra de linha. Em algumas máquinas de escrever, para fazer uma subscrição ou superscrição era necessária a rolagem manual do mecanismo para que um número pudesse ser datilografado, e então o mesmo mecanismo deveria ser retornado à posição original para permitir a continuação do texto até a próxima quebra de linha. Devido a esta possível movimentação, era possível camuflar uma mensagem através de pequenos ajustes no mecanismo de rolagem do papel, diferenciando caracteres do texto original e da mensagem oculta. Espaçamento e Deslocamento de Caracteres Essa forma de semagrama textual utiliza-se dos espaços em branco entre palavras, frases ou até mesmo parágrafos individuais. Apesar deste tipo de esteganografia ser considerada bastante eficaz, possui algumas poucas desvantagens. Primeiro, se o documento é digital, qualquer processador de textos moderno é capaz de mostrar as irregularidades de espaçamento ou, no pior caso, reformatar o documento e extinguir a informação oculta. Espaços Minúsculos Não existem espaços apenas entre palavras, mas também espaços minúsculos entre alguns caracteres, de modo a formar um código binário através da freqüência de espaçamento ou indicar que a letra subseqüente faz parte da mensagem secreta. Um uso prático de semagramas reais requer uma mensagem previamente comunicada, isto é, de conhecimento total entre os comunicantes. Este método utiliza-se principalmente de imagens que representam uma informação conhecida apenas pelos comunicantes. Um semagrama real não se caracteriza como um método prático de transmissão de nova informação, ou seja, é mais eficaz apenas para confirmação ou negação de um curso de ação previamente estipulado.

2.3.2 Esteganografia Técnica
A esteganografia técnica possui um escopo mais limitado em tamanho já que, mesmo comunicando informação, não trata necessariamente da palavra escrita. Trata-se do método de esteganografia no qual uma ferramenta, dispositivo ou método é utilizado para esconder a men16

sagem. Na realidade, a esteganografia lingüística pode ser considerada esteganografia técnica já que representa um método esteganográfico. As seções subseqüentes detalham alguns métodos de esteganografia técnica [12]. Esconderijos Este método pode ser considerado o mais óbvio dentre os métodos de esteganografia técnica. Todas as variedades de esconderijos fazem parte da categoria de esteganografia técnica. Um bom esconderijo é quase sempre um método bastante eficaz de esteganografia. Métodos baseados na Computação Com os avanços das tecnologias computacionais durante os anos 90, esta é o método mais recente de esteganografia, e pode ser bastante eficiente em seu ambiente nativo. Existem muitos métodos baseados na computação, incluindo a substituição e/ou adição de bits, entre outros. Este trabalho trata essencialmente desses métodos esteganográficos baseados na computação. Micro-pontos O micro-ponto (microdot) é uma forma de microfotografia que permite reduzir folhas de material impresso em um ponto não muito maior do que meio milímetro. Tratase de um novo formato do mundo moderno e está sendo utilizado para identificar automóveis de modo único. Existem estudos que demonstram a possibilidade de inserção de um micro-ponto em uma cadeia de DNA. Tinta Invisível Trata-se de um método que utilize um tipo especial de tinta invisível revelada através de tratamento químico, calor ou iluminação especial. Devido ao fato de não ser habitualmente utilizada para escrever, pode ser seguramente considerada uma forma de esteganografia técnica.

2.4 Técnicas de Ocultação de Dados
(Quais as principais técnicas de ocultação de dados?)

2.5 Aplicações de Ocultação de Dados
(Onde são aplicadas as técnicas de ocultação de dados?)

17

2.6 O futuro da Ocultação de Dados
Apesar de ao futuro ser atribuída toda a incerteza, as características e tendências atuais no campo da ocultação de dados apontam algumas projeções possíveis. Entendendo as tendências da tecnologia, podem-se fazer previsões factíveis sobre o que ocorrerá no futuro. Em alguns cenários, a ocultação de dados é usada para ajudar a manter a privacidade pessoal e profissional. Em outros, pode ser usada por terroristas, criminosos e até mesmo pelo próprio governo. Uma visão holística do futuro da computação pessoal é chamada de Personal Net. Neste cenário, serão gerenciados nossos próprios dados, comunicações e questões de segurança. Já não haverá - como já não há - confiabilidade em armazenar informações pessoais na rede pública (leia-se Internet). Haverá grande participação pessoal nas questões de segurança e a esteganografia possui características e funcionalidades suficientes para fazer parte deste cenário [2]. Algo que pode certamente ser dito sobre o futuro da tecnologia: mudanças e a introdução de novas abordagens irão ocorrer freqüentemente. Uma área na qual essas mudanças e novas abordagens podem ocorrer sobre a esteganografia é a tecnologia empregada para produzi-la e quebrá-la.

2.6.1 Aprimoramento das Técnicas Esteganográficas: Resistência sobre Análise
Quanto maior a sofisticação das técnicas esteganográficas, sua resistência sobre análise e reconhecimento também é aprimorada. No atual estado da tecnologia esteganográfica, se há suspeita de uso da técnica, esta é relativamente fácil de detectar. Uma vez detectada, há a possibilidade de recuperação da informação, a qual estará protegida apenas pelos métodos de encriptação aplicados, quando usados. Futuramente, os esforços serão voltados para fazer da esteganografia uma técnica indetectável e irrecuperável exceto para aqueles que pretendem fazê-lo. Atualmente este requisito depende basicamente das formas e meios de comunicação disponíveis. Devido ao fato de que o mundo tornou-se completamente digital, serão desenvolvidas técnicas sobre novos formatos multimídia tais como vídeos, livros eletrônicos, hologramas, e até mesmo ocultação de dados com marcas d’água digitais. Um cenário intrigante será a habilidade de manipular um dado 18

por exemplo, ocultando-o em um formato digital -, imprimi-lo, reescaneá-lo e novamente ser capaz de recuperar os dados ocultos. No campo da criptologia, muito esforço tem sido despendido para quebrar várias técnicas; entretanto, embora haja um grande número de ferramentas esteganográficas, pouco foi feito para determinar a força dos vários métodos empregados. Os mesmos métodos de ataque sistemático usados na criptografia devem ser desenvolvidos para tornar algoritmos esteganográficos mais seguros e aprimorar as várias técnicas. Técnicas que combinam esteganografia e criptografia para tornar os dados mais seguros já é um resultado deste esforço.

2.6.2 Aprimorando a Área de Armazenamento
Outra área da esteganografia que deverá ser aprimorada faz referência à habilidade de ocultar grandes quantidades de dados. As técnicas esteganográficas atuais utilizam-se de uma certa quantidade de bits de dados em um arquivo hospedeiro de modo a não degradá-lo a ponto de ser óbvia a utilização da esteganografia. A esteganografia em larga escala, na qual haverá possibilidade de compressão de grande quantidade de dados e armazenamento em pequenos arquivos, é um possível futuro. Uma das atuais limitações da esteganografia que terá provável solução futura está na relação de um para um entre o arquivo de cobertura e o arquivo a ser ocultado. Para ocultar um byte do arquivo é necessário um byte do arquivo de cobertura. Esta relação deverá ser eventualmente superada com uma nova tecnologia que permitirá um armazenamento mais efetivo.

2.6.3 Novas e Melhores Aplicações da Esteganografia
Quanto maior o conhecimento das técnicas esteganográficas, maior será sua utilização. Enquanto houver uso de uma tecnologia, haverá demanda por novas funcionalidades e aplicações. Desde o desastre de 11 de Setembro de 2001, a esteganografia e seu uso por terroristas e criminosos, tanto em pedofilia quanto em tráfico de drogas, tornaram-se conhecidas. Uma vez a comunidade entendendo as aplicações da esteganografia, pode ser possível sua participação na implementação de ferramentas mais robustas de detecção. Agências de inteligência irão aprimorar seu uso da tecnologia para manter secretos seus próprios segredos. Depois de vários escândalos corporativos de âmbito internacional, os executivos estão se

19

tornando cada vez mais paranóicos com relação ao processo de rastreamento de informações. É provável que haja um grande aprimoramento nos usos legítimos da esteganografia no mundo dos negócios. Um ponto-chave neste aprimoramento de uso da esteganografia será visível na automação do processo de transmissão de um arquivo à seu usuário final. Corporações irão continuar a explorar tecnologias que possam proteger seus recursos digitais, mantendo, entretanto, seus produtos e serviços amigáveis aos consumidores. O desenvolvimento de técnicas esteganográficas pode permitir o aumento na propagação de vírus de computador, os quais podem ser esteganografados, por assim dizer, em arquivos de imagens anexados em mensagens eletrônicas livremente distribuídas. A espionagem corporativa irá tornar os negócios mais globalmente competitivos. De um lado menos produtivo, o roubo de identidade permite a uma pessoa acessar áreas restritas e a esteganografia pode permitir a recuperação de informações sigilosas de redes corporativas sem qualquer forma de ser descoberta. Marca D’Água Digital: Desafios de Desenvolvimento A tecnologia de marca d’água digital tornar-se-á cada vez mais importante já que autores desejam divulgar e negociar seus trabalhos em meios digitais pela Internet. Isto inclui todas as espécies de dados digitais incluindo livros, imagens, músicas e filmes. Muito se progrediu e muitos desenvolvimentos e aprimoramentos têm acontecido nos últimos nove anos [7]. No entanto, em relação a este desenvolvimento e aprimoramento no campo da marca d’água digital em imagens, tecnologias atuais estão longe do que o usuário final espera. A falta de padronização e a falta de um conjunto preciso e realista de requisitos para sistemas de marca d’água digital são dois aspectos que impedem um desenvolvimento adicional de técnicas de marca d’água digital e mecanismos de proteção de cópia. Além disso, outro aspecto que impede o desenvolvimento da área está relacionado à falta de um acordo na definição de um benchmark comum de comparação de métodos e na definição do conceito relacionado ao desempenho [7]. Padronização da Marca D’Água Digital Talvez a questão mais importante sobre a tecnologia de marca d’água é se a mesma estará padronizada e amplamente utilizada em um futuro próximo. Há diversos movimentos para padronização da tecnologia de marca d’água, mas nenhum padrão prevalece até o momento. 20

Alguns pesquisadores têm trabalhado no desenvolvimento de um framework padronizado para proteção de imagens digitais e outros conteúdos multimídia construído sobre arquivos de mídia e aplicações de software correspondentes. Contudo, falta ainda uma visão clara do que o framework deve ser ou de como seria usado [7]. Houve também uma discussão sobre como e se a marca d’água deveria fazer parte do padrão JPEG2000. Os requisitos relacionados à segurança foram identificados dentro da estrutura do JPEG2000. Entretanto, não houve esclarecimento profundo nem esforço harmonizado dirigidos a questões da marca d’água digital. As características de um esquema de marca d’água digital possibilitam oferecer aos projetistas uma oportunidade de integração da tecnologia de marca d’água e do padrão JPEG2000 em diferentes aplicações tais como a distribuição e compartilhamento de imagens na Internet [7]. Segundo consta na documentação do padrão JPEG2000, as técnicas subjacentes para proteger o conteúdo incluem assinaturas digitais, marca d’água, encriptação, scrambling e criação e gerenciamento de chaves. Estas técnicas serão disponibilizadas no pacote JPSEC (JPEG2000 Secured) por meio de uma autoridade de registro. Mais especificamente, todas as técnicas devem ser previamente registradas em um repositório central, a autoridade de registro, a qual identificará as técnicas de modo único [3]. Não obstante, o futuro da área de ocultação de dados parece ser brilhante. Muitas companhias já se têm mostrado ativas na pesquisa de marca d’água digital. Eventualmente a tecnologia de segurança é violada. No entanto, se a tecnologia for combinada com o aprimoramento da propriedade legal, padrões da indústria e respeito à propriedade dos indivíduos que buscam usar a propriedade intelectual legitimamente, a ocultação de dados irá encorajar os autores a confiar mais na Internet. Por fim, espera-se ainda que um grande esforço deva ser colocado em prática na pesquisa antes que a marca d’água digital e a esteganografia possam ser largamente aceitas como evidências legais de posse de direitos autorais [7].

21

Capítulo 3 Ferramenta StegIDA
3.1 Visão Geral da Ferramenta StegIDA
(O que a ferramenta faz?)

3.2 Detalhes de Implementação
(Metodologia empregada na resolução do problema) (Requisitos funcionais e não-funcionais) (Estrutura de dados)

3.2.1 O formato OGG Vorbis
(Definição e método de aplicação)

3.2.2 O SQLite
(Definição e método de aplicação)

3.3 Experimentos
(Métodos de experimentação e obtenção de resultados)

3.4 Resultados
(Apresentação e discussão dos resultados da experimentação)

Capítulo 4 Considerações Finais
(Microresumo do capítulo)

4.1 Contextualização
(Descrição do contexto) (Descrição da solução proposta)

4.2 Resultados factíveis
(Resultados obtidos) (Êxitos) (Dificuldades encontradas)

4.3 Desenvolvimentos futuros
(O que pode ser aprimorado?)

Glossário
Acrônimo de picture element, trata-se do menor elemento em um dispositivo de exibição, ao qual é possivel atribuir uma cor. Em síntese, um pixel é o menor ponto que forma uma imagem digital, sendo que o conjunto de milhares de pixels formam a imagem inteira. Scrambling Técnica de segurança eletrônica usada para tornar um sinal de televisão indisponível a menos que seja processado e restaurado por um decodificador autorizado. Pixel

Referências Bibliográficas
[1] ARNOLD, M.; SCHMUCKER, M.; WOLTHUSEN, S. D. Techniques and Applications of Digital Watermarking and Content Protection. 1. ed. Norwood: Artech House Inc., 2003. [2] COLE, E. Hiding in Plain Sight: Steganography and the Art of Covert Communication. 1. ed. Indianapolis: Wiley Publishing Inc., 2003. [3] CONAN, V.; EBRAHIMI, T. JPEG 2000 Security (Part 8 - JPSEC). Disponível em <http://www.jpeg.org/jpeg2000/j2kpart8.html>. Acesso em: Julho, 2007. Elysium Ltd and 2KAN members (2004). [4] EXIF.ORG. EXIF and related resources. Disponível em <http://exif.org/>. c

Acesso em: Abril, 2007. c Tucows Inc. [5] ID3.ORG. The Audience is informed. Disponível em <http://id3.org/>. Acesso em: Abril, 2007. c 1998-2007 by their respective owners. [6] KIPPER, G. Investigator’s Guide to Steganography. 1. ed. Florida: Auerbach Publications, 2003. [7] LU, C.-S. Multimedia Security: Steganography and Digital Watermarking

Techniques for Protection of Intellectual Property. 1. ed. Academia Sinica, Taiwan: Idea Group Publishing, 2005. [8] NEWMAN, C. SQLite. 1. ed. Indianapolis: Sams Publishing, 2004. [9] OWENS, M. The Definitive Guide to SQLite. 1. ed. New York: Apress, 2004.

[10] PFEIFFER, S.

The Ogg Encapsulation Format Version 0. Disponível em c The Internet

<http://www.ietf.org/rfc/rfc3533.txt>. Acesso em: Abril, 2007. Society (2003).

[11] PROVOS, N.; HONEYMAN, P. Hide and seek: An introduction to steganography. IEEE Security & Privacy, University of Michigan, v.NL, n.NL, p.32–44, MayJune, 2003. [12] SEITZ, J. Digital Watermarking for Digital Media. 1. ed. Heidenheim, Germany: Information Science Publishing, 2005. [13] WALLEIJ, L. The application/ogg Media Type. Disponível em c The Internet

<http://www.ietf.org/rfc/rfc3534.txt>. Acesso em: Abril, 2007. Society (2003).

[14] XIPH.ORG. Vorbis.com. The Xiph Open Source Community. Disponível em <http://vorbis.com/>. Acesso em: Abril, 2007. c 1994-2005 Xiph.Org.

26