You are on page 1of 75

FACULDADE DE TECNOLOGIA SENAI DE DESENVOLVIMENTO GERENCIAL - FATESG CURSO SUPERIOR EM TECNOLOGIA EM REDES DE COMPUTADORES

Gustavo B. Carvalho Hudson Vieira de Brito Joo Batista Moreira Jnior Marcos V. de Castro Moura

FERRAMENTAS DE CRIPTOGRAFIA EM MEMRIA SECUNDRIA SURVEY E ANLISE DE DESEMPENHO DAS PRINCIPAIS SOLUES

Goinia 2009

Gustavo B. Carvalho Hudson Vieira de Brito Joo Batista Moreira Jnior Marcos V. de Castro Moura

FERRAMENTAS DE CRIPTOGRAFIA EM MEMRIA SECUNDRIA SURVEY E ANLISE DE DESEMPENHO DAS PRINCIPAIS SOLUES

Trabalho de concluso de curso apresentado Faculdade de Tecnologia SENAI de Desenvolvimento Gerencial - FATESG, para obteno do ttulo de Graduado em Tecnologia em Redes de computadores. Orientador: Prof. Msc. Antnio Pires de Castro Jnior

Goinia 2009

C321f

Carvalho, Gustavo B. Ferramentas de criptografia em memria secundria SURVEY e anlise de desempenho das principais solues. / Gustavo B. Carvalho, Hudson Vieira de Brito, Joo Batista Moreira Jnior, Marcos V. de Castro Moura. Goinia: Faculdade de Tecnologia Senai de Desenvolvimento Gerencial, 2009.

Trabalho de concluso de curso (Tecnologia em Redes de Computadores) Faculdade de Tecnologia Senai de Desenvolvimento Gerencial. 1. Criptografia ferramentas. 2. Algoritmos. 3. Segurana em redes. I. Ttulo. II. Brito, Hudson Vieira de. III. Moreira Jnior, Joo Batista. IV. Moura, Marcos V. de Castro. CDD 005.8

Este Trabalho de Final de Curso (TCC): FERRAMENTAS DE CRIPTOGRAFIA EM MEMRIA SECUNDRIA - SURVEY E ANLISE DE DESEMPENHO DAS PRINCIPAIS SOLUES, por Gustavo B. Carvalho, Hudson Vieira de Brito, Joo Batista Moreira Jnior e Marcos Vincius de Castro Moura est licenciado usando a Creative Commons Atribuio-Uso No-Comercial-Vedada a Criao de Obras Derivadas 2.5 Brasil License. O Trabalho completo pode ser encontrado no endereo http://www.forensetec.com.br, com a autorizao e total responsabilidade de todos os autores desta obra.

Gustavo B. Carvalho Hudson Vieira de Brito Joo Batista Moreira Jnior Marcos V. de Castro Moura

FERRAMENTAS DE CRIPTOGRAFIA EM MEMRIA SECUNDRIA SURVEY E ANLISE DE DESEMPENHO DAS PRINCIPAIS SOLUES

Trabalho de concluso de curso apresentado Faculdade de Tecnologia SENAI de Desenvolvimento Gerencial - FATESG, para obteno do ttulo de Graduado em Tecnologia em Redes de computadores.

Aprovada em ____ de ______________________ de 20____.

Banca Examinadora

Prof. Msc. Antnio Pires de Castro Junior

Prof. Msc. Rafael Leal Martins

Prof. Msc. Ricardo de Andrade Kratz

Dedicamos este trabalho aos nossos familiares, que com apoio, pacincia e incentivo nos proporcionou trilhar nosso caminho at aqui.

Ao nosso orientador Prof. Antnio Pires de Castro Junior, pelos dias dedicados a nos auxiliar e dar condies para que chegssemos concluso deste trabalho, compartilhando sua experincia e competncia. Especialmente aos professores dio Cardoso e Maurcio Lopes, pela presteza em nos atender e ajudar sempre que se fez necessrio ao longo do curso.

RESUMO

Atravs da criptografia possvel proteger nossos dados e manter o sigilo de comunicaes pessoais, para isso existem atualmente vrias ferramentas de cifragem, algumas inclusive nativas nos principais sistemas operacionais. Entretanto importante avaliar o desempenho de tais produtos frente a sua utilizao, neste sentido, este trabalho analisou e comparou trs ferramentas de criptografia de dados em sistemas de arquivos: TrueCrypt, DM-Crypt e BitLocker, e dentre os diversos algoritmos citados foi aplicado o algoritmo AES com chave de 256 bits.

Palavras-chave: Criptografia, Segurana e Desempenho.

ABSTRACT

Through encryption can protect our data and maintain the confidentiality of personal communications, for that there are currently several encryption tools, including some native across major operating systems. However it is important to assess the performance of such products before their use in this context, this study analyzed and compared three tools, data encryption systems files: TrueCrypt, DMcrypt and BitLocker, and among the various algorithms mentioned was applied AES algorithm with 256-bit key. Keywords: Encryption, Security and Performance.

LISTA DE ILUSTRAES

Figura 1 - Incidentes Reportados ao CERT.br - Janeiro Dezembro de 2004......... 15 Figura 2 - Incidentes Reportados ao CERT.br - Janeiro Dezembro de 2006......... 16 Figura 3 - Incidentes Reportados ao CERT.br - Janeiro Maro de 2009................ 17 Figura 4 - A estrutura geral do Feistel no DES.......................................................... 24 Figura 5 - O algoritmo 3DES...................................................................................... 25 Figura 6 - Instalao do TrueCrypt verso 6.3.......................................................... 37 Figura 7 - Janela Principal do TrueCrypt verso 6.3................................................. 37 Figura 8 - Opes de criao de volumes criptografados do TrueCrypt.................... 38 Figura 9 - Tipo do volume criptografado do TrueCrypt verso 6.3............................ 39 Figura 10 - Algoritmos suportados pelo TrueCrypt verso 6.3.................................. 40 Figura 11 - Formatao do Volume pelo TrueCrypt verso 6.3................................. 40 Figura 12 - Montar a partio criptografada com o TrueCrypt verso 6.3................. 44 Figura 13 - Arquitetura do BitLocker.......................................................................... 43 Figura 14 - Ativando BitLocker em uma partio no Windows Seven Ultimate......... 44 Figura 15 - Inserindo a senha do BitLocker em uma partio no Windows Seven Ultimate.....................................................................................................................45 Figura 16 - Processo de encriptao do BitLocker.................................................... 45 Figura 17 - Gerenciamento do BitLocker no Windows Seven Ultimate..................... 46 Figura 18 - Funcionamento do Cryptsetup................................................................ 48 Figura 19 - Comando utilizado para carregar mdulos do algoritmo AES................. 48 Figura 20 - Status da partio criptografada com o DM-Crypt.................................. 49 Figura 21 - Esquema da realizao dos testes de anlise de desempenho............. 52 Figura 22 - Utilizando programa TeraCopy para cronometrar o tempo..................... 52 Figura 23 - Resultados dos testes ao copiar arquivos para unidade local criptografada (Windows)...........................................................................................53

Figura 24 - Resultados dos testes ao mover arquivos para unidade local criptografada (Windows)...........................................................................................53 Figura 25 - Resultados dos testes ao copiar arquivos da unidade criptografada (Windows).................................................................................................................. 54 Figura 26 - Resultados dos testes ao mover arquivos da unidade criptografada (Windows).................................................................................................................. 54 Figura 27 - Resultados dos testes ao copiar arquivos da unidade local para uma unidade removvel criptografada (Windows).............................................................. 55 Figura 28 - Resultados dos testes ao mover arquivos da unidade local para uma unidade removvel criptografada (Windows).............................................................55 Figura 29 - Resultados dos testes ao copiar arquivos da unidade removvel criptografada para unidade local sem criptografia (Windows)................................... 56 Figura 30 - Resultados dos testes ao mover arquivos da unidade removvel criptografada para unidade local sem criptografia (Windows)................................... 57 Figura 31 - Usando o comando time para cronometrar o tempo............................... 58 Figura 32 - Resultados dos testes ao copiar arquivos para unidade local criptografada (Linux).................................................................................................. 59 Figura 33 - Resultados dos testes ao mover arquivos para unidade local criptografada (Linux).................................................................................................59 Figura 34 - Resultados dos testes ao copiar arquivos da unidade criptografada para unidade local (Linux).......................................................................................... 60 Figura 35 - Resultados dos testes ao mover arquivos da unidade criptografada para unidade local (Linux).........................................................................................61 Figura 36 - Resultados dos testes de cpia da unidade local para unidade removvel criptografada (Linux).................................................................................. 62 Figura 37 - Resultados dos testes ao mover arquivos da unidade local para unidade removvel criptografada (Linux).................................................................... 62 Figura 38 - Resultados dos testes ao copiar arquivos da unidade criptografada para unidade local (Linux).......................................................................................... 63 Figura 39 - Resultados dos testes ao mover arquivos da unidade criptografada para unidade local (Linux).......................................................................................... 63 Figura 40 - 1 Grfico Comparativo entre Windows x Linux...................................... 64

Figura 41 - 2 Grfico Comparativo entre Windows x Linux...................................... 65 Figura 42 - 3 Grfico Comparativo entre Windows x Linux...................................... 65 Figura 43 - 4 Grfico Comparativo entre Windows x Linux...................................... 65 Figura 44 - 5 Grfico Comparativo entre Windows x Linux...................................... 65 Figura 45 - 6 Grfico Comparativo entre Windows x Linux...................................... 67 Figura 46 - 7 Grfico Comparativo entre Windows x Linux...................................... 67 Figura 47 - 8 Grfico Comparativo entre Windows x Linux...................................... 68

LISTA DE ABREVIAES, SIGLAS E SMBOLOS

3DES - Triple Data Encryption Standard AES - Advanced Encryption Standard CERT.br - Centro de Estudos, Resposta e Tratamento de Incidentes de Segurana no Brasil DES - Data Encryption Standard DSA - Digital Signature Algorithm DSS - Digital Signature Standard GB - Gigabyte HD - Hard Disk HMAC - Hash-based Message Authentication Code IDEA - International Data Encryption Algorithm IPSEC - IP Security Protocol MD5 - Message-Digest algorithm 5 MB - Megabyte NSA - National Security Agency NIST - National Institute of Standards and Technology PGP - Pretty Good Privacy SHA-1 - Secure Hash Algorithm SSH - Secure Shell SSL - Secure Sockets Layer TLS - Transport Layer Security TPM - Trusted Platform Module USB - Universal Serial Bus

SUMRIO

1 INTRODUO........................................................................................................ 14 2 REVISO LITERRIA EM CRIPTOGRAFIA.......................................................... 19 2.1 CONCEITOS E BREVE HISTRICO DE CRIPTOGRAFIA................................19 2.2 APLICAES DA CRIPTOGRAFIA....................................................................20 2.3 ALGORITMOS SIMTRICOS.............................................................................. 21 2.3.1 DES (Digital Encryption Standard)................................................................. 23 2.3.2 3DES (TripleDES).....25 2.3.3 AES (Advanced Encryption Standard).......26 2.3.4 Serpent. 27 2.3.5 Blowfish... 28 2.3.6 Twofish. 29 2.4 ALGORITMOS ASSIMTRICOS.......................................................................... 30 2.4.1 DSA (Digital Signature Algorithm)................................................................. 31 2.4.2 RSA................................................................................................................... 31 2.5 ALGORITMOS DE HASH....................................................................................32 2.5.1 MD5................................................................................................................... 33 2.5.2 HMAC................................................................................................................ 34 2.5.3 SHA1 (Secure Hash Algorithm)...................................................................... 34 3 SURVEY DAS FERRAMENTAS PARA CRIPTOGRAFIA DE SISTEMAS DE ARQUIVOS................................................................................................................ 35 3.1 TIPOS DE FERRAMENTAS................................................................................. 35 3.2 FERRAMENTAS.................................................................................................. 35 3.2.1 TrueCrypt......................................................................................................... 35 3.2.2 BitLocker.......................................................................................................... 41 3.2.3 DM-Crypt........................................................................................................... 46 4 ANLISE DE DESEMPENHO................................................................................ 50 4.1 INSTALAO....................................................................................................... 50

