Upload
tetri-mesquita-neto
View
832
Download
0
Embed Size (px)
DESCRIPTION
Última versão do texto parcial do Trabalho de Conclusão de Curso de Tetri Mesquita Neto (ainda não submetida a correção pela banca)
Citation preview
Unioeste - Universidade Estadual do Oeste do ParanáCENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICASColegiado de InformáticaCurso de Bacharelado em Informática
Uma aplicação de técnicas de ocultação de dados para armazenamento erecuperação de informações em arquivos multimídia
Tetri Mesquita Neto
CASCAVEL2007
TETRI MESQUITA NETO
UMA APLICAÇÃO DE TÉCNICAS DE OCULTAÇÃO DE DADOS PARAARMAZENAMENTO E RECUPERAÇÃO DE INFORMAÇÕES EM
ARQUIVOS MULTIMÍDIA
Trabalho de Conclusão de Curso apresentadocomo requisito parcial para obtenção do grau deBacharel em Informática, do Centro de CiênciasExatas e Tecnológicas da Universidade Estadualdo Oeste do Paraná - Campus de Cascavel
Orientador: Prof. MSc. Guilherme Galante
CASCAVEL2007
TETRI MESQUITA NETO
UMA APLICAÇÃO DE TÉCNICAS DE OCULTAÇÃO DE DADOS PARAARMAZENAMENTO E RECUPERAÇÃO DE INFORMAÇÕES EM
ARQUIVOS MULTIMÍDIA
Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do Títulode 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 CatarinaColegiado de Informática, UNIOESTE
Prof. MSc. Anibal Mantovani DinizColegiado de Informática, UNIOESTE
Cascavel, 1 de novembro de 2007
O conhecimento é a pequena porção da ignorância quearrumamos e classificamos.
(Ambrose Bierce, crítico, escritor e jornalista estadunidense)
AGRADECIMENTOS
Agradeço à Tubal de Lima Mesquita, meu bisavô, por ter dado à meu avô um nome tão
distinto, e à Edilson Mesquita, meu pai, por ter insistido em atribuir a mim o mesmo nome,
permitindo, mesmo que inconscientemente, que eu tenha privilégios em criar facilmente um
nome de usuário em sistemas que requerem autenticação.
É irrefragável o agradecimento à Vera Lucia Mesquita, minha mãe, exemplo maior de luta,
garra e disposição em todos os momentos da minha vida. Agradeço à Ligia Pauline Mesquita,
minha irmã, exemplo maior de inteligência e luta por ideais, por ter me ensinado a ler e escrever.
E agradeço também à Fernanda Lorenzi, minha namorada e futura noiva, exemplo maior de
dedicação, por ter me ensinado a amar.
Por fim, e nem por isso menos importante, agradeço a equipe docente que tornou possí-
vel minha graduação sem maiores traumas, especialmente ao Prof. MSc. Guilherme Galante,
orientador deste trabalho de conclusão de curso, e aos membros da banca de aprovação, Prof.
MSc. Adair Santa Catarina e Prof. MSc. Anibal Mantovani Diniz. Espero poder tê-los não só
como mestres, mas também como amigos de longa data.
Lista de Figuras
1.1 Janelas de propriedades EXIF em ambientes computacionais diferentes. . . . . 5
1.2 Janelas de propriedades ID3 (arquivos MP3) em ambientes computacionais di-
ferentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1 Uma classificação dos tipos de ocultação de dados. (Adaptado de [3]) . . . . . . 15
2.2 Exemplo de marca d’água visível em fotografia digital. ( c© Maurício A. Rech.
Todos os direitos reservados.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Exemplo de arquivo de cobertura originado pela técnica de geração de cobertura. 21
3.1 Formulário de interação com o usuário da ferramenta STEGIDA. . . . . . . . . 28
3.2 Diagrama de atividades da aplicação STEGIDA. . . . . . . . . . . . . . . . . . 29
3.3 Estrutura do cabeçalho de página do formato Ogg. (Adaptado de [21]) . . . . . . 30
3.4 Estrutura geral de uma STEGPAGE. . . . . . . . . . . . . . . . . . . . . . . . . 34
3.5 Estrutura hexadecimal do arquivo de entrada antes do armazenamento estega-
nográfico da STEGPAGE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.6 Estrutura hexadecimal do arquivo de entrada após o armazenamento estegano-
gráfico da STEGPAGE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
vi
Lista de Tabelas
2.1 Comparativo entre esteganografia e marca d’água digital. (Adaptado de [7]) . . . 12
3.1 Síntese da avaliação sobre o método utilizado de acordo com os critérios da
ocultação de dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
vii
Lista de Abreviaturas e Siglas
AAC Advanced Audio CodingCRC Cyclic Redundancy CodeDCF Design rule for Camera File systemDCT Discrete Cosine TransformDES Data Encryption StandardDFT Discrete Fourier TransformEXIF Exchangeable Image File FormatHAS Human Audible SystemHVS Human Visual SystemID3 Identify an MP3ISBN International Standard Book NumberISRC International Standard Recording CodeJEITA Japan Electronics and Information Technology Industries AssociationJPEG Joint Photographic Experts GroupLSB Least-Significant BitMIME Multipurpose Internet Mail ExtensionsMP3 MPEG Layer 3MPEG Motion Pictures Experts GroupOEM Original Equipment ManufacturerRFC Request for CommentsSTEGIDA Steganography Identifies AnythingSWT Standard Widget ToolkitTwinVQ Transform-domain Weighted Interleave Vector Quantization
viii
Sumário
Lista de Figuras vi
Lista de Tabelas vii
Lista de Abreviaturas e Siglas viii
Sumário ix
Resumo xi
1 Introdução 1
1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Estrutura do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Ocultação de Dados 8
2.1 Visão Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Classificação e Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Tipos de Ocultação de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Técnicas de Ocultação de Dados . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.1 Inserção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.2 Substituição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.3 Transformação de Domínio . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.4 Propagação do Espectro . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4.5 Método Estatístico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4.6 Distorção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.7 Geração de Cobertura . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.8 Máscara Perceptiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
ix
2.4.9 Outras abordagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5 O futuro da Ocultação de Dados . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5.1 Aprimoramento das Técnicas Esteganográficas: Resistência sobre Análise 23
2.5.2 Aprimorando a Área de Armazenamento . . . . . . . . . . . . . . . . 24
2.5.3 Novas e Melhores Aplicações da Esteganografia . . . . . . . . . . . . 24
3 Ferramenta STEGIDA 27
3.1 Visão Geral da Ferramenta STEGIDA . . . . . . . . . . . . . . . . . . . . . . 27
3.2 O formato Ogg Vorbis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3 Detalhes de Implementação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.1 Inserção de uma STEGPAGE . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.2 Recuperação dos dados de uma STEGPAGE . . . . . . . . . . . . . . . 35
3.4 Experimentos e Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4.1 Definição do Ambiente de Experimentação . . . . . . . . . . . . . . . 37
3.4.2 Metodologia de Experimentação . . . . . . . . . . . . . . . . . . . . . 38
3.4.3 Avaliação dos Resultados . . . . . . . . . . . . . . . . . . . . . . . . . 39
4 Considerações Finais 44
4.1 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.1 Dificuldades encontradas . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.1.2 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Referências Bibliográficas 48
x
Resumo
Nunca a segurança e privacidade computacionais estiveram em tamanho destaque. Após ru-
mores de que todo planejamento dos ataques terroristas que abalaram o mundo em 2001 fora
feito através do uso de técnicas esteganográficas que permitiam aos planejadores uma comuni-
cação segura e livre de suspeitas através de um meio não controlado como a World Wide Web,
o mundo passou a conhecer as técnicas de ocultação de dados em ambientes computacionais.
Além da esteganografia, outro método de ocultação de dados em destaque nos últimos anos
refere-se ao uso da marca d’água digital (digital watermarking), com a qual notas de direito
autoral (copyright) são conferidas á produções digitais. A partir destes métodos, este trabalho
propõe o uso de técnicas de ocultação de dados por esteganografia e marca d’água digital para o
armazenamento e recuperação de informações auto-descritíveis em arquivos multimídia, espe-
cialmente àqueles que não possuem, em sua estrutura, uma área especificamente reservada para
este fim. Trata-se de um modelo teórico em que estas técnicas são utilizadas fora da abordagem
em segurança e privacidade computacionais, provendo um meio no qual arquivos multimídia
possam ser classificados de alguma forma pelo usuário.
Palavras-chave: Arquivos Multimídia, Esteganografia, Marca D’Água Digital, Ocultação de
dados.
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 Google1 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
1http://www.google.com.br2http://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 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
[12][15]. 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 limi-
taçõ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 priva-
das 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 for-
mato de arquivo cuja estrutura suporte mecanismos de armazenamento de informações auto-
descrití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 neces-
sidade 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 por estes proble-
2
mas é o formato Ogg Vorbis [29]. 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 formato de compressão de áu-
dio comparável a outros formatos de armazenamento e reprodução de música digital, tais como
MP3, TwinVQ, AAC, entre outros [29].
A solução alternativa, apontada como proposta deste trabalho, é prover a possibilidade de
inserção de informações auto-descrití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.
Note que esta abordagem é tipicamente diferente da proposta no padrão de container matroska
[9]. 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 detalha-
damente os objetivos deste trabalho.
1.1 Objetivos
O objetivo geral deste trabalho de conclusão de curso envolve a aplicação de técnicas de
ocultação de dados no armazenamento e recuperação de informações auto-descritíveis em ar-
quivos 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 tecno-
logias de esteganografia técnica e marca d’água digital, bem como apresentar as técnicas
e aplicações atualmente conhecidas para ambas as áreas.
• Apresentar os mecanismos de classificação de arquivos multimídia baseados no armaze-
namento de informações auto-descrití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 em um formato de arquivo multimídia.
• Propor um método de armazenamento e recuperação do arquivo de informações auto-
descritíveis sobre o arquivo multimídia correspondente por meio de técnicas de ocultação
de dados, de modo a não interferir na qualidade ou restringir funcionalidades já disponí-
veis para aquele formato de arquivo multimídia.
3
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 pro-
vando 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, sobre-
tudo 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 programado-
res à flexibilidade que tais técnicas podem adicionar em determinada aplicação.
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 [12][15].
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 inter-
cambiá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 pa-
drão DCF (Design rule for Camera File system) criado pela JEITA (Japan Electronics and
Information Technology Industries Association) com o objetivo de encorajar a interoperabili-
4
dade entre dispositivos de imagem [12]. A Figura 1.1 apresenta capturas de tela das janelas de
propriedades EXIF em ambientes computacionais diferentes: em (a), Microsoft Windows XP;
em (b), Ubuntu Linux 7.04.
Figura 1.1: Janelas de propriedades EXIF em ambientes computacionais diferentes.
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 [15]. A Figura 1.2 apresenta capturas de telas das janelas de propriedades ID3
de um arquivo MP3 em ambientes computacionais diferentes: em (a), Microsoft Windows XP;
em (b), Ubuntu Linux 7.04.
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 é caracte-
rizada pelo uso alternativo de técnicas esteganográficas e de marca d’água digital no armazena-
mento dessas informações. Note, portanto, que inicialmente será criado um arquivo contendo
5
Figura 1.2: Janelas de propriedades ID3 (arquivos MP3) em ambientes computacionais diferen-tes.
nomes de campos de entrada e seus respectivos valores associados, contendo a informação re-
ferente ao arquivo multimídia pré-selecionado (arquivo de cobertura). Logo após, o arquivo de
informações auto-descritíveis resultante deve ser ligado de alguma forma ao arquivo de cober-
tura. É 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. A seção 3.3 Detalhes de Implementação, apre-
senta maiores detalhes técnicos de como será feito este processo. Note a mudança de paradigma
com que as técnicas de ocultação de dados serão encaradas. Se por um lado essas 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.
6
1.4 Estrutura do trabalho
Este trabalho de conclusão de curso fora estruturado de modo a melhor apresentar o pro-
blema, os objetivos, a motivação e a metodologia da pesquisa relacionada ao tema em dis-
cussão. O capítulo inicial, 1 Introdução, como já se sabe, traz uma breve 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 contextua-
lizaçã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 O segundo capítulo apresenta uma visão geral das técnicas de
ocultação de dados, apontando, sobretudo, definições conceituais pertinentes ao tema. Há
uma seção reservada exclusivamente para a apresentação e discussão das técnicas este-
ganográficas e de marca d’água digital conhecidas atualmente. 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 apresenta
uma visão geral da aplicação tomada como estudo de caso deste trabalho. Inicialmente
o problema é detalhado e apresentado segundo um cenário pré-determinado. Então, os
objetivos, bem como os detalhes de implementação da aplicação são apresentados de
acordo com a metodologia definida sobre o cenário, além de um conjunto de experimen-
tos realizados sobre os dados manipulados pela ferramenta e a análise de seus respectivos
resultados.
Capítulo 4. Conclusões Finais O quarto e último capítulo do trabalho apresenta uma conclu-
são final da pesquisa e desenvolvimento. Em um primeiro momento é apresentada uma
síntese daquilo que foi apresentado em capítulos anteriores. Em seguida, são apresentadas
as dificuldades encontradas, além das contribuições e resultados alcançados 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 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
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 pon-
tos 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 in-
seridos 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 [24].
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
marcas 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 ro-
bustez, não-perceptividade, não-detectabilidade e segurança [24]. 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, signifi-
cando coberto ou secreto, e grafia, significando escrita [7]. Em nível mais simplificado, estega-
nografia é a escrita oculta, a qual consiste, por exemplo, de uma tinta invisível sobre o papel ou
uma informação de copyright escondida em um arquivo de áudio.
Portanto, o processo de ocultação por esteganografia compreende esconder dados em uma
mensagem de cobertura de modo a dificultar tanto sua detecção quanto sua remoção. Baseados
neste objetivo, existem três maneiras principais de medir a efetividade de uma dada técnica
esteganográfica: quantidade de dados, dificuldade de detecção e dificuldade de remoção [7].
Quantidade de dados Sugere que quão maior a quantidade de dados passíveis de ocultação,
melhor é a técnica.
Dificuldade de detecção Relacionada ao grau de facilidade com que um usuário é capaz de
detectar a mensagem oculta. Comumente há uma relação direta entre a quantidade de
dados que pode ser escondida e quão fácil é de ser detectada por um usuário, isto é,
quanto maior a quantidade de informação oculta em uma mensagem de cobertura, maior
a chance de o usuário ser capaz de detectar a presença dessa informação.
Dificuldade de remoção Envolve o princípio de que ao interceptar a comunicação de uma
mensagem de cobertura, um usuário não deve ser capaz de remover a informação oculta
de modo fácil.
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 obje-
tivo de identificar o proprietário legal daquele conteúdo. A marca d’água é escondida de forma
9
a ser inseparável e resistente a muitas operações, não deteriorando o conteúdo do dado hospe-
deiro. Assim, por meio da marca d’água, o conteúdo ainda é acessível, porém permanentemente
marcado [19].
Os princípios da ocultação de dados, tanto pela esteganografia como pela marca d’água,
datam de aproximadamente 4.000 anos atrás, no Egito e na Grécia. Naquele tempo, pacotes
de informação puderam ser transferidos através de ajustes ou mutações especiais em caracteres
[13]. Heródoto, grande historiador grego, freqüentemente refere-se à métodos de esconder
informações através de tábuas de madeira encobertas por cera ou através de mensagens tatuadas
em lugares incomuns do corpo e esqueleto humano [10].
Um dos métodos mais conhecidos de ocultação de dados é escondê-los através do uso de
uma tinta especial invisível, como o simples suco de limão. Outro método de ocultação é
perfurar caracteres em um texto inócuo, criando um padrão ou assinatura, que pode revelar a
mensagem oculta simplesmente ao observá-lo através da luz [23]. Talvez um dos mais interes-
santes métodos de ocultação de dados fora projetado por Girolamo Cardano, físico, matemático
e astrólogo italiano. Interessante, e até mesmo engraçado, é o fato de que, mesmo Cardano
tendo realizado estudos nas mais diversas áreas, é mais conhecido pela sua contribuição com
a esteganografia. Tal método, conhecido como grades de Cardano (Cardano grilles), consiste
em criar um gabarito, isto é, um pedaço de papel perfurado, com o qual é possível revelar uma
mensagem a partir de um texto aparentemente inócuo [17]. Tais técnicas são freqüentemente
associadas à esteganografia técnica [25].
Já a marca d’água plana é fortemente associada ao processo de fabricação do papel, iniciado
na China, no século II. A marca d’água fora intensamente utilizada no século XVIII, tanto na
América como na Europa, como marca registrada e como um método contra a falsificação de
livros e moeda [10][23]. Recentemente, simples, porém eficazes, marcas d’água são desenvol-
vidas para prover autenticidade, originalidade, direitos autorais e uma maneira de complicar o
processo de redistribuição ilegal. A versão digital da marca d’água - a marca d’água digital -
considera em grande parte os mesmos princípios e práticas da abordagem de ocultação de dados
da esteganografia [25].
Note, portanto, 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 dados (data
10
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, ima-
gens, 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 este-
ganografia, 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 abstrusa na cifra, a intercepta-
ção 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 [17].
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 [7].
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 é pro-
jetada 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 [17]. A Tabela
2.1 sintetiza um comparativo entre os métodos de ocultação de dados por esteganografia e por
marca d’água digital, baseando-se em suas características de quantidade de dados, facilidades
de detecção e remoção, entre outas.
11
Tabela 2.1: Comparativo entre esteganografia e marca d’água digital. (Adaptado de [7])
Ao contrário de um arquivo de texto no qual é possível observar caracteres faltando, é pos-
sível alterar ligeiramente arquivos de imagem e áudio 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. É exatamente nestes bits que o
processo de esteganografia atua na ocultação de dados [7].
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 propri-
edades incluem: (1) a dificuldade de notificação1, (2) a sobrevivência à distorções comuns2,
(3) a resistência à ataques maliciosos, (4) a capacidade de informação em nível de bits, (5) a
coexistência com outras formas de ocultação de dados e (6) a complexidade do métodos estega-
nográficos ou de marca d’água digital [24]. Em geral, são descritas como fidelidade, robustez,
1Método pelo qual a existência da informação é notificada ao usuário.2Robustez do método frente à simples edições do arquivo-fonte.
12
fragilidade, resistência, sobrecarga de dados e outros critérios. A ocultação de dados deve cum-
prir as freqüentemente contraditórias exigências seguintes [24]:
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 capa-
cidade 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, por
exemplo, dos componentes de ruído do dado fonte de uma imagem para ocultar estegano-
graficamente 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ão-
perceptí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
dos 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 con-
segue distinguir entre o arquivo original e o arquivo que contém a informação em marca
d’água.
13
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 co-
nhecido. Conseqüentemente, o usuário irá tentar manipular o dado para destruir a marca
d’água, ou imprimí-lo e escaneá-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 apli-
cações e pessoas, a marca d’água deve também ser detectável. Neste caso, emerge o
problema da troca segura de chaves.
Estes critérios serão novamente revisados na seção 3.4 Experimentos e Resultados, onde
farão parte da avaliação dos resultados obtidos pelo estudo de caso deste trabalho. Para uma
melhor aplicação da ocultação de dados, deve-se haver um balanço entre os critérios supra-
citados. 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 [24].
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,
14
Figura 2.1: Uma classificação dos tipos de ocultação de dados. (Adaptado de [3])
vídeos, áudio ou texto), percepção humana e técnicas utilizadas. A Figura 2.1 sintetiza a classi-
ficação dos tipos de ocultação de dados existentes.
Como as marcas d’água podem ser aplicadas no domínio espacial ou de freqüência, diferen-
tes 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.2
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 [19].
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 [24].
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.
15
Figura 2.2: Exemplo de marca d’água visível em fotografia digital. ( c© Maurício A. Rech. Todosos direitos reservados.)
Basicamente existem dois tipos de esteganografia: a esteganografia lingüística e a estegano-
grafia técnica.
A esteganografia lingüística pode ser simplesmente descrita como qualquer forma de es-
teganografia que usa linguagem como cobertura. As principais categorias da esteganogra-
fia lingüística são os códigos abertos (cifras nulas, códigos em jargões e jornais, grades de
Cardano, mascaramento) e os semagramas textuais reais (efeito de máquina de escrever, es-
paçamento e deslocamento de caracteres). Muito embora seja um tipo de esteganografia, este
método não possui aplicação neste trabalho. Maiores detalhes sobre a esteganografia lingüística
e suas categorias são apresentados em Arnold (2003) [1], Kipper (2003) [17] e Seitz (2005)
[24].
Já a esteganografia técnica, por outro lado, envolve o uso de meios técnicos que visam
disfarçar a existência de uma mensagem utilizando meios físicos ou químicos [1]. Exemplos
deste tipo de esteganografia incluem tintas invisíveis, conhecidos desde a antiguidade, ou, mais
recentemente, redução fotomecânica resultando nos chamados microdots que permitem a redu-
ção de uma página em uma área de filme fotográfico não maior que o ponto final desta frase.
Note que a esteganografia técnica possui um escopo mais limitado em tamanho, já que, mesmo
comunicando informação, não trata necessariamente da palavra escrita [17].
Com os avanços das tecnologias computacionais durante a década de 90, os métodos basea-
dos em computação são os mais recentes métodos da esteganografia técnica, os quais podem ser
16
bastante eficientes em seu ambiente nativo. Existem muitos métodos esteganográficos baseados
em computação, e este trabalho trata-os essencialmente na seção 2.4 Técnicas de Ocultação de
Dados.
O processo de ocultação de dados, tanto por esteganografia quanto por marca d’água, é
descrito como um método bastante viável para aplicação na proteção de direitos autorais de
arquivos multimídia. A ocultação de dados pode ser aproveitada em diferentes aplicações, a
saber [10]:
• Como assinatura digital, dados camuflados podem ser usados para identificar o proprietá-
rio do conteúdo ou como impressão digital na identificação de usuários daquele conteúdo.
• O monitoramento de publicações e transmissão de dados descreve a área de sistemas de
computador que controlam automaticamente sinais de televisão e rádio para acompanhar
a publicação dos materiais distribuídos. Vários sistemas comerciais existentes fazem uso
do processo de ocultação de dados neste sentido.
• A tecnologia de ocultação de dados também pode ser utilizada para garantir a autenti-
cidade e pode ser aplicada como prova de que o conteúdo não foi alterado desde sua
inserção.
• Além disso, permite realizar o controle de cópias; neste caso, a informação abstrusa con-
tém regras de uso e redistribuição.
• Por fim, a ocultação de dados é extensamente utilizada para fins de comunicação sigilosa.
2.4 Técnicas de Ocultação de Dados
Em todos os métodos e técnicas de ocultação de dados, algo é feito para esconder uma
mensagem. Quaisquer brechas passíveis de preenchimento com dados em um sinal, sejam
estatísticas ou perceptivas, são prováveis alvos para remoção pela compressão com perdas. A
chave para o sucesso na ocultação de dados está na localização de brechas não alcançadas, e
removidas, por estes algoritmos de compressão.
Naturalmente, estas ações ou técnicas podem ser separadas e analisadas para melhor com-
preensão do quê realmente ocorre durante o processo.
17
2.4.1 Inserção
A técnica de ocultação de dados por inserção introduz a mensagem secreta diretamente no
arquivo de cobertura. O problema da técnica de inserção reside no fato de tornar o arquivo
de cobertura ligeiramente maior e, portanto, torna a alteração consideravelmente fácil de ser
detectada.
2.4.2 Substituição
Como seu próprio nome implica, o processo de ocultação de dados pela técnica ou método
de substituição (Substitution System Techniques) é caracterizado pela troca dos dados do arquivo
de cobertura pelos dados da mensagem a ser escondida. Este método pode parecer simples, mas
deve ser utilizado com certa cautela já que pode sobrescrever os dados do arquivo de cober-
tura de tal modo que o torna inutilizável ou notadamente transformado. O truque é localizar
informações insignificantes, redundantes ou desnecessárias em um arquivo as quais podem ser
sobrescritas sem qualquer impacto perceptível. Certamente, a quantidade de dados passível de
ser escondida utilizando esta abordagem é limitada pela quantidade de dados redundantes no
arquivo de cobertura [7].
Grande parte das ferramentas de esteganografia disponíveis utilizam o método LSB (Least-
Significant Bit) para codificação da mensagem secreta. Em suma, o método LSB funciona da
seguinte maneira: em uma cobertura digital (arquivos de imagem, áudio ou vídeo) há uma
grande quantidade de espaços insignificantes, redundantes ou desnecessários; é exatamente es-
tes espaços que a esteganografia irá utilizar para esconder outra mensagem, em nível de bit, na
cobertura digital [17]. Rapidez e facilidade de uso são duas características do algoritmo LSB
que o tornam um dos métodos mais comumente utilizados em aplicações de esteganografia.
Entretanto, o método LSB tem suas desvantagens. Em alguns casos, dependendo, por exem-
plo, da informação sobre um pixel de uma imagem, um ajuste pode afetar drasticamente as
propriedades daquele pixel, destacando-o na imagem como um todo e tornando a mensagem
passível de detecção. Note que este problema pode limitar a quantidade de bits substituíveis e,
portanto, o tamanho da mensagem secreta. Outro problema com este método de ocultação de
dados refere-se à resistência à alterações no arquivo de cobertura. Qualquer simples modifica-
ção em um arquivo de imagem, tal como uma rotação ou corte, torna o algoritmo incapaz de
18
localizar os bits utilizados como parte da mensagem [17]. Por outro lado, tal técnica pode ser
bastante útil em aplicações de controle de cópias e autenticidade [25].
2.4.3 Transformação de Domínio
As técnicas de transformação de domínio (Transform Domain Techniques) são consideravel-
mente eficazes e um tanto complicadas de entender. Fundamentalmente, este método esconde os
dados da mensagem no espaço de transformação de um sinal. Todos os dias, na Internet, pessoas
enviam e recebem imagens e fotos, muitas das quais utilizam o formato JPEG. Este interessante
formato mantém-se condensado ou comprimido enquanto não visualizado pelo usuário. Para
tanto, é necessário livrar-se de dados excedentes, isto é, do excesso de bits que impedem a com-
pressão do formato. Durante o processo de compressão JPEG é criada uma aproximação da
imagem para torná-la menor; esta alteração, a aproximação, caracteriza o espaço de transfor-
mação, o qual pode ser utilizado para abrigar informação [17].
Para a compressão de imagens, e conseqüente localização do espaço de transformação, exis-
tem duas técnicas bastante conhecidas: a transformação DCT (Discrete Cosine Transform, ou
Transformação Discreta do Co-seno) e a transformação DFT (Discrete Fourier Transform, ou
Transformação Discreta de Fourier). A transformação DCT utiliza dois métodos para redução
da quantidade de dados necessária para representar uma imagem [17]: (1) a quantização3 dos
coeficientes DCT da imagem e (2) a codificação da entropia4 dos coeficientes quantizados. Já
a transformação DFT converte um sinal ou imagem do domínio espacial para o domínio da
freqüência. Kun-Hung Lee, um estudante de engenharia da Universidade de Bridgeport, criou
uma excelente analogia para a transformação DFT através da comparação de como as freqüên-
cias sonoras são interpretadas pelo sistema auditivo humano, mais detalhes dessa analogia po-
dem ser vistos em Kipper (2003) [17].
Os princípios básicos da inserção ou alteração de componentes de imagens digitais e ou-
tros arquivos multimídia podem ser transferidos para outros valores de domínio. Para integrar
uma informação em marca d’água à componentes de freqüência, a informação do arquivo deve
ser convertida para seus componentes de freqüência utilizando as transformações DCT e DFT
3Quantização é o processo de redução dos possíveis valores de uma propriedade, possibilitando, portanto, aredução do número de bits necessários para representá-la.
4Codificação da entropia é uma técnica para representação o mais compacta possível de dados quantizados.
19
supracitadas [13]. Como tais transformações são utilizadas em técnicas de compressão sem
perdas, a marca d’água parece ser bastante resistente aos ataques habituais.
2.4.4 Propagação do Espectro
As técnicas de propagação do espectro (Spread-Spectrum Techniques) são tipicamente apli-
cadas à dados submetidos a um fluxo de transmissão, podendo ser divididas em dois métodos
distintos: Direct Sequence e Frequency Hopping, a saber [17]:
Direct Sequence Neste método, o fluxo de informações a ser transmitido é dividido em pe-
quenas porções, cada qual é atribuída a um canal de freqüências do espectro. Os dados
do sinal, no ponto de transmissão, são combinados com uma seqüência de bits que os
divide de acordo com uma proporção pré-determinada de propagação. Uma seqüência de
bits redundantes auxilia o sinal a resistir à interferências e possibilita a recuperação da
informação, desde que não haja danos durante a transmissão.
Frequency Hopping Este método divide uma larga faixa da banda do espectro em várias
freqüências de transmissão, possibilitando a transmissão da mensagem por algumas delas,
sem ser detectada.
A encriptação da propagação do espectro é um método esteganográfico bastante eficiente já
que dificulta sua detecção; caso for detectada, é ainda mais difícil decriptar a mensagem, já que
o usuário mal intencionado necessita da chave utilizada na encriptação [17].
As técnicas de propagação do espectro utilizados na marca d’água digital são em muito
semelhantes às do campo da comunicação. A idéia básica da propagação do espectro é trans-
mitir o dado através de uma banda de larga freqüência (em áudio, todo o espectro audível; em
imagem, todo o espectro visível) [25].
2.4.5 Método Estatístico
Os métodos estatísticos utilizam o chamado esquema de esteganografia de 1 bit. Este es-
quema introduz um único bit da informação em um único portador digital e, assim, cria uma
alteração estatística. Este sistema funciona baseando-se na habilidade do receptor em distinguir
entre coberturas modificadas e não modificadas [17].
20
2.4.6 Distorção
Este método de ocultação de dados cria uma alteração no objeto de cobertura para abri-
gar a informação. A mensagem secreta é recuperada através da comparação entre os objetos
distorcido e original [17].
2.4.7 Geração de Cobertura
Tipicamente, um objeto de cobertura é selecionado para abrigar a mensagem, mas este não
é o caso neste método. Um método de geração de cobertura, como o próprio nome diz, cria uma
cobertura com o único propósito de ocultar informação [17]. Tanto os métodos baseados em
inserção quanto em substituição necessitam do arquivo de cobertura e do arquivo secreto. Com
as técnicas de geração de cobertura, o arquivo de cobertura é utilizado, se muito, para originar
o arquivo secreto. Este método aborda uma das questões sobre detecção da esteganografia: se
alguém pode obter ambos os arquivos, de cobertura e secreto, apenas poderá dizer que possuem
uma composição binária diferente [7].
Figura 2.3: Exemplo de arquivo de cobertura originado pela técnica de geração de cobertura.
O exemplo mais comum de esteganografia baseada em geração de cobertura é aquele no
21
qual pode-se utilizar um arquivo de cobertura para criar uma imagem fractal5 [7]. A Figura
2.3 mostra um exemplo de uma complexa imagem fractal criada com o uso da esteganografia
baseada em geração de cobertura.
Note que na esteganografia baseada em geração de cobertura o arquivo criado deve possuir
um padrão previsível que possa ser codificado em um algoritmo. Por exemplo, em um fractal
os ângulos e comprimentos das linhas podem ser alimentados por um algoritmo que se baseia
no texto de entrada [7]. Portanto, é improvável que uma imagem realista possa ser facilmente
criada por esta técnica.
2.4.8 Máscara Perceptiva
A técnica de ocultação de dados por máscara perceptiva ocorre quando um sinal ou som
torna-se imperceptível ao observador devido a presença de um outro sinal. Note que este método
explora as fraquezas do sistema auditivo e visual humano [17]. Um exemplo comum, e bastante
utilizado em filmes de espionagem, é quando um personagem tenta comunicar-se com outro
sabendo que o ambiente está sendo observado. Ambos geram o máximo de ruído possível,
permitindo que a comunicação se dê através de sussurros imperceptíveis ao observador externo.
2.4.9 Outras abordagens
Várias técnicas e procedimentos de ocultação de dados têm sido criados e extensamente uti-
lizados em diversas áreas (imagens, arquivos de áudio e vídeo). Em particular, a marca d’água
em arquivos de vídeo tornou-se uma realidade após as descobertas relacionadas à marca d’água
em arquivos de áudio e imagens. A marca d’água em arquivos de áudio é baseada em teorias
psicoacústicas, modificações de amplitude, técnicas de dithering, integração por eco, distorção
de fase, além das técnicas de propagação do espectro apresentadas [25]. Tais técnicas são base-
adas nos mesmos conceitos. Neste caso, a marca d’água através da modificação de amplitude
compreende em um padrão de ruído inserido, por substituição, no bit menos significante dos
dados de áudio. Outras aplicações, tais como software de codificação de marcas d’água em
textos e marcas d’água em notas de música, completam o campo da marca d’água digital [25].
5Uma imagem fractal possui propriedades matemáticas críticas, mas é, essencialmente, uma coleção de padrõese linhas em diferentes cores.
22
2.5 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 ce-
ná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 estegano-
grafia possui características e funcionalidades suficientes para fazer parte deste cenário [7].
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.5.1 Aprimoramento das Técnicas Esteganográficas: Resistência sobreAná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 indetec-
tá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 -
por exemplo, ocultando-o em um formato digital -, imprimí-lo, reescaneá-lo e novamente ser
23
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.5.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.5.3 Novas e Melhores Aplicações da Esteganografia
Quanto maior o conhecimento das técnicas esteganográficas, maior será sua utilização. En-
quanto 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 cri-
minosos, 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
tornando cada vez mais paranóicos com relação ao processo de rastreamento de informações.
24
É 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 con-
tinuar 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 [19]. 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 padroni-
zaçã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 [19].
Padronização da Marca D’Água Digital
Talvez a questão mais importante sobre a tecnologia de marca d’água é se a mesma es-
tará 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.
Alguns pesquisadores têm trabalhado no desenvolvimento de um framework padronizado para
25
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 [19].
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 proje-
tistas 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
[19]. Segundo consta na documentação do padrão JPEG2000, as técnicas subjacentes para pro-
teger o conteúdo incluem assinaturas digitais, marca d’água, encriptação, scrambling6 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 de-
vem ser previamente registradas em um repositório central, a autoridade de registro, a qual
identificará as técnicas de modo único [8].
Não obstante, o futuro da área de ocultação de dados parece ser brilhante. Muitas compa-
nhias 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 [19].
6Scrambling é a técnica de segurança eletrônica usada para tornar um sinal de televisão indisponível a menosque seja processado e restaurado por um decodificador autorizado.
26
Capítulo 3
Ferramenta STEGIDA
Este capítulo descreve minudenciosamente a ferramenta utilizada como estudo de caso na
solução do problema de armazenamento e recuperação de informações auto-descritíveis, atra-
vés do uso de técnicas de ocultação de dados por esteganografia e marca d’água digital, em
arquivos multimídia cuja estrutura não atende aos requisitos necessários para armazenamento e
recuperação das mesmas.
O estudo de caso usado para validar o modelo teórico proposto por este trabalho consiste em
um aplicativo que permite ao usuário classificar e organizar informações auto-descritíveis em ar-
quivos de áudio no formato Ogg Vorbis (extensão .ogg), inicialmente. Maiores detalhes técnicos
sobre este formato de arquivo de áudio, bem como a razão pela qual fora escolhido, são apresen-
tados na seção 3.2 O formato Ogg Vorbis. Para tal aplicativo foi atribuído o nome STEGIDA, um
acrônimo para a frase Steganography Identifies Anything ou Esteganografia Identifica Qualquer
Coisa, em alusão ao significado do acrônimo ID3, Identify an MP3 ou Identifica um [arquivo]
MP3, para o formato MP3 especificamente.
As seções seguintes expõem uma visão geral da ferramenta STEGIDA, seus detalhes de im-
plementação e os detalhes técnicos do formato Ogg Vorbis, além do método de experimentação
utilizado e os resultados alcançados.
3.1 Visão Geral da Ferramenta STEGIDA
O aplicativo STEGIDA, quando iniciado, requisita ao usuário um arquivo de entrada, o qual
deverá ser aquele que o usuário deseja classificar com informações auto-descritíveis. No caso
específico desta ferramenta, o arquivo de entrada deve ser um arquivo de áudio no formato Ogg
Figura 3.1: Formulário de interação com o usuário da ferramenta STEGIDA.
Vorbis (extensão .ogg). A partir de então, o arquivo de entrada é verificado quanto à presença de
informações auto-descritíveis pré-existentes. Caso o arquivo de entrada possua a marcação reco-
nhecida pelo aplicativo, a estrutura de armazenamento é identificada e os dados são recuperados
de modo silencioso. Ao final do processo de verificação do arquivo e provável recuperação de
informações, estas são apresentadas ao usuário em um formulário que compreende a interface
do programa, segundo consta na Figura 3.1. Através do diagrama de atividades demonstrado na
Figura 3.2, é possível compreender todos os passos realizados durante a execução do aplicativo
STEGIDA.
Com o formulário de classificação e organização de informações auto-descritíveis o usuário
pode alterar as informações pré-existentes ou adicionar novas informações através de rótulos
e seus respectivos valores. Para tanto, existem duas instâncias, ou abas, no formulário. Na
primeira aba, Informações Básicas, são apresentados campos pré-fixados, mais comumente uti-
lizados, relacionados fortemente ao formato do arquivo de entrada. Na aba Avançado, o usuário
gerencia os rótulos e valores com o auxílio de uma tabela. Ao término da edição e/ou inserção
28
Figura 3.2: Diagrama de atividades da aplicação STEGIDA.
de informações, o usuário tanto pode cancelar (e, neste caso, a aplicação é encerrada e nada
é modificado no arquivo de entrada) quanto efetivar suas alterações, iniciando o processo de
ocultação dos dados por esteganografia e marca d’água digital.
Outra funcionalidade interessante da ferramenta está na possibilidade de recuperação do ar-
quivo original, através da remoção da estrutura utilizada para o armazenamento esteganográfico
e atualização das informações auto-descritíveis em sua estrutura específica, quando presente.
3.2 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 formato de compressão de áudio comparável a outros
formatos de armazenamento e reprodução de música digital, tais como MP3, TwinVQ, AAC,
entre outros [29]. É interessante salientar que o termo Ogg Vorbis é um termo composto, no
qual predominam duas definições [29]:
29
Ogg é o nome do contentor (container) da Xiph.org para áudio, vídeo e metadados.
Vorbis é o nome de um esquema específico de compressão de áudio projetado para ser incor-
porado em Ogg. Note que outros formatos são susceptíveis de serem incorporados em
Ogg, tais como FLAC [5] e Speex [6].
A RFC 3533 [21] descreve o Ogg bitstream versão 0, o qual consiste em um formato geral
e livremente disponível de encapsulamento para arquivos multimídia. O Ogg é capaz de encap-
sular qualquer tipo e número de formatos de codificação de áudio e vídeo, assim como outros
formatos de mídia, em um único bitstream. Além disso, a RFC 3533 expõe o processo de en-
capsulamento, os requisitos para um formato de encapsulamento genérico, as considerações de
segurança e a estrutura de página do Ogg. A Figura 3.3 detalha esta estrutura.
Figura 3.3: Estrutura do cabeçalho de página do formato Ogg. (Adaptado de [21])
capture_pattern Campo de 4 bytes que indica o início de uma página. Contém os números
mágicos 0x4f ‘O’, 0x67 ‘g’, 0x67 ‘g’, 0x53 ‘S’. Auxilia o decodificador a encontrar os
limites de página e restabelecer a sincronização após identificar uma página corrompida.
Uma vez que o padrão é encontrado, o decodificador verifica a integridade e sincronia da
página computando e comparando a soma de verificação (checksum).
stream_structure_version Campo de 1 byte indicando o número de versão do formato de
arquivo Ogg utilizado.
header_type_flag Os bits neste campo de 1 byte identificam o tipo desta página, podendo
assumir uma combinação de valores que especificam se uma página possui continuação
ou se é uma página final ou inicial, por exemplo.
30
granule_position Campo de 8 bytes contendo informação de posição.
bitstream_serial_number Campo de 4 bytes contendo o número de série único pelo qual o
bitstream lógico é identificado.
page_sequence_number Campo de 4 bytes contendo o número de seqüência da página, a
partir do qual o decodificador pode identificar uma perda de página.
CRC_checksum Campo de 4 bytes contendo a soma de verificação de 32 bits da página. O
gerador polinomial para seu cálculo é 0x04c11db7.
number_page_segments Campo de 1 byte indicando o número de segmentos codificados na
tabela de segmentos.
segment_table Campo cujo tamanho é definido no campo number_page_segments e contém
os valores de ligação (lacing values) de todos os segmentos da página atual. Cada byte
corresponde a um valor de ligação.
O tamanho total do cabeçalho da estrutura Ogg, em bytes, é calculado da seguinte forma:
header_size = number_page_segments + 27. O tamanho total da página, em bytes, é dado
por: page_size = header_size + soma(lacing_values : 1..number_page_segments).
Outra RFC que envolve o formato Ogg, a RFC 3534 [26], tem o objetivo de definir o tipo
de mídia (MIME media type) application/ogg como padrão para transmissão do formato
Ogg através da Internet.
O esquema de compressão Vorbis possui, em sua estrutura, uma área especificamente reser-
vada para armazenamento de informações auto-descritíveis, conhecido como Ogg Comments.
As informações pré-existentes que descrevem o arquivo de áudio utilizado como arquivo de
entrada da aplicação STEGIDA estão armazenadas nesta área. Note que este modelo teórico
de aplicação da ocultação de dados por esteganografia e marca d’água digital tem como alvo
principal arquivos multimídia que não possuem tal estrutura de armazenamento de informações.
Contudo, o fator determinante na escolha do formato Ogg Vorbis como estudo de caso desta so-
lução está no fato de este ser um formato livre de licenças de uso. Além disso, o modelo teórico,
uma vez provado eficiente, pode ser aplicável em qualquer formato de arquivo multimídia.
31
O esquema a seguir demonstra como é possível recuperar as informações pré-existentes na
estrutura Ogg Comments [28]. A estrutura Ogg Comments situa-se no segundo cabeçalho (de
três) a partir do início da estrutura do formato Vorbis. Neste cabeçalho estão armazenados
apenas comentários textuais. Os metadados arbitrários situam-se em uma estrutura à parte, o
que provê uma melhor organização estrutural e conseqüente parseabilidade. O cabeçalho de
comentários é decodificado da seguinte forma:
1) [vendor_length] = leia um inteiro não sinalizado de 32 bits2) [vendor_string] = leia um vetor UTF-8 de tamanho [vendor_length]3) [user_comment_list_length] = leia um inteiro não sinalizado de 32 bits4) repita [user_comment_list_length] vezes {5) [length] = leia um inteiro não sinalizado de 32 bits6) comentário desta iteração = leia um vetor UTF-8 de tamanho [length]
}7) [framing_bit] = leia um único bit como um valor booleano8) se ([framing_bit] == 0 ou fim do pacote) retorne ERRO9) fim.
A recuperação das informações contidas tanto na estrutura de encapsulamento Ogg quanto
na estrutura do formato Vorbis é realizada através de uma biblioteca específica de manipulação
dessas estruturas, apresentada na seção 3.3 Detalhes de Implementação. Note que uma abor-
dagem interessante de armazenamento esteganográfico da estrutura STEGPAGE seria o caso no
qual esta pudesse ser armazenada por entre os bytes da seção de dados do arquivo de entrada.
Contudo, após testes realizados sobre a estrutura geral do formato do Ogg Vorbis, descobriu-se
a possibilidade de anexar dados ao final do arquivo sem que tal modificação afetasse a repro-
dução do mesmo. Tal abordagem simplificou expressivamente o método de ocultação de dados
neste formato de arquivo. A seção 4.1.1 Dificuldades encontradas, entre outros pontos, eviden-
cia outros fatores que resultaram na não utilização da seção de dados do arquivo de entrada da
aplicação para o armazenamento esteganográfico.
3.3 Detalhes de Implementação
O aplicativo STEGIDA foi implementado com uso da linguagem de programação Java e
projetado sob a ótica de orientação a objetos. Para compor sua interface foi utilizada a biblio-
teca SWT (Standard Widget Toolkit), uma biblioteca de código aberto para a linguagem Java,
projetada para prover acesso eficiente e portável às facilidades de interface com o usuário do
sistema operacional na qual é implementada [11].
32
Como este estudo de caso é aplicado apenas ao formato de arquivo de áudio Ogg Vorbis,
foi utilizada a biblioteca JOrbis, específica para manipulação de arquivos neste formato [16].
Trata-se de um decodificador Ogg Vorbis implementado totalmente em Java. Algumas classes
do JOrbis foram adaptadas para melhor integração com a ferramenta STEGIDA.
Há no formulário de interação com o usuário além de campos pré-fixados, campos com
valores pré-determinados, isto é, sugestões de valores, especificamente de nomes de rótulos [22]
e gêneros musicais. Ao todo, são 30 sugestões de nomes de rótulos e 147 sugestões de gêneros
musicais. Para o gerenciamento destes valores pré-determinados, é utilizado um arquivo de
banco de dados SQLite. O SQLite é um banco de dados embarcado, pequeno e rápido [20]. O
que o faz popular é a combinação do mecanismo de banco de dados e interface em uma única
biblioteca, assim como a habilidade de armazenamento de todos os dados em um único arquivo.
Sua funcionalidade situa-se entre o MySQL e o PostgreSQL, entretanto, mostra-se mais rápido
do que ambas as bases de dados citadas. O gerenciamento de informações pré-determinadas
com o uso de um arquivo de banco de dados SQLite adiciona versatilidade e dinamicidade à
ferramenta.
Note que esta seção esclarece melhor aquilo que foi inicialmente escrito na seção 1.3 Me-
todologia. O resultado do processo de alteração e inserção de informações auto-descritíveis
por meio de rótulos e seus valores através da ferramenta STEGIDA é, inicialmente, a criação
do arquivo de propriedades contendo estas informações. Um arquivo de propriedades consiste
simplesmente em um arquivo texto organizado de tal forma que cada linha do arquivo compre-
ende um valor atribuído a uma chave, semelhante a um arquivo de configurações, largamente
utilizado por programas na atribuição inicial de variáveis de controle (arquivos de extensão .ini
ou .conf). Segue abaixo um exemplo de conteúdo válido de um arquivo de propriedades [4]:
# um comentário! um comentárioa = uma cadeia de caracteresb = uma cadeia contendo caracteres de escape \t \n \r \\ \" \’ \ (espaço)c = uma cadeia de caracteres \
com quebra de linhad.e.f = outra cadeia de caracteres
Em seguida, os bytes que compõem o arquivo de propriedades resultante deste processo são
encapsulados em uma estrutura criada com o único propósito de armazenamento esteganográ-
fico. Tal estrutura foi denominada STEGPAGE e basicamente contém um cabeçalho bastante
33
simples e uma área de dados contendo apenas os dados do arquivo de propriedades. A Figura
3.4 expõe a estrutura geral de uma STEGPAGE.
Figura 3.4: Estrutura geral de uma STEGPAGE.
identificador Campo de 8 bytes que indica a presença de uma STEGPAGE. Cada byte contém
os valores de cada caractere do termo “*StegIDA”, também utilizado como chave no
processo de encriptação e decriptação do dados da seção de dados.
tamanho do valor na área de dados Campo que contém um inteiro de 32 bits que indica o
tamanho da área de dados da STEGPAGE.
área de dados Armazena o número de bytes definido no campo anterior e compreende as in-
formações auto-descritíveis do arquivo de entrada na forma encriptada.
O tamanho total da estrutura STEGPAGE, em bytes, é dados por: tamanho_StegPage =
8+4+ tamanho_da_area_de_dados, onde 8 é o comprimento do identificador e 4 é o número
de bytes da variável inteira que corresponde ao tamanho da área de dados.
Na seqüência, o algoritmo DES é utilizado na encriptação e decriptação dos dados arma-
zenados na seção de dados da STEGPAGE. O DES (Data Encryption Standard ou Padrão de
Encriptação de Dados), específica um algoritmo utilizado para proteção criptográfica de da-
dos computacionais [18]. A encriptação de dados converte-os em um formato ininteligível
chamado cifra. A decriptação da cifra converte o dado novamente à sua forma original. O
algoritmo DES especifica as operações tanto de encriptação quanto de decriptação, ambas utili-
zando uma chave. Os dados apenas podem ser restaurados se o processo de decriptação utilizar
exatamente a mesma chave utilizada no processo de encriptação. Lembre que, para o caso espe-
cífico da encriptação e decriptação dos dados da aplicação STEGIDA, o campo de identificação
da STEGPAGE é utilizado como chave. Note que a encriptação é um passo informal neste pro-
cesso, empregado apenas para tornar o processo de ocultação de dados menos perceptível. Além
34
disso, a ocultação de dados é aplicada neste problema sob outra ótica, já que não há o requisito
de privacidade, e sim de armazenamento. Como visto na seção 2.4 Técnicas de Ocultação de
Dados, existem diversos métodos de ocultação de dados utilizando esteganografia técnica ba-
seada em computador. Portanto, a partir deste ponto, qualquer técnica pode ser empregada no
armazenamento esteganográfico da estrutura STEGPAGE sobre o arquivo de entrada.
3.3.1 Inserção de uma STEGPAGE
Muito embora o diagrama apresentado na Figura 3.2 detalhe o funcionamento da ferramenta
STEGIDA, esta e a próxima seções demonstram como é possível inserir e recuperar dados de
uma estrutura STEGPAGE em determinado arquivo de cobertura, respectivamente.
Inicialmente a STEGPAGE é construída a partir das informações auto-descritíveis do arquivo
de entrada, os quais passam pelo processo de encriptação DES utilizando como chave o pró-
prio identificador da STEGPAGE. Em seguida, o tamanho dos dados encriptados, em bytes, é
atribuído ao campo de tamanho dos dados (veja a Figura 3.4).
O próximo passo consiste em apenas efetivar o armazenamento esteganográfico da
STEGPAGE no arquivo de entrada. Para tanto, as informações na seção de comentários do
formato Ogg Vorbis são substituídas por uma marca d’água padrão, contendo apenas um aviso
de que tal arquivo contém informações esteganografadas. Observe que este processo é opci-
onal, utilizado apenas para satisfazer o requisito de notificação ao usuário, haja vista que tal
marca d’água não é utilizada para detecção da presença de uma STEGPAGE no arquivo. Então,
o arquivo de entrada é salvo e os bytes da estrutura STEGPAGE são anexados logo em seguida.
É possível classificar esta técnica de ocultação de dados, segundo aquelas apresentadas na
seção 2.4 Técnicas de Ocultação de Dados, como sendo uma combinação das técnicas por
Substituição (aplicada à marca d’água digital) e por Inserção (aplicada no armazenamento da
STEGPAGE ao final do arquivo de cobertura).
3.3.2 Recuperação dos dados de uma STEGPAGE
Todo e qualquer arquivo aceito como arquivo de entrada da aplicação STEGIDA é verificado
quanto à presença de uma STEGPAGE em sua estrutura. Isto é feito através da busca arbitrá-
ria, sobre todo o conteúdo do arquivo, pelo padrão identificador de uma STEGPAGE: a cadeia
35
de caracteres “*StegIDA”. Para evitar que a busca arbitrária localize uma cadeia de caracte-
res coincidentemente formada durante a codificação do formato Ogg Vorbis, é preferível que o
algoritmo de busca retorne a posição de sua última ocorrência.
Tendo a posição da última ocorrência do identificador da STEGPAGE, basta isolar os bytes
subseqüentes. Destes, os 8 primeiros bytes são ignorados (uma vez que se referem ao identi-
ficador), os próximos 4 bytes são lidos em uma variável inteira não sinalizada e correspondem
ao tamanho da área de dados da STEGPAGE. Por fim, o número de bytes atribuído à variável
de tamanho da área de dados é lido em um vetor de bytes que corresponde à área de dados
da STEGPAGE. Para finalizar a recuperação das informações auto-descritíveis do arquivo de
cobertura, os dados da seção de dados da STEGPAGE são decriptados com o algoritmo DES
utilizando novamente como chave o próprio identificador da STEGPAGE.
Note que não há necessidade de utilizar qualquer outro indicador dentro da estrutura geral
do formato Ogg Vorbis para tornar possível a recuperação de uma STEGPAGE. Isto classifica
a estrutura de uma STEGPAGE como independente do formato do arquivo de entrada. Uma
vez que tal estrutura pode ser armazenada esteganograficamente sem afetar a funcionalidade do
arquivo de cobertura, seja qual for seu formato, tal método de armazenamento esteganográfico
torna-se válido.
3.4 Experimentos e Resultados
Esta seção define os métodos de experimentação e avaliação dos resultados do estudo de
caso proposto neste trabalho. Conforme a seção 3.1 Visão Geral da Ferramenta STEGIDA,
o arquivo de entrada da ferramenta STEGIDA deve ser um arquivo de áudio no formato Ogg
Vorbis. Portanto, a experimentação é definida pela ocultação das informações auto-descritíveis,
tanto pré-existentes quanto aquelas definidas pelo usuário, por esteganografia e marca d’água
digital em um arquivo arbitrário neste formato.
Os resultados, por sua vez, são avaliados de acordo com os critérios exigidos pela oculta-
ção de dados apresentados na seção 2.2 Classificação e Requisitos, a saber: (1) Capacidade,
(2) Complexidade, (3) Não-detectabilidade, (4) Não-perceptividade, (5) Robustez e (6) Segu-
rança. Observe que estes critérios são freqüentemente contraditórios e, portanto, devem ser
previamente analisados quanto à sua prioridade dentro da aplicação.
36
3.4.1 Definição do Ambiente de Experimentação
A estação de trabalho utilizada no ambiente de experimentação tem as seguintes caracterís-
ticas:
• Sistema Operacional Microsoft R© Windows XP Profissional (Versão 5.1, Service Pack 2);
• Processador AMD Athlon XP, 1817 MHz (13.5 x 135) 2200+ (Arquitetura x86);
• Memória física disponível para o sistema operacional de 1,28GB (1.310.240KB);
• Chipset on-board da placa de som C-Media CMI8738 Audio Chip.
O arquivo de entrada, selecionado no início da execução da ferramenta STEGIDA, possui
as seguintes propriedades:
• Tamanho: 3,94 MB (4.135.155 bytes, em disco1: 4.136.960 bytes);
• Quantidade de dados pré-existentes: 1,62 KB (1.667 bytes);
• Duração: 3 minutos e 17 segundos;
• Taxa de bits: 160 kbps, em 2 canais (estéreo).
Além das características da estação de trabalho e das propriedades do arquivo de entrada da
ferramenta STEGIDA, vale ressaltar as ferramentas de terceiros utilizadas durante a experimen-
tação, a saber:
• Audacity 1.3.3 (beta) [2], utilizado para edição das propriedades audíveis e posterior ve-
rificação da integridade do arquivo de entrada;
• Notepad++ v4.4 [14], utilizado tão somente como editor hexadecimal para verificação,
em nível de bytes, do arquivo de entrada antes e após o processo de ocultação de dados;
• Winamp 5.5 [27], utilizado maciçamente na verificação de integridade do arquivo (após
o processo de ocultação de dados) e da seção de comentários (após a recuperação das
informações esteganografadas).
1Valor apresentado pelo sistema operacional.
37
A estrutura Ogg Comments, ou seção de comentários do arquivo Ogg Vorbis, por definição,
não estabelece limites rígidos de armazenamento de dados. Contudo, em testes realizados com
a ferramenta Winamp, pode-se observar que os dados recuperados desta estrutura são truncados
antes de serem apresentados ao usuário. Já na ferramenta STEGIDA, não há este truncamento,
e o usuário final consegue visualizar os dados em sua plenitude.
3.4.2 Metodologia de Experimentação
Ao executar a ferramenta StegIDA e selecionar o arquivo descrito na seção anterior, os co-
mentários pré-existentes na estrutura Ogg Comments são recuperados e apresentados ao usuário.
Analisando a estrutura hexadecimal do arquivo de entrada antes de aplicar o armazenamento es-
teganográfico destas informações, pode-se verificar a presença de comentários pré-existentes.
A área selecionada na Figura 3.5 mostra o início do cabeçalho da estrutura Ogg Comments.
Note que é possível verificar na coluna Dump os caracteres que compõem os comentários pré-
existentes.
Na seqüência do experimento, nenhum novo comentário é adicionado ao arquivo, sendo sub-
metidos ao processo de ocultação de dados apenas aqueles pré-existentes. Uma nova análise da
estrutura hexadecimal do arquivo de entrada após o armazenamento esteganográfico, revela que
os comentários pré-existentes foram substituídos pela mensagem em marca d’água e a presença
de uma STEGPAGE (observada pela ocorrência do identificador ‘*StegIDA’), conforme visto
na Figura 3.6. Note que, diferentemente da estrutura Ogg Comments, os dados na estrutura da
STEGPAGE são ininteligíveis. Isto ocorre porque os dados da STEGPAGE são encriptados antes
do armazenamento esteganográfico.
Uma característica interessante da ferramenta STEGIDA, também visível na Figura 3.6,
está relacionada com o fato de que mesmo existindo comentários na estrutura Ogg Comments
do arquivo de entrada, as informações auto-descritíveis apresentadas ao usuário são aquelas ar-
mazenadas na STEGPAGE. Isto ocorre porque a ferramenta, uma vez identificando a presença
de uma STEGPAGE, recupera as informações de modo silencioso. Em um player comum, tal
como o Winamp, apenas os comentários existentes na estrutura Ogg Comments são passíveis
de recuperação. Note que o armazenamento esteganográfico não restringe a inserção de infor-
mações pelo usuário pelo método padrão, utilizando a estrutura Ogg Comments. Porém, uma
38
Figura 3.5: Estrutura hexadecimal do arquivo de entrada antes do armazenamento esteganográ-fico da STEGPAGE.
vez que as informações esteganografadas sejam recuperadas, quaisquer comentários existentes
na estrutura Ogg Comments serão sobrescritos.
3.4.3 Avaliação dos Resultados
A avaliação dos resultados ao término dos experimentos realizados sobre o arquivo de en-
trada da ferramenta STEGIDA consiste na análise sobre cada critério estabelecido como requi-
sito da ocultação de dados.
Capacidade Testes de anexação de dados ao final do arquivo de entrada revelam que a ca-
pacidade de armazenamento é teoricamente infinita. Além disso, cabe salientar que in-
dependente da quantidade de dados anexados, o player continua a reproduzir o arquivo
normalmente, indicando as mesmas propriedades que o arquivo original. Este critério
39
Figura 3.6: Estrutura hexadecimal do arquivo de entrada após o armazenamento esteganográficoda STEGPAGE.
tem considerável prioridade sobre os demais, haja vista ao fato de que não há qualquer
restrição de tamanho das informações inseridas pelo usuário.
Complexidade O tempo de detecção e recuperação das informações armazenadas estegano-
graficamente é estreitamente comparável ao tempo de recuperação das informações na
estrutura Ogg Comments. Note que o tempo de detecção envolve o tempo de busca do
identificador da STEGPAGE e o tempo de recuperação envolve o tempo de decriptação
dos dados da STEGPAGE.
Não-detectabilidade O método de ocultação de dados empregado neste estudo de caso so-
40
mente é detectável em dois casos: (1) caso o usuário tenha acesso ao arquivo original
e possa compará-lo, em nível de bytes, ao arquivo de cobertura; ou (2) caso tenha co-
nhecimento técnico avançado da estrutura geral do Ogg Vorbis de modo a ser capaz de
identificar a estrutura do STEGPAGE como sendo um overhead, sem ter acesso ao ar-
quivo original. Pode-se dizer que o primeiro caso é inibido pelo fato de que as alterações
realizadas pela ferramenta STEGIDA sobrescrevem o arquivo original. Observe que este
critério tem prioridade baixa, já que a detectabilidade é um requisito da aplicação, ou seja,
a ocultação de dados não é aplicada com fins de privacidade e segurança, mas apenas de
armazenamento.
Não-perceptividade Não há quaisquer alterações acústicas perceptíveis na reprodução do ar-
quivo de cobertura. Isto ocorre por dois motivos: (1) não há qualquer alteração das infor-
mações contidas na seção de dados da estrutura Ogg Vorbis; e (2) o player simplesmente
ignora qualquer informação aquém à seção de dados da estrutura Ogg Vorbis.
Robustez A aplicação de operações de redução de ruído e equalização, bastante comuns em
arquivos de áudio, revelou a destruição da STEGPAGE. Tal resultado era até esperado, haja
vista ao fato de que, assim como o player, o editor de áudio considera apenas a estrutura
geral do Ogg Vorbis, ignorando bytes excedentes. Ao aplicar qualquer transformação no
arquivo com o aplicativo Audacity, até mesmo a estrutura Ogg Comments fora destruída.
Segurança Este critério possui prioridade baixa para este estudo de caso. Isto se deve pelo fato
dos dados esteganografados não possuírem caratér privado e, conseqüentemente, não há
razão para destruí-los propositadamente.
A Tabela 3.1 sintetiza a avaliação dos resultados da aplicação da ocultação de dados por es-
teganografia e marca d’água digital nas informações auto-descritíveis sobre o arquivo de entrada
da aplicação STEGIDA, com base nos critérios estabelecidos como requisitos da ocultação de
dados.
Outro método de avaliação dos resultados que pode ser utilizado neste estudo de caso é a
comparação entre os arquivos antes e depois do processo de armazenamento esteganográfico
das informações auto-descritíveis. A seção 3.4.1 Definição do Ambiente de Experimentação
expõe as propriedades do arquivo de entrada selecionado no início da execução da ferramenta
41
Tabela 3.1: Síntese da avaliação sobre o método utilizado de acordo com os critérios da oculta-ção de dados.
STEGIDA. Todas as propriedades relacionadas à reprodução do conteúdo do arquivo, isto é,
duração, taxa de bits e número de canais, mantiveram-se as mesmas. Isto implica no fato de
que o processo de armazenamento esteganográfico não interfere na qualidade da reprodução do
arquivo.
Em todo o processo, apenas o tamanho final do arquivo sofreu alterações, de 4.135.155 bytes
para 4.135.978 bytes, um aumento de 823 bytes que correspondem a 0,02% do tamanho total do
arquivo de entrada. Uma vez que a quantidade de informações auto-descritíveis armazenadas
esteganograficamente durante a experimentação foi a mesma, a alteração do tamanho final do
arquivo é justificada pelos seguintes fatos:
1. Tão logo as informações pré-existentes são removidas da estrutura Ogg Comments do
arquivo de entrada, é inserida uma nova informação que atua como marca d’água e é
responsável pela notificação da existência de dados esteganografados ao usuário. Esta
nova informação constitui uma sobrecarga ao tamanho final do arquivo.
2. Os dados do cabeçalho da estrutura STEGPAGE, utilizados para detecção de sua existência
pela ferramenta, também constituem uma sobrecarga ao tamanho final do arquivo.
3. O processo de encriptação da seção de dados da estrutura STEGPAGE pelo algoritmo
DES nem sempre retorna um valor de tamanho igual ao tamanho do valor de entrada.
Isto ocorre porque o processo de decriptação pelo mesmo algoritmo requer um valor de
42
entrada de tamanho múltiplo de 8. A diferença entre os tamanhos de entrada e saída do
processo de encriptação constitui novamente uma sobrecarga ao tamanho final do arquivo.
Observe que, para este estudo de caso em particular, o armazenamento esteganográfico não
resulta em um ganho de espaço de armazenamento. No entanto, como o modelo proposto se
estende à formatos de arquivo multimídia que não possuem estrutura especificamente reservada
para o armazenamento de informações auto-descritíveis, e considerando os benefícios que a
classificação por este método adiciona ao formato, esta sobrecarga diminuta é aceitável.
43
Capítulo 4
Considerações Finais
Este trabalho teve como objetivo avaliar a aplicação de técnicas de ocultação de dados no
armazenamento e recuperação de informações auto-descritíveis em arquivos multimídia.
Inicialmente, o Capítulo 1 expôs a contextualização do problema, os objetivos geral e es-
pecíficos, bem como a motivação e a metodologia aplicada. O Capítulo 2 apresenta a revisão
bibliográfica utilizada na fundamentação teórica dos assuntos pertinentes a este trabalho: uma
visão geral dos métodos de ocultação de dados, incluindo os critérios exigidos para uma oculta-
ção aceitável; os principais tipos de ocultação de dados, dando ênfase à esteganografia técnica
e marca d’água digital; as técnicas atualmente conhecidas de ocultação de dados; e as previsões
que o futuro reserva para esta área.
Já o Capítulo 3 descreveu em detalhes a ferramenta STEGIDA, implementada com o ob-
jetivo de avaliar o método de armazenamento esteganográfico de informações auto-descritíveis
no formato Ogg Vorbis, especificamente, compreendendo o estudo de caso deste trabalho.
4.1 Conclusões
Os mecanismos de classificação de arquivos multimídia baseados no armazenamento e re-
cuperação de informações auto-descritíveis existentes atualmente ou utilizam a área do arquivo
específica para este fim (e, em muitos casos, tal estrutura possui limites rígidos de tamanho
e campos fixos, limitando a liberdade de classificação), quando presente; ou tais informações
de classificação são armazenadas em arquivos do sistema operacional (tornando a classificação
inútil fora dele, como quando o arquivo é compartilhado para outros ambientes). Portanto, para
que a classificação de arquivos multimídia possa ser aceitável, este trabalho propôs o estudo
de conceitos relacionados à ocultação de dados, o estado da arte, suas técnicas e aplicações, na
hipótese de armazenar as informações auto-descritíveis através do uso de algoritmos estegano-
gráficos e de marca d’água digital.
4.1.1 Dificuldades encontradas
Durante a elaboração deste trabalho e do desenvolvimento do estudo de caso para avaliação
dos resultados obtidos pela proposta do mesmo, foram encontradas algumas dificuldades de
caráter técnico.
1. A primeira dificuldade diz respeito à indisponibilidade de documentação das estruturas
Ogg e Vorbis. Aparentemente as páginas da Internet que constituem a documentação
online dessas estruturas passaram por uma reformulação ainda não atualizada completa-
mente, ocasionando a perda de referência entre páginas e tornando a documentação não
centralizada. Uma pesquisa em fóruns de discussão específicos sobre informações técni-
cas de ambos os formatos, revela um considerável número de usuários insatisfeitos com
tal descentralização. Imagina-se que este pode ser um motivo significativo da pequena
popularidade que tal formato de arquivo de áudio digital tem alcançado.
2. Já a segunda dificuldade refere-se especificamente à linguagem Java, utilizada na im-
plementação da ferramenta STEGIDA. Tal linguagem, como já se sabia, tem seu foco
voltado à manipulação de objetos em alto nível e, portanto, possui restrições quanto à
manipulação em nível de bits. Observe que tal característica é relativamente negativa
para algoritmos esteganográficos, haja vista ao fato de que grande parte dos espaços re-
dundantes em arquivos multimídia são aparentes apenas através de uma análise em nível
de bits da estrutura do arquivo.
Apesar de tais dificuldades, todos os objetivos deste trabalho puderam ser alcançados.
4.1.2 Contribuições
Os métodos de ocultação de dados em meio computacional sempre estiveram intrinseca-
mente ligados à privacidade de comunicação e segurança digital. Uma notável contribuição dos
45
estudos realizados durante a elaboração deste trabalho é a mudança de paradigma da aplicação
dos métodos de ocultação de dados por esteganografia técnica e marca d’água digital.
As informações auto-descritíveis relacionadas ao arquivo multimídia que o usuário pretende
classificar não consistem necessariamente em um conteúdo de caráter privado. Por outro lado,
há formatos de arquivo multimídia que sequer possuem estrutura particularmente disponível
para a inserção destas informações. Logo, este trabalho propõe a criação de uma estrutura
genérica de armazenamento e a utilização de técnicas esteganográficas na análise do arquivo
alvo quanto à presença de espaços redundantes nos quais é possível armazenar tal estrutura, de
modo a não interferir na qualidade ou restringir funcionalidades do arquivo alvo.
Através dos resultados obtidos nos testes realizados, pode-se concluir que o método de ar-
mazenamento esteganográfico proposto funcionou de modo satisfatório para o formato de ar-
quivos de áudio Ogg Vorbis, podendo assim, tal como sugerido na seção 4.2 Trabalho futuros,
ser estendido para outros formatos de arquivos multimídia.
4.2 Trabalhos futuros
Dentro do escopo deste trabalho, é possível apontar diversas sugestões de desenvolvimentos
futuros em aspectos passíveis de melhoramentos ou adaptações, a fim de alcançar resultados
ainda melhores.
Inicialmente, sugere-se a aplicação do armazenamento esteganográfico de informações auto-
descritíveis em outros formatos de arquivo multimídia, não necessariamente arquivos de áudio
digital e preferivelmente àqueles que não possuem estrutura especificamente voltada para este
fim. Em seguida, poder-se-ia estudar outras técnicas de ocultação de dados e outros algoritmos
de manipulação de arquivos multimídia de modo a reconhecer peculiaridades e beneficiar-se
delas.
Voltando-se especificamente à ferramenta STEGIDA, é possível apontar algumas sugestões
de desenvolvimentos futuros, quais sejam:
• O desenvolvimento de uma biblioteca genérica de manipulação de arquivos multimídia,
de modo que a adição de suporte a um novo formato resulte em um mínimo esforço.
• A complementação da estrutura da STEGPAGE, quer seja através da criação de um campo
46
de verificação de soma (chekck sum) que possibilita a validação de sua área de dados, quer
seja através do uso de algoritmos de compressão de dados de modo a reduzir a sobrecarga
ao tamanho final do arquivo.
• O uso prático da ferramenta em sistemas finais, através do projeto e implementação de
plugins para players populares.
47
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] AUDACITY. Audacity: Free Audio Editor and Recorder. Dis-
ponível em <http://audacity.sourceforge.net/>. Acesso em: Outubro, 2007.
http://www.sourceforge.net.
[3] CACCIAGUERRA, S.; FERRETTI, S. Data hiding: Steganography and copyright
marking. Department of Computer Science, University of Bologna, Setembro,
2002.
[4] CHAN, P. The Java Developers Almanac 1.4. Volume 1: Examples and Quick
Reference. 4. ed. Indianapolis: Prentice Hall PTR, 2002.
[5] COALSON, J. FLAC: Free Lossless Audio Codec. Disponível em
<http://flac.sourceforge.net/>. Acesso em: Outubro, 2007. c© 2000-2007 Josh
Coalson.
[6] COALSON, J. Speex: A Free Codec For Free Speech. Disponível em
<http://www.speex.org/>. Acesso em: Outubro, 2007. c© 1994-2006 Xiph.Org.
[7] COLE, E. Hiding in Plain Sight: Steganography and the Art of Covert
Communication. 1. ed. Indianapolis: Wiley Publishing Inc., 2003.
[8] CONAN, V.; EBRAHIMI, T. JPEG 2000 Security (Part 8 - JPSEC). Disponível
em <http://www.jpeg.org/jpeg2000/j2kpart8.html>. Acesso em: Julho, 2007. c©Elysium Ltd and 2KAN members (2004).
[9] CORECODEC.ORG. Matroska. Disponível em <http://www.matroska.org/>.
Acesso em: Setembro, 2007. http://corecodec.org.
[10] COX, I. J.; MILLER, M. L.; BLOOM, J. A. Digital watermarking. 1. ed. San
Francisco: Morgan Kaufmann, 2002.
[11] ECLIPSE.ORG. SWT: The Standard Widget Toolkit. Disponível em
<http://www.eclipse.org/swt/>. Acesso em: Outubro, 2007. c© The Eclipse
Foundation.
[12] EXIF.ORG. EXIF and related resources. Disponível em <http://exif.org/>.
Acesso em: Abril, 2007. c© Tucows Inc.
[13] HANJALIC, A. et al. Image and video databases: Restoration, watermarking
and retrieval. 1. ed. Amsterdam: Elsevier, 2000.
[14] HO, D. Notepad++. Disponível em <http://notepad-plus.sourceforge.net/>.
Acesso em: Outubro, 2007. http://www.sourceforge.net.
[15] ID3.ORG. The Audience is informed. Disponível em <http://id3.org/>. Acesso
em: Abril, 2007. c© 1998-2007 by their respective owners.
[16] JCRAFT.COM. JOrbis: Pure Java Ogg Vorbis Decoder. Disponível em
<http://www.jcraft.com/jorbis/>. Acesso em: Outubro, 2007. c© JCraft, Inc.
[17] KIPPER, G. Investigator’s Guide to Steganography. 1. ed. Florida: Auerbach
Publications, 2003.
[18] LEHTINEN, R.; RUSSELL, D.; GANGEMI, G. T. Computer Security Basics.
2. ed. Sebastopol: O’Reilly, 2006.
[19] LU, C.-S. Multimedia Security: Steganography and Digital Watermarking
Techniques for Protection of Intellectual Property. 1. ed. Academia Sinica,
Taiwan: Idea Group Publishing, 2005.
[20] NEWMAN, C. SQLite. 1. ed. Charlotte: Sams Publishing, 2005.
49
[21] PFEIFFER, S. The Ogg Encapsulation Format Version 0. Disponível em
<http://www.ietf.org/rfc/rfc3533.txt>. Acesso em: Abril, 2007. c© The Internet
Society (2003).
[22] REACTOR CORE.ORG. Ogg Vorbis Comment Field Recommendations:
Suggestions For Tagging Ogg Files. Disponível em <http://reactor-core.org/ogg-
tagging.html>. Acesso em: Outubro, 2007. http://reactor-core.org/.
[23] SCHNEIER, B. Angewandte Kryptographie. Protokolle, Algorithmen und
Sourcecode in C. 1. ed. Bonn: Addison-Wesley, 1998.
[24] SEITZ, J. Digital Watermarking for Digital Media. 1. ed. Heidenheim,
Germany: Information Science Publishing, 2005.
[25] SEITZ, J.; JAHNKE, T. Digital Watermarking for Digital Media, chapterDi-
gital Watermarking: An Introduction, p.1–29. Information Science Publishing,
Heidenheim, Germany, 1. ed., 2005.
[26] WALLEIJ, L. The application/ogg Media Type. Disponível em
<http://www.ietf.org/rfc/rfc3534.txt>. Acesso em: Abril, 2007. c© The Internet
Society (2003).
[27] WINAMP.COM. Winamp Media Player: MP3, Multimedia, and Music Player.
Disponível em <http://www.winamp.com/>. Acesso em: Outubro, 2007. c© 1997-
2007 Nullsoft, Inc.
[28] XIPH.ORG. Ogg Vorbis I format specification: comment field and header
specification. Disponível em <http://www.xiph.org/vorbis/doc/v-comment.html>.
Acesso em: Outubro, 2007. c© 1994-2005 Xiph.Org.
[29] XIPH.ORG. Vorbis.com. The Xiph Open Source Community. Disponível em
<http://vorbis.com/>. Acesso em: Abril, 2007. c© 1994-2005 Xiph.Org.
50