61
Unioeste - Universidade Estadual do Oeste do Paraná CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Informática Curso de Bacharelado em Informática Uma aplicação de técnicas de ocultação de dados para armazenamento e recuperação de informações em arquivos multimídia Tetri Mesquita Neto CASCAVEL 2007

Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 1: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 2: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 3: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 4: Uma aplicação de técnicas de ocultação de dados para armazenamento

O conhecimento é a pequena porção da ignorância quearrumamos e classificamos.

(Ambrose Bierce, crítico, escritor e jornalista estadunidense)

Page 5: Uma aplicação de técnicas de ocultação de dados para armazenamento

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.

Page 6: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 7: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 8: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 9: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 10: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 11: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 12: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 13: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 14: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 15: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 16: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 17: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 18: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 19: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 20: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 21: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 22: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 23: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 24: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 25: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 26: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 27: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 28: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 29: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 30: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 31: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 32: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 33: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 34: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 35: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 36: Uma aplicação de técnicas de ocultação de dados para armazenamento

É 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

Page 37: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 38: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 39: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 40: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 41: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 42: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 43: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 44: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 45: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 46: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 47: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 48: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 49: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 50: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 51: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 52: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 53: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 54: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 55: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 56: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 57: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 58: Uma aplicação de técnicas de ocultação de dados para armazenamento

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

Page 59: Uma aplicação de técnicas de ocultação de dados para armazenamento

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).

Page 60: Uma aplicação de técnicas de ocultação de dados para armazenamento

[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

Page 61: Uma aplicação de técnicas de ocultação de dados para armazenamento

[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