4.2 TESTES REALIZADOS........................................................................................ 51 4.2.1 Anlise de Desempenho no Ambiente Windows.......................................... 51 4.2.2 Anlise de Desempenho no Ambiente Linux...............................................58 5 CONSIDERAES FINAIS E TRABALHOS FUTUROS......................................69 REFERNCIAS BIBLIOGRFICAS.......................................................................... 71

14

1 INTRODUO

[...] Um notebook de funcionrio roubado ou perdido pode dar um prejuzo de mais de US$ 115 mil empresa, segundo um estudo encomendado pela Intel. A pesquisa, feita pelo Ponemon Institute, calcula que notebooks perdidos ou roubados em aeroportos custam s empresas uma mdia de US$ 49.246,00 incluindo no s o valor do equipamento, mas dos dados armazenados nele. O estudo analisou 138 casos de perda de notebooks e determinou o valor gasto com reposio, deteco, percia forense, vazamento de dados, perda de propriedade intelectual, consultoria legal e despesas regulatrias. A perda de dados representa 80% do custo do incidente. O levantamento mostra que o custo aumenta proporcionalmente ao tempo que a mquina fica perdida. Se o notebook achado no mesmo dia, o custo de US$ 8.950,00. Mas se demora mais de uma semana para ser recuperado, o prejuzo sobe para at US$115.849. Tambm faz diferena quem perdeu o notebook. Surpreendentemente, no o computador do CEO que vale mais, mas sim o de um diretor ou gerente. O notebook de um executivo snior custa empresa US$ 28.449,00, enquanto o de um gerente ou diretor causa um prejuzo de US$ 60.781,00 e $61.040,00, respectivamente. A criptografia reduz significativamente o custo do roubo: enquanto uma mquina com HD no criptografado custa US$56.165,00, uma criptografada sai por US$ 37.443,00. (INFO, 2009). A Petrobras confirmou nesta quarta-feira (14/02), por meio de seu site, que equipamentos que continham informaes importantes para a companhia foram furtados de instalaes de uma empresa prestadora de servios especializados. Segundo reportagens veiculadas pela mdia nesta quartafeira, teriam sido perdidos um disco rgido e dois notebooks com informaes sobre as pesquisas que levaram s recentes mega descobertas de petrleo e gs em guas profundas. (IDGNOW, 2008) Dois meses e meio depois de apreender cinco discos rgidos no apartamento do banqueiro Daniel Dantas, durante a Operao Satiagraha, a Polcia Federal ainda no conseguiu decifrar a criptografia que protege os dados [...]. Numa anlise inicial, peritos da Polcia Federal disseram que precisariam de um ano para quebrar os cdigos. Um dos peritos disse que nunca havia visto um sistema de proteo to sofisticado no Brasil. O delegado Protgenes Queiroz, que coordenou a Satiagraha, diz que os HDs "guardam segredos da Repblica". (FOLHA, 2008)

Atualmente, a informtica e os sistemas de informao em geral vem se desenvolvendo e evoluindo, junto a isso cresce tambm a variedade de ataques e mtodos para acessar as informaes de forma indevida. Nas notcias acima fica evidente a necessidade e a importncia de manter os dados em sigilo,

15

principalmente, aqueles armazenados em mdias de armazenamento no voltil, como HDs, pendrives, DVDs e CDs. Atrelados as informaes, o Centro de Estudos, Resposta e Tratamento de Incidentes de Segurana no Brasil (CERT.br), entidade que divulga incidentes de segurana sofridas pelas empresas, disponibiliza estatsticas sobre os principais tipos de ataques. O que apresenta na atualidade como principal problema so as fraudes seja pelo roubo de propriedades intelectuais ou mesmo espionagem industrial.

Incidentes Reportados ao CERT.br - Janeiro Dezembro de 2004 (Tipos de ataque)

Scan; 37% Worm; 56% Fraude; 5%

Servidor Web; Usurio Final; 1% 1%

Figura 1 - Incidentes Reportados ao CERT.br - Janeiro a Dezembro de 2004. Fonte: CERT.br.

A seguir, uma explicao sobre alguns elementos da Figura 1:

Worm: notificaes de atividades maliciosas relacionadas com o processo automatizado de propagao de cdigos maliciosos na rede.

16

Servidor Web: um caso particular de ataque visando especificamente o comprometimento de servidores Web ou desfiguraes de pginas na Internet.

Scan: notificaes de varreduras em redes de computadores, com o intuito de identificar quais computadores esto ativos e quais servios esto sendo disponibilizados por eles. amplamente utilizado por atacantes para identificar potenciais alvos, pois permite associar possveis vulnerabilidades aos servios habilitados em um computador.

Fraude: segundo Houaiss, "qualquer ato ardiloso, enganoso, de m-f, com intuito de lesar ou ludibriar outrem, ou de no cumprir determinado dever; logro". Esta categoria engloba as notificaes de tentativas de fraudes, ou seja, de incidentes em que ocorre uma tentativa de obter vantagem.

Incidentes Reportados ao CERT.br - Janeiro Dezembro de 2006 (Tipos de ataque)

Scan; 23%

Fraude; 21%

Worm; 55%

Figura 2 - Incidentes Reportados ao CERT.br - Janeiro Dezembro de 2006. Fonte: CERT.br.

17

Incidentes Reportados ao CERT.br - Janeiro Maro de 2009 (Tipos de ataque)

Scan; 5% Worm; 14% Outros; 1%

Fraude; 80%

Figura 3 - Incidentes Reportados ao CERT.br - Janeiro Maro de 2009. Fonte: CERT.br.

De acordo com os dados disponibilizados no prprio site do CERT.br, foi averiguado que nos incidentes reportados ocorre uma grande evoluo no que diz respeito a fraude. Nota-se nas estatsticas de 2004, 2006 e 2009 um crescimento constante nos tipos de ataque referentes fraude, que chegam a atingir quase que a totalidade dos incidentes reportados no incio deste ano (Figura 3). Dentro desse ambiente que vivemos vital a utilizao de meios para garantir a segurana e privacidade de nossos dados. O que apresentado na atualidade como meio mais eficiente a criptografia, j utilizado desde a antiguidade, mas que agora colabora para proteo dos dados do seu computador com extrema confidencialidade. A criptografia apresenta-se como softwares que s permitem o acesso para seus dados por meio de senha, e junto a isso visvel a evoluo das chaves de cifragem que dificultam e em alguns casos impossibilitam a quebra da senha utilizada. A prpria pesquisa inicial sobre o tema de criptografia j foi suficiente para ver a preocupao e a importncia do assunto abordado, pelas notcias apresentadas no incio deste trabalho atenta-se que um assunto bem atual e que

18

se isso no preocupasse muitas empresas a prpria Microsoft no traria uma ferramenta de criptografia nativa em seu novo sistema operacional Windows Sete, o BitLocker. Dessa maneira este trabalho tem como objetivo estudar as ferramentas de criptografia dos dados em memria secundria disponveis, das mais simples as mais complexas, verificando as possibilidades para cifrar os dados em uma partio do disco local, em um disco removvel ou at mesmo em um disco do sistema. O principal objetivo realizar uma anlise do desempenho das principais ferramentas de criptografia, atravs de testes e medies para verificar qual das ferramentas mais rpida, qual mais fcil de manejar, comparar o desempenho com relao ao uso sem criptografia e o que cada uma oferece como diferencial, e por fim apresentar as concluses dos testes. Para os testes foi utilizado o DM-Crypt e o TrueCrypt para Linux e o TrueCrypt e BitLocker para Windows. Para atender os objetivos propostos este trabalho foi dividido da seguinte maneira: 1 - Introduo: levantamento de informaes e dados que mostra a necessidade atual em utilizar a criptografia. 2 - Reviso Literria em Criptografia: um estudo dos algoritmos criptogrficos; o que so eles e como so gerenciados; como se dividem; que critrios so observados para medir um bom algoritmo criptogrfico e quais so os mais confiveis. 3 - Survey das Ferramentas para Criptografia de Sistemas de Arquivo: um estudo das ferramentas mais utilizadas e mais populares, abordando as suas formas de instalao, configurao e utilizao. 4 - Anlise de Desempenho: realizao de testes comparativos das ferramentas abordadas e atravs dos resultados obtidos analisar o desempenho atingido de cada ferramenta. 5 - Consideraes Finais e Trabalhos Futuros: comparativo entre as ferramentas utilizadas informando suas vantagens e desvantagens, e possveis trabalhos futuros afim de complementar este trabalho.

19

2 REVISO LITERRIA EM CRIPTOGRAFIA

2.1 CONCEITOS E BREVE HISTRICO DE CRIPTOGRAFIA

A criptografia pode ser definida, segundo a Cartilha de Segurana para Internet (2006, p. 08 - 09) como:
[...] a cincia e arte de escrever mensagens em forma cifrada ou em cdigo. parte de um campo de estudos que trata das comunicaes secretas, usadas, dentre outras finalidades, para: autenticar a identidade de usurios; autenticar e proteger o sigilo de comunicaes pessoais e de transaes comerciais e bancrias; proteger a integridade de transferncias eletrnicas de fundos.

Uma mensagem codificada por um mtodo de criptografia deve ser privada, ou seja, somente aquele que enviou e aquele que recebeu devem ter acesso ao contedo da mensagem. Alm disso, uma mensagem deve poder ser assinada, ou seja, a pessoa que a recebeu deve poder verificar se o remetente mesmo a pessoa que diz ser e ter a capacidade de identificar se uma mensagem pode ter sido modificada. Os mtodos de criptografia atuais so seguros e eficientes e baseiam-se no uso de uma ou mais chaves. A chave uma seqncia de caracteres, que pode conter letras, dgitos e smbolos (como uma senha), e que convertida em um nmero, utilizado pelos mtodos de criptografia para codificar e decodificar mensagens.

A criptografia j estava presente no sistema de escrita hieroglfica que os egpcios usavam. Os romanos tambm utilizavam cdigos secretos criados atravs de mtodos criptogrficos para comunicar os planos de batalha. O interessante que a tecnologia da criptografia no mudou muito at meados do sculo passado, ou seja, no teve evolues, somente depois da Segunda Guerra Mundial, com a inveno do computador, a rea realmente floresceu, incorporando complexos algoritmos matemticos a seus mtodos. Durante a guerra, os ingleses ficaram conhecidos por seus esforos para decifrao de cdigos. Na verdade, esse trabalho criptogrfico formou a base para a cincia da computao moderna.

20

No meio computacional, as tcnicas mais conhecidas e praticadas envolvem o conceito de chaves, as chamadas chaves criptogrficas, elas tratam-se de um conjunto de bits baseado em um determinado algoritmo capaz de cifrar e de decifrar uma determinada informao. Se o receptor ou a pessoa que tentar acessar a informao usar uma chave incompatvel com a chave que foi usada para criptografar, no conseguir extrair a informao. Os primeiros mtodos

criptogrficos existentes usavam apenas um algoritmo de codificao. Assim, bastava que o receptor da informao conhecesse esse algoritmo para poder extrala. No entanto, se um intruso tivesse posse desse algoritmo, tambm poderia efetuar um processo de decifragem, caso capturasse os dados criptografados. H ainda outro problema: imagine que a pessoa A tivesse que enviar uma informao criptografada pessoa B. Esta ltima teria que conhecer o algoritmo usado. Imagine agora que uma pessoa C tambm precisasse receber uma informao da pessoa A, porm a pessoa C no poderia descobrir qual a informao a ser enviada pessoa B. Se a pessoa C capturasse a informao enviada pessoa B, tambm conseguiria decifr-la, pois quando a pessoa A enviou sua informao, a pessoa C tambm teve que conhecer o algoritmo usado. Para a pessoa A evitar esse problema, a nica soluo seria utilizar um algoritmo diferente para cada receptor.

2.2 APLICAES DA CRIPTOGRAFIA

Existem inmeras formas de proteger os sistemas ou at mesmo fazer alteraes para prevenir acessos indevidos, mas, mesmo assim, a proteo de um usurio a um arquivo pode ser o ltimo recurso de defesa contra brechas indesejadas na privacidade. A forma mais segura de se proteger a informao usando tcnicas de criptografia. O software criptogrfico pode ajudar a proteger as informaes contidas nos arquivos. A criptografia pode ser usada para proteger os dados armazenados em disco, e os arquivos criptografados podem ser transmitidos sem medo de que possam ser lidos se interceptados.

21

Com a utilizao da criptografia possvel garantir:


Confidencialidade. Para garantir que os dados permaneam privados. Geralmente, a confidencialidade obtida com a criptografia. Os algoritmos de criptografia (que usam chaves de criptografia) so usados para converter texto sem formatao em texto codificado e o algoritmo de descriptografia equivalente usado para converter o texto codificado em texto sem formatao novamente. Integridade de dados. Para garantir que os dados sejam protegidos contra modificao acidental ou deliberada (mal-intencionada). A integridade, geralmente, fornecida por cdigos de autenticao de mensagem ou hashes. Um valor de hash um valor numrico de comprimento fixo derivado de uma seqncia de dados. Os valores de hash so usados para verificar a integridade dos dados enviados por canais no seguros. O valor do hash de dados recebidos comparado ao valor do hash dos dados, conforme eles foram enviados para determinar se foram alterados. Autenticao. Para garantir que os dados se originem de uma parte especfica. Os certificados digitais so usados para fornecer autenticao. As assinaturas digitais geralmente so aplicadas a valores de hash, uma vez que eles so significativamente menores que os dados de origem que representam. (MADEIRA, 2009)

2.3 ALGORITMOS SIMTRICOS

Os algoritmos de criptografia simtricos ou criptografia de chave nica faz parte de uma classe de algoritmos para a criptografia, que:
[...] usam chaves criptogrficas relacionadas para a operaes de cifragem ou decifragem (ou cifra/decifra, ou cifrao/decifrao). A chave de cifragem pode ser idntica de decifragem ou poder existir uma transformao simples entre as duas chaves. As chaves, na prtica, representam um segredo, partilhado entre duas ou mais partes, que podem ser usadas para manter um canal confidencial de informao. Usa-se uma nica chave, partilhada por ambos os interlocutores, na premissa de que esta conhecida apenas por eles. Outros termos para criptografia de chave simtrica so: criptografia de chave secreta, de chave nica, de chave compartilhada, de uma chave e de chave privada. O uso do ltimo termo pode s vezes se confundir com o componente chave privada da criptografia de chave pblica. (WIKIPDIA, 2009)

Desde a segunda guerra mundial, a criptografia eletrnica passou a ser utilizada, mas s a partir de 1974 que o primeiro algoritmo criptogrfico foi usado de forma comercial. O Lcifer, algoritmo desenvolvido pela IBM, sofreu vrias

22

alteraes realizadas pela National Security Agency (NSA), e passou a ser chamado de Data Encryption Standard (DES), sendo usado ento como padro criptogrfico americano. Especialistas haviam dito que o DES tinha sido muito bem projetado e que para quebr-lo seria necessria a construo de uma mquina especfica e muito cara. Mas, apesar de seu uso ser originalmente previsto at 1982, s aps um perodo de cerca de 20 anos de uso do DES, estabeleceu-se um novo algoritmo que seria escolhido seu substituto. E em janeiro de 1997, o National Institute of Standards and Technology (NIST), que veio substituir o NSA, anunciou o incio dos trabalhos de desenvolvimento do Advanced Encryption Standard (AES).
Em 1997 o governo americano, atravs do NIST (National Institute of Standards and Technology), lanou um processo de seleo que definiria um novo algoritmo de chave simtrica para proteger informaes do governo federal. Este novo algoritmo criptogrfico substituiu o DES (Data Encryption Standard), que havia sido quebrado pela mquina DES Cracker, construda pela ONG Electronic Frontier Foundation com apenas 250 mil dlares. (WIKPEDIA, 2009)

O NIST indicou as condies necessrias para a candidatura de algoritmos para substituir o DES:

Algoritmo publicamente definido; Ser uma cifra simtrica de bloco; Projetado para que o tamanho da chave possa aumentar; Implementvel tanto em hardware quanto em software; Disponibilizado livremente ou em acordo com termos ANSI; Os algoritmos deveriam ser de chave privada (simtricos) e suportar blocos de 128 bits e chaves de 128, 192 e 256 bits.

Em agosto de 1998, na Primeira Conferncia dos Candidatos ao AES, apresentaram-se 15 candidatos: Cast-256, Crypton, Deal, DFC, E2, Frog, HPC, LOKI97, Magenta, MARS, RC6, Rijndael, Safer+, Serpent e Twofish. O NIST solicitou aos membros da comunidade criptogrfica mundial uma anlise dos algoritmos candidatos. Onde foi julgado:

Segurana (esforo requerido para criptoanlise);

23

Eficincia computacional; Requisitos de memria; Adequao a hardware e software; Simplicidade;

E em 1999, na Segunda Conferncia dos Candidatos AES, atravs da anlise obtida foram selecionados 5 finalistas: MARS, RC6, Rijndael, Serpent e Twofish. Posteriormente esses 5 algoritmos sofreram novas anlises e seus criadores participaram de debates, fruns, etc. O vencedor foi Rijndael com 86 votos, sendo que o Serpent obteve 59 votos, Twofish 31 votos, RC6 23 votos e MARS 13 votos. A seguir, esses algoritmos, sero descritos e melhor examinados.

2.3.1 DES (Data Encryption Standard)

O Data Ecryption Standard (DES) foi criado em 1977, sendo definido como:
[...] uma cifra (mtodo de criptografia) selecionado como FIPS oficial (Federal Information Processing Standard) pelo governo dos EUA em 1976 e que foi utilizado em larga escala internacionalmente. O algoritmo era inicialmente controverso, com um pequeno tamanho de chave e suspeitas de um backdoor da NSA. O DES foi estudado academicamente e motivou os sistemas modernos de entendimento da criptoanlise. O DES atualmente considerado inseguro para muitas aplicaes. Isto se deve principalmente a pequena chave de 56-bit. Em Janeito de 1999 a distributed.net e a Electronic Frontier Foundation juntas violaram uma chave DES em 22 horas e 15 minutos (veja na cronologia). Tambm existem alguns resultados analticos, obtidos teoricamente, que demonstram a fragilidade da cifra, no entanto so improvveis de se montar na prtica. Acredita-se que o algoritmo seja seguro na forma de 3DES embora existam ataques tericos. Recentemente o DES foi substitudo pelo AES. (WIKIPEDIA, 2009)

O seu funcionamento bsico consiste na criptografia de blocos de 64 bits de entrada com uma chave de 56 bits, gerando blocos de 64 bits como sada. Para obter o texto original novamente, reverte-se o processo usando a mesma chave. Devido ao pequeno tamanho desta chave, esse algoritmo j no considerado

24

seguro, pois ele poderia ser quebrado facilmente. Outro ponto que gera certa apreenso o fato de existirem blocos internos ao DES cujo critrio de arquitetura no foi explicitado, levando muitos a crer que existiriam falhas internas no reveladas pelo seu criador. A estrutura geral do algoritmo exibida na Figura 4:

Figura 4 - A estrutura geral do Feistel no DES. Fonte: Wikipdia. [...] Existem 16 estgios idnticos de processamento, denominados "rounds". Tambm existe uma permutao inicial e uma final, denominadas "IP" e "FP", que so inversas (IP "desfaz" a ao do FP, e vice-versa). IP e FP no possuem quase nenhuma significncia criptogrfica, mas foram includas, aparentemente, para facilitar a abertura e fechamento dos blocos no hardware dos anos 1970, assim como fazer o DES rodar mais lentamente em software. Antes dos rounds principais, o bloco dividido em duas metades de 32 bits e processado alternadamente; este cruzamento conhecido como "esquema de Feistel". A estrutura de Feistel garante que a criptografia e descriptografia so processos bem similares - a nica

25 diferena que as subchaves so aplicadas de modo reverso ao descriptografar, o resto do algoritmo idntico. Isto simplifica bastante a implementao, particularmente em hardware, j que no necessrio separar os algoritmos de criptografia e descriptografia. O smbolo vermelho indica a operao XOR. A "funo-F" baguna metade do bloco junto com uma chave. A sada da funo-F ento combinada com a outra metade do bloco, e as metades so trocadas antes do prximo round. Depois do round final, as metades no so trocadas, esta uma caractersticas da estrutura Feistel que faz com que a criptografia e desecriptografia possuam processos similares. (WIKIPEDIA, 2009)

2.3.2 3DES (Triple DES)

O 3DES (Triplo DES) tambm conhecido como TDES foi desenvolvido por um dos patenteadores do DES, este algoritmo envolve aplicar o DES trs vezes com duas ou trs chaves diferentes. O 3DES considerado adequadamente seguro, embora seja bastante lenta.
[...] um padro de criptografia baseado no algoritmo de criptografia DES desenvolvido pela IBM em 1974 e adotado como padro em 1977. O 3DES usa 3 chaves de 64 bits (o tamanho mximo da chave de 192 bits, embora o comprimento atual seja de 56 bits). Os dados so encriptados com a primeira chave, decriptado com a segunda chave e finalmente encriptado novamente com a terceira chave. Isto faz do 3DES ser mais lento que o DES original, mas oferece maior segurana. Em vez de 3 chaves, podem ser utilizadas apenas 2, fazendo-se K1 = K3. A variante mais simples do 3DES opera da seguinte forma: DES(k3;DES(k2;DES(k1;M))), onde M o bloco de mensagem a ser criptografado e k1, k2 e k3 so chaves DES. (WIKIPEDIA, 2009)

Figura 5 - O algoritmo 3DES. Fonte: Wikipdia.

26

2.3.3 AES (Advanced Encryption Standard)

O Advanced Encryption Standard (AES), atualmente, o algoritmo mais utilizado em todo mundo, podendo suportar chaves de 128 bits, 192 bits e 256 bits.
[...] O AES foi anunciado pelo NIST (Instituto Nacional de Padres e Tecnologia dos EUA) como U.S. FIPS PUB (FIPS 197) em 26 de Novembro de 2001, depois de 5 anos de um processo de padronizao. Tornou-se um padro efetivo em 26 de Maio de 2002. Em 2006, o AES j um dos algoritmos mais populares usados para criptografia de chave simtrica. (WIKIPEDIA, 2009)

Tambm conhecido como Rijndael, uma fuso de Vincent Rijmen e Joan Daemen, os dois belgas criadores do algoritmo. Segundo o NIST, o AES combina as caractersticas de segurana, desempenho, facilidade de implementao e flexibilidade. Este algoritmo criptografa e descriptografa usando uma chave criptografada e blocos, ambos de tamanhos de 128, 192 ou 256 bits. Assim ele tem um nmero varivel de rounds (iteraes): 9 se o bloco e a chave forem de 128 bits; 11 se o bloco ou a chave forem de 192 bits, e nenhum deles for maior que isso; 13 se o bloco ou a chave forem de 256 bits. O AES apresenta alta resistncia a ataques como "power attack" e "timing attack" e exige pouca memria, o que o torna adequado para operar em ambientes restritos como "smart cards", PDAs e telefones celulares. Algumas vantagens e desvantagens do AES: Implementao: pode rodar bem rapidamente em relao a outros algoritmos. Como a encriptao no emprega operaes aritmticas, no exige muito poder de processamento; Simplicidade do projeto: o algoritmo no baseia sua segurana ou parte dela em interaes obscuras e no bem compreendidas entre operaes aritmticas, no permitindo assim, espao para esconder um trap-door;

27

Possveis modificaes: o projeto permite a especificao de variantes com o comprimento do bloco e da chave, ambos variando de 32 em 32 bits no intervalo de 128 at 256 bits. Embora o nmero das rodadas de seja fixo na especificao, pode ser modificado como um parmetro caso haja problemas de segurana;

As limitaes ficam por conta da inversa: em software, a encriptao e sua inversa empregam cdigos diferentes e/ou tabelas. E em hardware a inversa pode usar apenas uma parte do circuito usado no processo de encriptao.

2.3.4 Serpent

O Serpent um algoritmo apresentado no concurso AES por trs pesquisadores, so eles: Ross Anderson da Inglaterra, Eli Biham de Israel e Lars Knudsen da Noruega.
[...] Foi um dos finalistas na competio AES. O vencedor, Rijndael, conseguiu 86 votos na conferncia passada, enquanto a AES Serpent tem 59 votos, 31 votos Twofish, RC6 e MARS 23 votes 13 votos. Assim, a escolha do NIST de Rijndael como a AES no foi surpreendente, e tivemos que nos contentar com a prata nos Jogos Olmpicos de criptografia". Serpente e Rijndael so algo semelhante, a diferena principal que o Rijndael mais rpido (com menos rodadas), mas a serpente mais seguro. Ns projetamos Serpent para fornecer aos usurios o mais alto nvel prtico de garantia de que nenhum ataque de atalho ser encontrado. Para conseguir isso, limitamo-nos aos mecanismos bem compreendido, para que pudssemos contar com a experincia existente de criptoanlise de cifras de bloco. Tambm usado duas vezes quantas etapas so suficientes para bloquear todos os atualmente conhecidos ataques de atalho. Ns acreditamos que isso seja prudente na prtica, uma cifra que poderia ter uma vida til de um sculo ou mais. Apesar destas restries de design exigente, Serpent muito mais rpido que o DES. Seu projeto apia a implementao bitslice muito eficiente, a verso mais rpida e no momento da competio decorreu em mais de 45 Mbit / s em um Pentium 200MHz (em comparao com cerca de 15 Mbit / s para DES). (BIHAM, 1999)

O algoritmo Serpent possui um bloco de 128 bits dividido em 4 palavras de 32 bits cada e trabalha com um tamanho de chave de 128, 192 ou 256 bits.

28

Basicamente o algoritmo Serpent constitui-se de: uma permutao IP; 32 voltas onde se aplicam as funes criptogrficas; uma permutao FP. As funes criptogrficas que so executadas a cada uma das 32 voltas so: uma insero da chave; uma passagem pelas S-Boxes; uma transformao linear, que descartada na ltima volta.

2.3.5 Blowfish

O Blowfish trata-se um algoritmo criptogrfico simtrico de blocos que pode ser usado em substituio ao DES.
[...] Ele toma uma chave de tamanho varivel, de 32 a 448 bits, tornando-o ideal para aplicaes tanto domsticas, quanto comerciais. O Blowfish foi desenvolvido em 1993 por Bruce Schneier como uma alternativa grtis mais rpida para os algortmos criptogrficos existentes. Desde ento ele vem sendo analisado de forma considervel e est conquistando a aceitao do mercado como um algoritmo forte. O Blowfish no patenteado, tem sua licena grtis e est a disposio para todos. O artigo original do Blowfish foi apresentado no "First Fast Software Encryption Workshop" ocorrido em Cambridge, MA, EUA. Os resultados do workshop foram publicados por Springer-Verlanf, "Lecture Notes in Computer Science" #809, 1994). A edio de abril de 1994 de "Dr. Dobb's Journal" tambm tratou exps a proposta de Bruce Schneier. "Blowfish -- One Year Later" foi publicada em Setembro de 1995 em outra edio de "Dr. Dobb's Journal". Muitos estudiosos em criptografia examinaram o Blowfish, entretanto, ainda so poucos os resultados publicados. Serge Vaudenay examinou chaves fracas no Blowfish: existe uma classe de chaves que podem ser detectadas - mas no "quebradas" - no Blowfish com variantes de 14 iteraes ou menos. Qualquer pessoa pode obter uma cpia do cdigo-fonte do Blowfish a partir da Internet e fazer uso em suas aplicaes. No h regras de uso do cdigo. Bruce Schneier pede, somente, que seja notificado de aplicaes comerciais para que possam ser listadas em sua pgina na Internet. [...] Blowfish uma das cifras mais rpidas em uso, exceto ao mudar chaves. Cada chave nova requer o pre-processamento equivalente a encriptao de aproximadamente 4 kilobytes do texto, o que muito lento se comparado a outras cifras. Isto impede seu uso em determinadas aplicaes, mas no um problema em outras. Em algumas aplicaes

29 realmente um benefcio: o mtodo da troca de senha usado em OpenBSD usa um algoritmo derivado de Blowfish que emprega a programao de chave lenta; a ideia que o esforo computacional extra requerido d a proteo de encontro aos ataques de dicionrio. Em algumas execues, Blowfish tem uma exigncia relativamente grande da memria (acima de 4 kilobytes). Este no um problema mesmo para computadores menores e mais velhos ou laptops, mas impede o uso em sistemas menores tais como smartcards. (WIKIPDIA, 2009)

Resumo de suas caractersticas: Cifragem em blocos de 64 bits; Chave de tamanho varivel: 32 448 bits; Desenvolvido por Bruce Schneier; Mais rpido que o DES e o IDEA; No patenteado e totalmente grtis; No necessita de licena; Cdigo fonte disponvel para download.

2.3.6 Twofish

O Twofish um algoritmo de criptografia de livre distribuio, com participao no concurso AES. Foi desenvolvido por Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, e Niels Ferguson. Ele uma evoluo do Blowfish, que tambm foi desenvolvido por Schneier.
Seu esquema de cifragem consiste em tratar a mensagem em blocos de 128 bits, utilizando chaves de tamanhos variveis, podendo ser de 128, 192 ou 256 bits. Assim como o Blowfish, a fim de aumentar a segurana, ele realiza 16 interaes durante a criptografia. De fato, possvel utilizar o algoritmo com menos estgios, visto que s foi possvel quebr-lo na quinta interao. No entanto, a fim de obter um bom nvel de segurana, e sendo ele um algoritmo veloz, recomendvel utilizar as 16 fases. Mais do que esse nmero diminui a velocidade sem aumentar muito a segurana. Outro ponto favorvel segurana que no existem chaves fracas para esse algoritmo. A gerao de sua chave em microprocessadores, assim como a capacidade de operar com smart cards, e o processamento em hardware foram projetados a fim de gerar uma tima eficincia. Assim como o Blowfish e o DES, durante as suas 16 interaes, o Twofish utiliza o mtodo Feistel Network, o qual consiste em utilizar-se um mtodo de cifragem fraco diversas vezes de modo a tornar-se um processo complexo. Na verdade, isso nada mais do que fazer alguma permutao seguindo uma regra especial. Em geral, nos algoritmos, essas so chamadas de funo F. A

30 funo bijetora F do Twofish possui o mesmo comportamento j descrito para o Blowfish. O Twofish possui ainda 4 S-Boxes de 8 por 8 bits. Alm disso, esse algoritmo tambm usa a tcnica do whitening, que consiste em esconder a entrada e a sida da primeira e da dcima-sexta interao respectivamente, atravs de um XOR. Dessa forma, so criadas mais duas subchaves, da mesma forma que foram criadas as demais,e ento faz-se um XOR entre essa e a subchave que se quer esconder. Alm disso, so feitas rotaes de 1 bit dentro da funo F, a cada interao. So tambm utilizadas matrizes MDS (Maximum Distance Separable) e PHT (PseudoHadamard Transform). Um cdigo MDS sobre um campo consiste de um mapeamento linear de a elementos de um campo at b elementos, produzindo um vetor com a+b elementos, com a caracterstica de que o menor nmero de elementos diferentes de zero nesse vetor pelo menos b+1. O mapeamento MDS pode ser representado como uma matriz axb. A condio suficiente e necessria para uma matriz ser do tipo MDS que todas as submatrizes quadradas obtidas eliminando colunas e/ou linhas sejam no singulares. O Twofish usa matrizes de 4 por 4 bits sobre GF (2^8). J o PHT um processo simples de permutao dos elementos, onde tendo duas entradas de 32 bits,a e b, o PHT ser: a'= a + b mod 2^32 b'= a + 2b mod 2^32 (FERNANDES, 2009)

2.4 ALGORITMOS ASSIMTRICOS

Os algoritmos de criptografia assimtricos ou criptografia de chave pblica podem ser definidos como:
[...] um mtodo de criptografia que utiliza um par de chaves: uma chave pblica e uma chave privada. A chave pblica distribuda livremente para todos os correspondentes via e-mail ou outras formas, enquanto a chave privada deve ser conhecida apenas pelo seu dono. Num algoritmo de criptografia assimtrica, uma mensagem cifrada com a chave pblica pode somente ser decifrada pela sua chave privada correspondente. Os algoritmos de chave pblica podem ser utilizados para autenticidade e confidencialidade. Para confidencialidade, a chave pblica usada para cifrar mensagens, com isso apenas o dono da chave privada pode decifrla. Para autenticidade, a chave privada usada para cifrar mensagens, com isso garante-se que apenas o dono da chave privada poderia ter cifrado a mensagem que foi decifrada com a 'chave pblica'. (WIKIPDIA, 2009)

31

2.4.1 DSA (Digital Signature Algorithm)

Digital Signature Algorithm (DSA) um algoritmo pblico. Parte do Digital Signature Standard (DSS). uma codificao de chave pblica usada apenas para gerar assinaturas digitais e no pode ser usada para criptografia de dados.
[...] Recomendado para aplicaes que requeiram assinatura digital ao invs da escrita. No pode ser usado para encriptao por chave privada, pois desencriptado pela chave pblica. A mensagem submetida ao algoritmo SHA que gera um hash da mensagem. Esse hash submetido ao algoritmo DSA usando a chave privada do remetente; ao final temos a mensagem assinada. O remetente submete a mensagem recebida ao SHA para gerar o hash, usa a chave pblica do remetente para decriptar a assinatura digital e compara o hash das mensagens. Se forem os mesmos, a mensagem autntica. Usa chaves de 512 bits a 128 bits. (MADEIRA, 2009)

2.4.2 RSA

RSA um algoritmo de criptografia, no qual a sigla representa os nomes dos desenvolvedores Ron Rivest, Adi Shamir e Len Adleman que inventaram o algoritmo em 1977. uma das mais bem sucedidas implementaes de sistemas de chaves assimtricas. Esse algoritmo pode ser usado tanto para assinatura digital como para encriptao atravs de chave pblica.
O RSA envolve um par de chaves, uma chave pblica que pode ser conhecida por todos e uma chave privada que deve ser mantida em sigilo. Toda mensagem cifrada usando uma chave pblica s pode ser decifrada usando a respectiva chave privada. A criptografia RSA atua diretamente na internet, por exemplo, em mensagens de emails, em compras on-line e o que voc imaginar; tudo isso codificado e recodificado pela criptografia RSA. (WIKIPEDIA, 2009)

Sua segurana est baseada na dificuldade de fatorao de grandes integrais. Usa chaves de 1024-2048 bits.

32

Encriptao de arquivos: utiliza a chave pblica do destinatrio para encriptar a informao; Desencriptao: no destino, aplica a chave privada do receptor e desencripta a mensagem; Assinatura Digital: da mesma forma do DSA, aps a gerao do HASH da mensagem, encripta-se usando a chave privada do remetente; Validao da Assinatura: No destino, gera-se novamente o hash da mensagem recebida, aplica-se a chave pblica do remetente assinatura recebida

2.5 ALGORITMOS DE HASH

A criptografia hash pode ser definida como:


[...] uma sequencia de bits geradas por um algoritmo de disperso, em geral representada em base hexadecimal, que permite a visualizao em letras e nmeros (0 a 9 e A a F), representando 1/2 byte cada. O conceito terico diz que "hash a transformao de uma grande quantidade de informaes em uma pequena quantidade de informaes". Essa seqencia busca identificar um arquivo ou informao unicamente. Por exemplo, uma mensagem de correio eletrnico, uma senha, uma chave criptogrfica ou mesmo um arquivo. um mtodo para transformar dados de tal forma que o resultado seja (quase) exclusivo. Alm disso, funes usadas em criptografia garantem que no possvel a partir de um valor de hash retornar informao original. Como a seqencia do hash limitada, muitas vezes no passando de 512 bits, existem colises (seqncias iguais para dados diferentes). Quanto maior for a dificuldade de se criar colises intencionais, melhor o algoritmo. Uma funo de hash recebe um valor de um determinado tipo e retorna um cdigo para ele. Enquanto o ideal seria gerar identificadores nicos para os valores de entrada, isso normalmente no possvel: na maioria dos casos, o contra-domnio de nossa funo muito menor do que o seu domnio. (WIKIPDIA, 2009)

As caractersticas bsicas de uma funo hash so:


O valor de entrada da funo possui qualquer tamanho; O valor de sada da funo possui tamanho fixo; H(x) relativamente fcil de ser computado, para qualquer valor de x; H(x) uma funo one-way;

33

H(x) livre de coliso.

Uma funo hash dita "one-way pois uma vez obtido o valor hash h para uma string x, computacionalmente impossvel fazer o processo inverso, ou seja, encontrar um valor x tal que H(x) = h. Diz-se ainda que H(x) livre de coliso, significando que as funes hash devem garantir uma probabilidade mnima de que duas strings diferentes acabem por resultar no mesmo valor hash. Qualquer alterao na string original que deu origem ao identificador digital, mesmo que de um nico bit, acabar por gerar uma alterao significativa no valor hash final. Os mais usados algoritmos de hash so os de 16 bytes MD4 e MD5 ou o SHA-1, de 20 bytes.

2.5.1 MD5

O Message-Digest algorithm 5 (MD5) um algoritmo de hash de 128 bits unidirecional desenvolvido pela RSA Data Security, Inc., descrito na RFC 1321.
Foi desenvolvido em 1991 por Ronald Rivest para suceder ao MD4 que tinha alguns problemas de segurana. Por ser um algoritmo unidirecional, uma hash md5 no pode ser transformada novamente no texto que lhe deu origem. O mtodo de verificao , ento, feito pela comparao das duas hash (uma da base de dados, e a outra da tentativa de login). O MD5 tambm usado para verificar a integridade de um ficheiro atravs, por exemplo, do programa md5sum, que cria a hash de um ficheiro. Isto se pode tornar muito til para downloads de ficheiros grandes, para programas P2P que constroem o ficheiro atravs de pedaos e esto sujeitos corrupo dos mesmos. Como autenticao de login utilizada em vrios sistemas operacionais unix e em muitos sites com autentificao. Como o MD5 faz apenas uma passagem sobre os dados, se dois prefixos com o mesmo hash forem construdos, um sufixo comum pode ser adicionado a ambos para tornar uma coliso mais provvel. Deste modo possvel que duas strings diferentes produzam o mesmo hash. (WIKIPEDIA, 2009)

34

2.5.2 HMAC

O HMAC um cdigo autenticador de mensagens, usado para autenticar mensagens baseadas em funes hash em combinao com uma chave secreta. Pode ser usado simultaneamente para verificar a integridade dos dados e autenticidade de mensagens.

2.5.3 SHA1 (Secure Hash Algorithm)

O algoritmo Secure Hash Algorithm (SHA-1), usado numa grande variedade de aplicaes e protocolos de segurana, incluindo TLS, SSL, PGP, SSH, S/MIME e IPSec. SHA-1 foi considerado o sucessor do MD5. Ambos tm vulnerabilidades comprovadas. Os algoritmos SHA foram desenhados pela National Security Agency (NSA) e publicados como um padro do governo Norte-Americano.
[...] O primeiro membro da famlia, publicado em 1993, foi oficialmente chamado SHA; no entanto, frequentemente chamado SHA-0 para evitar confuses com os seus sucessores. Dois anos mais tarde, SHA-1, o primeiro sucessor do SHA, foi publicado. Desde ento quatro variantes foram lanadas com capacidades de sada aumentadas e um design ligeiramente diferente: SHA-224, SHA-256, SHA-384, e SHA-512 - por vezes chamadas de SHA-2. Foram feitos ataques a ambos SHA-0 e SHA-1. Ainda no foram reportados ataques s variantes SHA-2, mas como elas so semelhantes ao SHA-1, pesquisadores esto preocupados, e esto a desenvolver candidatos para um novo e melhor standard de hashing. (WIKIPDIA, 2009)

O SHA-1 pode ser usada em uma variedade de aplicaes, como segurana aplicaes que exigem autenticao, e-mail, transferncia eletrnica de fundos e armazenamento de dados.

35

3 SURVEY DAS FERRAMENTAS PARA CRIPTOGRAFIA DE SISTEMAS DE ARQUIVOS

3.1 TIPOS DE FERRAMENTAS

H vrias formas de proteger dados com criptografia, dentre elas pode-se utilizar os seguintes tipos de ferramentas: Ferramentas do espao do usurio: so os programas que fazem parte do sistema, mas no fazem parte do kernel, como por exemplo, um editor de texto. Ferramentas do espao do kernel: so funcionalidades que fazem parte do kernel, sejam na forma de cdigo compilado diretamente no kernel ou ento mdulos dinmicos que podem ser carregados e descarregados conforme for necessrio. Utilizando ferramentas do espao do kernel para encriptar os dados, possvel faz-lo basicamente de trs formas: criptografar todo o disco rgido, criptografar apenas uma partio do disco rgido e criptografar um arquivo que ser montado como dispositivo de bloco. Atualmente h diversas solues capazes de prover este tipo de criptografia. Para limitar o escopo deste Trabalho de Concluso de Curso (TCC) e focar foram escolhidos o DM-Crypt e TrueCrypt para Linux e o TrueCrypt e BitLocker para Windows. Estes produtos foram instalados, observados seus funcionamentos e os seus mtodos de implementao e utilizao.

3.2 FERRAMENTAS

3.2.1 TrueCrypt

De acordo com a sua prpria documentao o TrueCrypt :

36 [...] um sistema de software para estabelecer e manter um volume criptografado imediatamente [on-the-fly] (dispositivo de armazenamento de dados). Criptografia imediata quer dizer que os dados so automaticamente cifrados ou decifrados logo antes de serem carregados ou salvos, sem qualquer interveno do usurio. Um dado armazenado em um volume criptografado no pode ser lido (decifrado) sem utilizao da senha ou chave de criptografia corretas. O sistema de arquivos como um todo cifrado (ou seja, nomes de arquivos, nomes de diretrios, contedo de cada arquivo, espao livre, metadados, etc). Os arquivos podem ser copiados de e para um volume TrueCrypt montado da mesma maneira que so copiados de/para qualquer disco normal (por exemplo, por simples operaes de arrastar-e-soltar). Os arquivos so automativamente decifrados na hora (em memria/RAM) enquanto so lidos ou copiados de um volume TrueCrypt cifrado. De forma semelhante, os arquivos que so gravados ou copiados no volume TrueCrypt so automaticamente cifrados na hora (antes de serem escritos no disco) na RAM.

O TrueCrypt um software gratuito distribudo por uma licena prpria, a TrueCrypt Collective License. Disponvel em diferentes verses para sistemas operacionais Windows, Linux e Mac OS, alm de ser portvel, ou seja, pode ser utilizado a partir de um disco removvel. Est disponvel para download em http://www.truecrypt.org, a atual verso lanada em 21 de outubro de 2009 a 6.3 com suporte para os sistemas atuais como o Windows Sete, Mac OS X 10.6, Ubuntu 9.10 e outras distribuies Linux. Uma das caractersticas do TrueCrypt que ele pode ser executado a partir de uma unidade de armazenamento removvel, isso possvel optando pela opo Extract na tela inicial de instalao, como mostra a Figura 6, e definir o diretrio de destino para a instalao. Se a escolha for pela instalao tpica, basta escolher a opo Install.

37

Figura 6 - Instalao do TrueCrypt verso 6.3. Fonte: BABOO.

Aps a instalao ao executar o programa sua janela principal ir apresentar vrias formas de como os dados podero ser criptografados, como demonstra a Figura 7. Para iniciar a implementao basta utilizar a opo Create Volume.

Figura 7 - Janela Principal do TrueCrypt verso 6.3. Fonte: BABOO.

38

Na janela seguinte sero listadas as opes que o TrueCrypt dispe para criptografar os dados de acordo com o sistema operacional utilizado, elas podem ser: Create a file container: nesta opo ser criado um arquivo ou container, como o TrueCrypt denomina, que sero tratados como uma partio pelo sistema operacional; Create a volume within a non-system partition/device: com esta opo ser possvel criptografar uma partio do disco local ou at mesmo um disco removvel, partio a qual o sistema operacional no esteja instalado; Encrypt the system partition or entire system drive: esta soluo no est disponvel para todos os sistemas operacionais, porm quando habilitada permite que a partio onde o sistema esteja instalado possa ser criptografada.

Figura 8 - Opes de criao de volumes criptografados do TrueCrypt verso 6.3. Fonte: BABOO.

No TrueCrypt possvel que voc mantenha oculto o volume criado, para isso basta optar pela opo Hidden TrueCrypt volume. Caso no seja necessrio pode-se criar a partio virtual da forma padro utilizando a opo Standard TrueCrypt volume.

39

Figura 9 - Tipo do volume criptografado do TrueCrypt verso 6.3. Fonte: BABOO.

Na prxima etapa, deve-se escolher os algoritmos que sero usados para criptografar os dados que sero armazenados na partio criada. A atual verso do TrueCrypt utiliza os seguintes algoritmos de criptografia: AES; Serpent; Twofish.

O TrueCrypt ainda pode ser utilizado com cinco combinaes de algoritmos permitindo tornar mais seguro os dados a serem gravados, as opes so: AES-Twofish; AES-Twofish-Serpent; Serpent-AES; Serpent-Twofish-AES; Twofish-Serpent.

40

Figura 10 - Algoritmos suportados pelo TrueCrypt verso 6.3. Fonte: BABOO.

Com a definio do tipo e do algoritmo utilizado na criao do volume, criada uma chave de 256 bits utilizando, por exemplo, o padro AES (Figura 10). Aps a partio formatada, podendo escolher o sistema de arquivos de acordo com o sistema operacional (Figura 11).

Figura 11 - Formatao do Volume pelo TrueCrypt verso 6.3. Fonte: BABOO.

Assim a partio criptografada ser criada, porm para que o sistema operacional reconhea esta partio, ser necessrio utilizar o TrueCrypt para montar a partio. Na janela principal do programa, a partio desejada deve ser

41

selecionada e uma letra designada, aps a opo Mount Volume deve ser selecionada, como demonstra a Figura 12.

Figura 12 - Montar a partio criptografada com o TrueCrypt verso 6.3. Fonte: BABOO.

Ao montar o volume ser necessrio utilizar a senha usada para proteo durante a criao. Com isso ser possvel acessar a partio protegida como se fosse uma partio qualquer do disco local, podendo adicionar e/ou remover arquivos normalmente.

3.2.2 BitLocker

A criptografia de unidade de disco BitLocker do Windows foi implementada como um recurso de segurana a partir das verses do Windows Vista e do Windows Server 2008, e recentemente incrementada com o Windows Sete. Na documentao tcnica da Microsoft especifica que o BitLocker:

42 [...] criptografa todos os dados armazenados no volume do sistema operacional Windows [...]. Isso inclui o sistema operacional Windows, arquivos de paginao e hibernao, aplicativos e dados usados por aplicativos. O BitLocker configurado por padro para usar um Trusted Platform Module (TPM) para ajudar a garantir a integridade de componentes de inicializao anteriores (componentes usados em estgios anteriores do processo de inicializao), e "bloqueia" qualquer volume protegido por BitLocker de forma que eles permaneam protegidos mesmo se um computador for violado quando o sistema operacional no estiver em execuo. [...] O TPM um componente de hardware instalado em vrios computadores mais recentes pelos fabricantes. Ele funciona com o BitLocker para ajudar a proteger dados do usurio e garantir que um computador executando o Windows Vista no seja violado enquanto o sistema estiver offline. Alm disso, o BitLocker oferece a opo de bloquear o processo normal de inicializao at que o usurio fornea um nmero de identificao ou insira um dispositivo de USB removvel, como unidade flash, que contm uma chave de inicializao. Essas medidas de segurana adicionais fornecem autenticao multifator e garantem que o computador no ser iniciado ou nem sair da hibernao sem que o nmero de identificao ou a chave de inicializao corretos sejam apresentados. Em computadores que no tm a verso 1.2 do TPM, possvel usar o BitLocker para criptografar o volume do sistema operacional Windows. Entretanto, essa implementao exigir que o usurio insira uma chave de inicializao USB para iniciar o computador ou tir-lo da hibernao, e no fornece a verificao de integridade do sistema pr-inicializao oferecida pelo BitLocker que opera com um TPM. (TECHNET, 2009)

Conforme especificao da TECHNET o Bitlocker usa o algoritmo de criptografia AES como padro com comprimento de chave de 128 ou 256 bits (Windows Sete), sendo configurvel usando a Diretiva de Grupo do sistema. O BitLocker pode ser utilizado de quatro modos diferentes de autenticao: BitLocker com um TPM; BitLocker com uma TPM e um nmero de identificao; BitLocker com uma TPM e uma chave de inicializao USB; BitLocker sem um TPM (chave de inicializao USB necessria). E o seu funcionamento esquematizado da seguinte maneira:
O BitLocker usa o TPM para realizar verificaes de integridade do sistema em componentes da primeira inicializao crticos. O TPM coleta e armazena medies de vrios componentes da primeira inicializao e dados da configurao de inicializao para criar um identificador do sistema para o computador, como uma impresso digital. Se os componentes da primeira inicializao forem alterados ou violados, como

43 pela alterao da BIOS, alterao do MBR (registro mestre de inicializao) ou movimentao do disco rgido para um computador diferente, o TPM evita que o BitLocker desbloqueie o volume criptografado e o computador entra no modo de recuperao. Se o TPM verificar a integridade do sistema, o BitLocker desbloqueia o volume protegido. O sistema operacional ento iniciado e uma proteo do sistema se torna responsabilidade do usurio e do sistema operacional. (TECHNET, 2009)

Na Figura 13, a seguir:


[...] mostra como o volume protegido pelo BitLocker criptografado com uma chave de criptografia de volume total, que por sua vez criptografado com uma chave mestra do volume. Proteger a chave mestra do volume uma forma indireta de proteger dados no volume. A adio da chave mestre do volume permite que o sistema seja recodificado facilmente quando o upstream de chaves na cadeia de confiana perdido ou comprometido. Essa capacidade de recodificar o sistema economiza a despesa de descriptografar e criptografar todo o volume novamente. (TECHNET, 2009)

Figura 13 - Arquitetura do BitLocker. Fonte: TECHNET.

44

Para utilizar o BitLocker para proteo de dados necessrio um computador que responda a alguns requisitos: Se for utilizar um dos modos com TPM, necessrio que o computador tenha um chip TPM com verso 1.2 ou superior, uma BIOS compatvel, caso no tenha o TPM, necessrio ter um dispositivo de memria flash USB; O disco rgido deve ter pelo menos duas parties, onde em uma o Windows ser instalado; O disco deve ser formatado no sistema de arquivo NTFS; O computador deve suportar o sistema operacional compatvel com o BitLocker. Na verso do Windows Sete Ultimate o BitLocker j vem instalado por padro sendo necessrio apenas ativ-lo na partio que desejar, como mostra a Figura 14.

Figura 14 - Ativando BitLocker em uma partio no Windows Seven Ultimate. Fonte: Prpria autoria.

45

Com o BitLocker To Go (para viagem), disponvel a partir do Windows Sete, possibilita que esta proteo possa ser usada tambm em unidades removveis, podendo assim transportar dados criptografados entre computadores diferentes que rodem o Windows Sete, isso portando a chave de acesso. E em breve tambm ser possvel compartilhar esses drives com o Windows XP e Vista. Aps iniciar a ativao do BitLocker ser solicitada a criao da senha utilizada para desbloquear a unidade.

Figura 15 - Inserindo a senha do BitLocker. Fonte: Prpria autoria.

Com a insero da senha o processo de encriptao ser inicializado, conforme ilustra a Figura 16.

Figura 16 - Processo de encriptao do BitLocker. Fonte: Prpria autoria.

46

Pronto, com isso o BitLocker est ativo e os dados podem ser armazenados na partio protegida da mesma maneira que uma partio comum, porm ser necessrio inicializar a mesma com a senha registrada anteriormente. Uma grande vantagem do BitLocker que ele transparente ao usurio, ou seja, que em condies normais de uso ele no tem impacto perceptvel no desempenho do computador. De acordo com especificao da TECHNET a criptografia do BitLocker trabalha a uma taxa de 1 GB por minuto, e a criptografia ocorre em segundo plano, assim o usurio continua a utilizar o sistema normalmente. No Windows Sete Ultimate possvel gerenciar o BitLocker atravs do Painel de Controle na seo de Sistema e Segurana.

Figura 17 - Gerenciamento do BitLocker no Windows Seven Ultimate. Fonte: Prpria autoria.

3.2.3 DM-Crypt

O DM-Crypt foi a ferramenta utilizada para Linux e se tornou parte oficial do mapeador de dispositivos (device mapper) a partir da verso 2.6.4 do kernel, oferecendo um servio de cifragem transparente de dados, onde:

47 [...] Os mdulos do device mapper so configurados pelas chamadas Tabelas DM arquivos simples de texto que especificam como o mapeador de dispositivos deve lidar com o disco virtual. O programa dmsetup interpreta esses arquivos de texto e usa chamadas funo ioctl() para passar os detalhes da transao ao kernel. O formato da tabela DM usada pelo DM-Crypt desnecessariamente desajeitado. O software de criptografia espera que a chave tenha tamanho fixo e seja uma cadeia hexadecimal de smbolos. O mdulo usa a chave para criptografar os dados do dispositivo de blocos. Entretanto, deixar a chave permanentemente em uma tabela DM seria o mesmo que deixar a chave de casa pendurada na porta ao sair de manh. Em vez disso, a chave precisa ser gerada sempre que o volume for montado. (FRUHWIRT & SCHUSTER, 2005, p.64 - 65)

Para isso utilizado juntamente com o DM-Crypt o programa Cryptsetup, disponvel por padro na maioria das distribuies Linux. O Cryptsetup uma:
[...] ferramenta que gera uma chave criptogrfica a partir de uma (muito mais simples) frase-senha. Depois disso, passa a senha ao kernel. [...] Dois recursos importantes do Cryptsetup podem ser parametrizados: gerao de chave e criptografia. O primeiro especifica como o Cryptsetup ir gerar a chave a partir de uma senha informada pelo usurio. O padro um algoritmo de hash, o que d ao usurio total liberdade para selecionar uma senha de qualquer tamanho. O hash sempre transformar essa senha em uma cadeia de caracteres com um nmero fixo de bytes. [...] Dois parmetros precisam ser escolhidos para o processo de criptografia: o algoritmo a ser usado e o modo. O Cryptsetup passa esses parmetros e a chave gerada a partir da senha escolhida pelo usurio para o kernel. Depois disso, o mdulo do DM-Crypt coordena os trabalhos daquele ponto em diante, usando a confivel Crypto-API para lidar com a criptografia. (FRUHWIRT & SCHUSTER, 2005, p.65)

Por padro utilizado o hash Ripemd-160 que gera uma chave de 256 bits como mostra a Figura 18. Porm durante a implementao da criptografia pode ser configurado de maneira diferente, utilizando um algoritmo que o kernel reconhea. Para usar o DM-Crypt e o Cryptsetup, so necessrios alguns mdulos do kernel e uma ferramenta no espao do usurio. As opes para o DM-Crypt que devem estar ativas so: Device Drivers, Multi-device support, Device mapper support e o Crypt target support. Muitas distribuies Linux ativam essas opes por padro. Para verificar esta opo use o comando modprobe dm-crypt.

48

Figura 18 - Funcionamento do Cryptsetup. Fonte: Linux Magazine.

Assim como o TrueCrypt o DM-Crypt pode usar uma partio separada (continer) para armazenamento, criptografar uma partio da unidade local e/ou uma unidade de armazenamento removvel.

Figura 19 - Comando utilizado para carregar mdulos do algoritmo AES. Fonte: Prpria autoria.

Ao contrrio das outras ferramentas apresentadas o DM-Crypt no oferece interface grfica para implementao de criptografia, as configuraes so realizadas atravs de linhas de comando no Shell do sistema. Primeiramente ser

49

necessrio carregar os mdulos que sero usados, procedimento realizado conforme ilustra a Figura 19, o segundo comando mostra o comando ativo. A Figura 20 a seguir mostra o status da partio criptografada:

Figura 20 - Status da partio criptografada com o DM-Crypt. Fonte: Prpria autoria.

Contudo a partio poder ser formatada utilizando um sistema de arquivos do Linux, atravs do comando mkfs.ext3 /dev/mapper/sda1. Feito isso basta montar (mount /dev/mapper/sda1 /misc/) a partio e utilizar normalmente. Quando no for mais necessrio utilizar a unidade o seu mapeamento criptogrfico deve ser desmontado, atravs do comando cryptsetup remove sda1. Para montar novamente a partio ser necessrio repetir todo o processo aqui apresentado fornecendo a chave de acesso registrada anteriormente.

50

4 ANLISE DE DESEMPENHO

As ferramentas de criptografia de dados nas unidades de armazenamento atualmente vem ganhando fora devido, principalmente, a manuteno dos dados com segurana. Percebe-se, ento, sua evoluo nos dias de hoje. Desta forma, objetiva-se neste captulo realizar um estudo de caso para tentar avaliar o desempenho comparativo das ferramentas apresentadas no captulo 3, bem como comparar o overhead na utilizao deste tipo de criptografia em detrimento a no utilizao. Os testes realizados envolvem basicamente a velocidade em que algumas tarefas comuns so executadas utilizando um sistema de criptografia em disco local e disco removvel, comparadas a um sistema sem criptografia, analisando a capacidade de que cada ferramenta possui em realizar tarefas cotidianas convencionais de usurios. Uma vez que tais ferramentas vem ganhando espao com a melhoria do desempenho. O computador utilizado para realizar os testes em ambiente Windows e Linux possui um processador Intel Core 2 Duo de 2.0GHz, com 4GB de RAM com barramento de 667MHz, disco rgido de 120GB com rotao de 7200RPM e tecnologia de ligao SATA. Essa mquina tem tanto o sistema operacional Windows Sete Ultimate de 32 bits quanto o Debian 5 instalados em parties fsicas diferentes no disco rgido. A unidade removvel utilizada foi uma memria USB Flash Drive (Pen Drive) verso 2.0.

4.1 INSTALAO

Foram instaladas as ferramentas TrueCrypt (Windows e Linux), DM-Crypt (Linux) e BitLocker (Windows). Veja as caractersticas de cada instalao: TrueCrypt: sua atual verso a 6.3 disponvel para Linux e Windows, incluindo o Windows Sete, a instalao em ingls, fcil e rpida, possui

51

interface grfica para os dois sistemas operacionais, no oferece idioma em portugus; DM-Crypt: nativo em sistemas Linux a partir da verso 2.6.4 do kernel usado em conjunto com o programa Cryptsetup, o qual j est includo na maioria das distribuies Linux. No possui interface grfica, necessrio certo conhecimento para realizar sua configurao; BitLocker: j vem instalado no Windows Sete Ultimate, tambm possvel utilizar no Windows Vista e em outras verses do Windows Sete, possui interface grfica com idioma em portugus e de fcil configurao.

4.2 TESTES REALIZADOS

Para avaliar o desempenho dos sistemas de criptografia de arquivos no disco local e em unidade de armazenamento removvel foram realizados testes de cpia e movimentao utilizando o mesmo arquivo, com tamanho de 500MB, para realizar os testes em todas as ferramentas. O mesmo algoritmo de criptografia, AES, e a mesma chave, de 256 bits, foram utilizados para todas as ferramentas.

4.2.1 Anlise de Desempenho no Ambiente Windows

Como mencionado anteriormente a verso do Windows utilizada neste teste o Windows Sete Ultimate, em que foram instaladas e analisadas as ferramentas de criptografia TrueCrypt e BitLocker. Neste teste o arquivo arquivo.exe com tamanho de 500MB foi copiado primeiramente do disco local para uma partio sem criptografia, e posteriormente este mesmo arquivo foi copiado para a mesma partio, porm criptografada com o TrueCrypt e a seguir com o BitLocker, como demonstrado no esquema da Figura 18. Este procedimento foi realizado trs vezes para que as variaes de um teste para outro tambm fossem apresentadas.

52

Figura 21 - Esquema da realizao dos testes de anlise de desempenho. Fonte: Prpria autoria.

A Figura 22 demonstra como foram cronometradas cada tarefa, utilizando o programa TeraCopy verso 2.01.

Figura 22 - Utilizando programa TeraCopy para cronometrar o tempo. Fonte: Prpria autoria.

Com a realizao dos primeiros testes e atravs dos resultados obtidos mostrados nas Figuras 23 e 24, podemos reparar que por ser nativo no sistema operacional Windows Sete o BitLocker leva vantagem em relao ao TrueCrypt ao copiar e mover arquivos para uma partio criptografada. Isso pode ser explicado pelo comentrio realizado sobre o BitLocker no Captulo 3:

53

Uma grande vantagem do BitLocker que ele transparente ao usurio, ou seja, que em condies normais de uso ele no tem impacto perceptvel no desempenho do computador. De acordo com especificao da TECHNET a criptografia do BitLocker trabalha a uma taxa de 1 GB por minuto, e a criptografia ocorre em segundo plano, assim o usurio continua a utilizar o sistema normalmente.

Figura 23 - Resultados dos testes ao copiar arquivos para unidade local criptografada. Fonte: Prpria autoria.

Figura 24 - Resultados dos testes ao mover arquivos para unidade local criptografada. Fonte: Prpria autoria.

54

O mesmo acontece quando o contrrio realizado quando o arquivo copiado ou movido da partio criptografada para a unidade sem criptografia, conforme demonstra as Figuras 25 e 26 a seguir.

Figura 25 - Resultados dos testes ao copiar arquivos da unidade criptografada. Fonte: Prpria autoria.

Figura 26 - Resultados dos testes ao mover arquivos da unidade criptografada. Fonte: Prpria autoria.

55

Os

mesmos procedimentos realizados nos testes da unidade

de

armazenamento local foram realizados para os testes de uma unidade removvel utilizando criptografia. Veja a seguir os resultados obtidos.

Figura 27 - Resultados dos testes ao copiar arquivos da unidade local para uma unidade removvel criptografada. Fonte: Prpria autoria.

Figura 28 - Resultados dos testes ao mover arquivos da unidade local para uma unidade removvel criptografada. Fonte: Prpria autoria.

56

Com os resultados mostrados nas Figuras 27 e 28, podemos perceber que tanto utilizando BitLocker ou TrueCrypt ao criptografar uma unidade removvel o desempenho das duas ferramentas so bem parecidos, podemos observar tambm que o desempenho delas tambm um pouco melhor ao mover o arquivo. Outro dado importante que se formos analisar o desempenho do TrueCrypt em relao a unidade local onde chegou a atingir mais de 100% do tempo de cpia sem criptografia, j utilizando uma unidade removvel atingiu apenas cerca 25% a mais do tempo total gasto para uma unidade removvel sem criptografia. Vamos continuar analisando os resultados adquiridos em testes com unidade removvel, nas Figuras 29 e 30 a seguir so apresentados os resultados do inverso do que foi feito anteriormente, copiando e movendo o arquivo da unidade removvel criptografada para a unidade local.

Figura 29 - Resultados dos testes ao copiar arquivos da unidade removvel criptografada para unidade local sem criptografia. Fonte: Prpria autoria.

57

Figura 30 - Resultados dos testes ao mover arquivos da unidade removvel criptografada para unidade local sem criptografia. Fonte: Prpria autoria.

Neste ltimo teste o TrueCrypt apresentou uma certa vantagem em relao do BitLocker, j que os tempos foram menores. Porm considerando os testes de maneira geral, o BitLocker apresentou os melhores resultados se tratando de ambiente Windows, uma vez que ele j nativo nas verses mais recentes e realiza o processo de criptografia em segundo plano, atingindo dessa maneira os melhores resultados nos testes de criptografia em disco local, perdendo um pouco o seu desempenho na utilizao de unidades removveis. Outra grande vantagem do BitLocker que ao tentarmos utilizar a partio criptografada, atravs de um LiveCD de outro sistema, isto no ser permitido, e tambm no ser possvel a formatao do mesmo, j o que no ocorre com o TrueCrypt onde a partio criptografada pode ser facilmente formatada e seus dados perdidos.

58

4.2.2 Anlise de Desempenho no Ambiente Linux

Os mesmos procedimentos foram realizados em um sistema Linux, neste caso foi utilizada a distribuio Debian 5 com as ferramentas de criptografia TrueCrypt e DM-Crypt. Tambm foi utilizado o arquivo arquivo.exe com tamanho de 500MB para realizar os testes de cpia do disco local para uma partio sem criptografia, logo em seguida este mesmo arquivo foi copiado para a mesma partio, porm criptografada com o TrueCrypt e posteriormente utilizando o DM-Crypt. Assim como no Windows este mesmo procedimento foi realizado trs vezes. Para cronometrar cada tarefa foi utilizado o comando nativo do Linux o time conforme apresentado na Figura 31.

Figura 31 - Usando o comando time para cronometrar o tempo. Fonte: Prpria autoria.

59

Figura 32 - Resultados dos testes ao copiar arquivos para unidade local criptografada (Linux). Fonte: Prpria autoria.

Figura 33 - Resultados dos testes ao mover arquivos para unidade local criptografada (Linux).| Fonte: Prpria autoria.

60

Podemos destacar que nos primeiros testes realizados no Linux, com as ferramentas TrueCrypt e DM-Crypt, os resultados obtidos ao copiar arquivos para a unidade criptografada esto prximos, o DM-Crypt obteve um desempenho um pouco melhor em copiar o arquivo para a unidade criptografada. Porm quando realizado o teste de movimentao o DM-Crypt obteve praticamente o mesmo tempo em relao a unidade sem criptografia. J quando copiamos ou movemos arquivos da unidade criptografada para unidade local, as duas ferramentas mostraram resultados diferentes, pois o DMCrypt no apresentou diferena em relao utilizao da unidade sem criptografia, como mostram as Figuras 34 e 35 a seguir.

Figura 34 - Resultados dos testes ao copiar arquivos da unidade criptografada para unidade local (Linux). Fonte: Prpria autoria.

61

Figura 35 - Resultados dos testes ao mover arquivos da unidade criptografada para unidade local (Linux). Fonte: Prpria autoria.

Agora vamos analisar os resultados obtidos com os testes utilizando as ferramentas de criptografia para ambiente Linux em uma unidade removvel. Foi realizado teste de cpia para unidade removvel, primeiramente sem criptografia e depois utilizando criptografia atravs do TrueCrypt e com o DM-Crypt, os primeiros resultados so apresentados nas Figuras 36 e 37. Ao copiar o arquivo para a unidade removvel utilizando criptografia, tanto com o TrueCrypt como com o DM-Crypt, podemos verificar que o tempo decorrido foi maior de que quando no foi usado criptografia, porm no foi muito superior, em mdia o tempo ficou cerca de 15% a mais. E quando o mesmo arquivo movido, assim como nos testes em disco local, o DM-Crypt tambm no variou o tempo em relao ao mesmo procedimento realizado com a unidade sem criptografia. J o TrueCrypt apresentou tempo superior ao DM-Crypt.

62

Figura 36 - Resultados dos testes ao copiar arquivos da unidade local para unidade removvel criptografada (Linux). Fonte: Prpria autoria.

Figura 37 - Resultados dos testes ao mover arquivos da unidade local para unidade removvel criptografada (Linux). Fonte: Prpria autoria.

63

As Figuras 38 e 39 apresentam os resultados adquiridos ao copiar e mover o arquivo da unidade removvel criptografada para a unidade local.

Figura 38 - Resultados dos testes ao copiar arquivos da unidade criptografada para unidade local (Linux). Fonte: Prpria autoria.

Figura 39 - Resultados dos testes ao mover arquivos da unidade criptografada para unidade local (Linux). Fonte: Prpria autoria.

64

O tempo de cpia do arquivo sofreu alterao apenas quando a unidade est criptografada utilizando a ferramenta TrueCrypt. E ao mover o arquivos as duas ferramentas obtiveram o mesmo desempenho sem a utilizao de criptografia no disco. Com o trmino dos testes realizados no Windows e no Linux, o que percebemos que quando a ferramenta de criptografia utilizada nativa do sistema operacional a perda de desempenho bem menor ou quase nula, isso para disco local. J quando utilizado uma unidade de armazenamento removvel a diferena entre as ferramentas so mnimas. Vejamos a seguir os grficos comparativos entre Windows e Linux com os resultados obtidos nos testes.

Figura 40 - 1 Grfico Comparativo entre Windows x Linux. Fonte: Prpria autoria.

65

Figura 41 - 2 Grfico Comparativo entre Windows x Linux. Fonte: Prpria autoria.

Figura 42 - 3 Grfico Comparativo entre Windows x Linux. Fonte: Prpria autoria.

66

Figura 43 - 4 Grfico Comparativo entre Windows x Linux. Fonte: Prpria autoria.

Figura 44 - 5 Grfico Comparativo entre Windows x Linux. Fonte: Prpria autoria.

67

Figura 45 - 6 Grfico Comparativo entre Windows x Linux. Fonte: Prpria autoria.

Figura 46 - 7 Grfico Comparativo entre Windows x Linux. Fonte: Prpria autoria.

68

Figura 47 - 8 Grfico Comparativo entre Windows x Linux. Fonte: Prpria autoria.

observado que para todos os testes o tempo do Windows foi superior ao Linux, entretanto relevante mencionar que isso no quer dizer que o desempenho do Windows pior, porque depende da quantidade de informao gravada no disco para cada sistema operacional e dos processos que esto em execuo simultaneamente a realizao dos testes. Um dos resultados importantes dos testes, foi perceber que dentre os produtos utilizados o TrueCrypt apresentou, no geral, os piores resultados para os sistemas de arquivo utilizando uma unidade do disco local, mas quando o sistema de arquivo uma unidade remvivel, ele apresentou quase os mesmos tempos que as solues nativas do sistema operacional. Por fim relevante destacar que o tempo mdio total de overhead usando os produtos para criptografar os dados do disco comparando as aes sem criptografia, chegou a atingir mais de 100% no caso do TrueCrypt, e quase nenhuma utilizando ferramentas nativas como BitLocker e DM-Crypt, em uma unidade do disco local, e pouco mais de 50% quando utilizada uma unidade de armazenamento removivel. Apesar da perda de desempenho em alguns casos, vale ressaltar a segurana que podemos obter ao utilizar estas ferramentas para proteger dados sigilosos.

69

5 CONSIDERAES FINAIS E TRABALHOS FUTUROS

Ao estudar as ferramentas de criptografia abordadas neste trabalho, foi possvel comprovar a facilidade de instalao e configurao de tais produtos e o quanto intuitivo manuse-las, comprovando que a tarefa de criptografar dados tem se tornado cada vez mais simples e vivel para que usurios comuns possam proteger seus dados com segurana. Pode-se observar tambm, que a crescente utilizao da criptografia est exigindo que as ferramentas utilizadas fiquem melhores tanto com relao segurana quanto no desempenho, uma vez que atualmente empresas mantm seus dados criptografados e necessitam acess-los com frequncia e com agilidade. Para comparar as informaes prestadas acima, foram realizados diversos testes com os seguintes produtos: BitLocker e TrueCrypt para Windows e DM-Crypt e TrueCrypt para Linux. Os testes foram realizados da seguinte maneira: primeiramente um arquivo foi copiado e movido para uma partio do disco local e para um disco removvel sem criptografia e posteriormente o mesmo arquivo copiado para o mesmo local, porm com as unidades criptografadas atravs dos produtos mencionados, cada procedimento foi realizado por trs vezes e cada tempo era registrado, o processo inverso, copiar e mover da unidade criptografada para unidade local, tambm foi realizado. Dessa maneira foi possvel analisar e comparar o desempenho das ferramentas testadas. O BitLocker, por exemplo, promove a proteo dos dados de forma simples e eficiente, deixando imperceptvel ao usurio a sua utilizao, pois ele trabalha de modo transparente realizando o processo de criptografia em segundo plano. Porm, uma das dificuldades em utilizar o BitLocker quando se faz necessria alguma modificao em sua configurao, como por exemplo trocar o algoritmo padro (AES) por um outro, para isso ser necessrio um conhecimento mais avanado do usurio, outro ponto negativo que ele no est disponvel em todas as verses do Windows. Outra ferramenta analisada, o TrueCrypt, permite que a instalao possa ser realizada em uma mdia removvel, possibilitando que os dados da mdia sejam criptografados, e que a leitura e gravao dos mesmos sejam realizados a partir do software instalado na prpria mdia, evitando que seja necessrio instalar a

70

ferramenta toda vez que utilizar um computador diferente, alm de ser fcil implementar e de alterar suas configuraes padres. Sua desvantagem que comparado com as ferramentas nativas, dos sistemas operacionais, o TrueCrypt possui uma perda de desempenho. No sistema operacional Linux, foi analisada a soluo DM-Crypt que tambm nativa e j vem instalada em boa parte das distribuies Linux, possui um timo desempenho no que diz respeito ao tempo. Uma das dificuldades de sua utilizao que no possui interface grfica, dificultando sua implementao e alterao em sua configurao padro. interessante salientar que apesar de que em alguns testes, como os realizados com o TrueCrypt, o tempo quando utilizada a unidade criptografada chega a atingir o triplo da velocidade da operao em relao ao disco sem criptografia, preciso levar em conta que no uma operao feita a todo o momento e que essa perda de velocidade se torna irrelevante se comparada a proteo que o usurio ter com suas informaes. Aliadas a facilidade e a pouca perda de desempenho em utiliz-las, estas ferramentas podem assim proporcionar grande segurana no que diz respeito a restringir o acesso a informaes sigilosas, podendo evitar tambm que mesmo que o material seja roubado o seu contedo seja violado, isso tudo atravs de mtodos simples e bastante eficientes. relevante mencionar que este trabalho de final de curso no se preocupou em testar a segurana destas ferramentas, pois acredita-se na sua capacidade de criptografia. Mas a anlise realizada foi com relao a perda de desempenho entre o uso destes produtos e o no uso destes, bem como uma comparao entre eles. Desta forma, conclui-se, por meio dos resultados prticos gerados pelo estudo de caso que compensa utilizar tais produtos, pois a balana comparativa entre a segurana e a perda de desempenho (que pouca) pende, nos dias atuais, para termos mais a segurana dos dados. Como trabalhos futuros, recorrentes ao tema, podem ser realizados: Anlise das ferramentas BitLocker, DM-Crypt e TrueCrypt associadas a outros algoritmos de criptografia (Blowfish, Serpent, Twofish); Testes utilizando chaves de 512 bits; Testes para validar a segurana destes produtos; Estudo de ferramentas de criptografia no open source.

71

REFERNCIAS BIBLIOGRFICAS

BABOO. Proteja seus dados com a criptografia do TrueCrypt. Disponvel em http://www.baboo.com.br/absolutenm/templates/content.asp?articleid=31541&zoneid =276&resumo=. Acesso em: 04 out.2009.

BALDIN, Davi. Dm-crypt - Criptografia no filesystem - Kernel 2.6 [2006]. Disponvel em: <http://www.vivaolinux.com.br/artigo/Dmcrypt-Criptografia-no-

filesystem-Kernel-2.6/>. Acesso em: 02 nov.2009.

BIHAM, Eli. Serpent - A Candidate Block Cipher for the Advanced Encryption Standard. Disponvel em: <http://www.cl.cam.ac.uk/~rja14/serpent.html>. Acesso em: 28 ago.2009.

CARTILHA DE SEGURANA PARA INTERNET, So Paulo: Comit Gestor da Internet no Brasil, v.3.1, 2006.

DOCUMENTAO TRUECRYPT. Disponvel em: http://www.truecrypt.org/docs/. Acesso em: 10 out.2009. GUTMANN, Peter; NEY, Christian. Candidatos Secretos. Linux Magazine, So Paulo: Linux New Media, n.25, p. 30-37, nov. 2006.

FERNANDES, Natalia Castro. Criptografia. Disponvel em: <http://www.gta.ufrj.br/ ~natalia/SSH/criptografia.html>. Acesso em: 26 ago.2009.

FRUHWIRTH, Clemens; SCHUSTER, Markus. Criptografia de Sistemas de Arquivo. Linux Magazine, So Paulo: Linux New Media, n.15, p. 65-72, dez. 2005.

IDGNOW, Redao. Petrobras perde dados sigilosos em furto de computadores [2008]. Disponvel em: <http://idgnow.uol.com.br/seguranca/2008/02/14/petrobrasperde-dados-sigilosos-em-roubo-de-computadores/>. Acesso em: 02 nov.2009.

72

INFOWESTER.

Criptografia.

Disponvel

em:

http://www.infowester.com/

criptografia.php. Acesso em: 21 ago.2009.

MADEIRA, Frederico. Criptografia de Disco - Garantindo a segurana de suas informaes [2007]. Disponvel em: <http://www.madeira.eng.br/wiki/index.php? page=Criptografia+de+Disco+%E2%80%93+Garantindo+a+seguran%C3%A7a+de+ suas+informa%C3%A7%C3%B5es>. Acesso em: 20 ago.2009.

MATHIAS, Leopoldo A. P.. Vantagens e Desvantagens do uso do AES [2005]. Disponvel em: <http://www.gta.ufrj.br/grad/05_2/aes/vandesv.htm>. Acesso em: 26 ago.2009.

MOREIRA, Daniela. Roubo de notebook custa mais de US$ 115 mil [2009]. Disponvel em: <http://info.abril.com.br/noticias/ti/roubo-de-notebook-custa-mais-deus-115-mil-23042009-11.shl>. Acesso em: 02 nov.2009. TECHNET, Microsoft. Viso geral tcnica da Criptografia de Unidade de Disco BitLocker. Disponvel em: http://technet.microsoft.com/pt-br/library/cc732774 (WS.10).aspx. Acesso em: 10 out.2009. VALENTE, Rubens; CARVALHO, Mario Cesar. PF no consegue decifrar criptografia dos arquivos de Daniel Dantas [2008]. Disponvel Acesso em: em: 02

<http://www1.folha.uol.com.br/folha/brasil/ult96u447378.shtml>. nov.2009.

WIKIPDIA. 3DES. Disponvel em: http://pt.wikipedia.org/wiki/3des. Acesso em: 22 ago.2009.

WIKIPDIA. AES. Disponvel em: http://pt.wikipedia.org/wiki/Aes. Acesso em: 22 ago.2009.

WIKIPDIA. Algoritmo de chave simtrica. Disponvel em: http://pt.wikipedia. org/wiki/Algoritmo_de_chave_sim%C3%A9trica. Acesso em: 22 ago.2009.

73

WIKIPDIA. Blowfish. Disponvel em: http://pt.wikipedia.org/wiki/Blowfish. Acesso em: 07 set.2009.

WIKIPDIA. Criptografia de chave pblica. Disponvel em http://pt.wikipedia.org /wiki/Criptografia_de_chave_p%C3%BAblica. Acesso em: 25 ago.2009.

WIKIPDIA. Data Encryption Standard. Disponvel em: http://pt.wikipedia.org/ wiki/Data_Encryption_Standard. Acesso em: 22 ago.2009.

WIKIPDIA. MD5. Disponvel em: http://pt.wikipedia.org/wiki/MD5. Acesso em: 05 set.2009.

WIKIPDIA. RSA. Disponvel em: http://pt.wikipedia.org/wiki/RSA. Acesso em: 05 set.2009.

WIKIPDIA. SHA1. Disponvel em: http://pt.wikipedia.org/wiki/SHA1. Acesso em: 05 set.2009.

You might also like