Back-End

5 jun, 2007

Criptografia de Dados – Parte 01 (Origem e evolução)

Publicidade

Olá amigos do iMasters. Esse é o meu primeiro artigo para o site e escolhi um tema que muita gente ouve falar todos os dias, mas poucos sabem exatamente o que é, como funciona e quais são as formas de utilização. É a criptografia de dados, que protege as nossas informações que passeiam pela WEB e que deve ser devidamente pensada por desenvolvedores de aplicações e também por usuários que devem conseguir analisar e classificar se uma ferramenta ou site é realmente seguro para o input de seus dados. Espero que esse artigo seja útil à todos. Vamos começar?

Apresentando a criptografia de dados

A criptografia, nada mais é que um método de armazenar e transmitir dados de uma forma que somente as pessoas autorizadas como, por exemplo, os destinatários, possam ler e processar. É considerada a ciência de proteção da informação através da codificação em um formato ilegível. Contudo, a maioria dos algoritmos (na realidade todos) podem ser quebrados e a informação revelada se o atacante tiver tempo e recursos suficientes. Chegamos então às primeiras duas conclusões muito importantes e com elas vamos romper um velho mito usando por entusiastas de acesso indevido à informações:

  1. Não existe um método de criptografia que não possa ser quebrado.
  2. O real objetivo da criptografia é fazer com que conseguir acesso à informação, seja tão trabalhoso e leve tanto tempo, que o atacante sinta-se desestimulado e desista.

Um pouco de história não faz mal à ninguém né?

O primeiro método para criptografia de dados (Método Criptográfico) surgiu mais ou menos 4000 anos e durante toda a história da humanidade, pessoas e governos vêm trabalhando de diversas formas, para proteger suas comunicações através desses métodos de cifragem. Com toda essa dedicação, fmos construindo modelos criptográficos cada vez mais complexos e eficazes. Novos métodos e novos algoritmos vêm sendo desenvolvidos e como conseqüência desse trabalho e da alta demanda de segurança, a criptografia tornou-se de fato parte integrante do mundo da TI.

Os métodos de criptografia começaram com mensagens esculpidas em madeiras ou pedras e passadas para as pessoas que tinham os meios necessários para decifrar as mensagens. Muitos anos depois, a criptografia é feita através de “stream” de código binário sobre cabos de rede LAN, WAN, ondas de rádio e etc (Ainda bem!)

Mas, o primeiro registro de alguém que usou um mecanismo para cifrar dados, aconteceu no Egito em 2000 a.C. Nessa época, hieróglifos eram usados na decoração de túmulos (eles contavam histórias da vida dos faraós). Só que a intenção dos caras daquela época na verdade, não era de esconder as mensagens em si, mas sim de fazê-las parecerem mais nobres e majestosas.

Foi então que um método hebraico de criptografia utilizou o alfabeto invertido para cifrar as mensagens. Cada caractere da mensagem é substituído por outro do alfabeto invertido. Simples assim!

Vejam o exemplo abaixo:

Baseando-se no método acima a palavra SEGURANÇA = HVTFIZMXZ

Aí, por volta de 400 a.C., os espartanos usavam um sistema de cifragem de informações onde era utilizada uma folha de papiro enrolada em um cilindro de madeira. A mensagem só poderia ser lida, se esse papiro fosse enrolado em um cilindro exatamente do mesmo diâmetro do cilindro onde a mensagem havia sido escrita originalmente. Esse método era chamado de scytale cipher.

Pouco depois, o Imperador Julio César desenvolveu um método chamado Caesar Cipher. Era um método simples de deslocamento das letras do alfabeto, similar ao método hebraico. Tudo o que ele fez foi simplesmente deslocar o alfabeto em três posições. Aos nossos olhos, é obviamente um método muito simples pra ser efetivo, mas estamos falando de um alto nível de proteção de dados para aquela época.

Já no final do século XVIII, os sistemas de criptografia eram amplamente usados para as comunicações militares e ao longo de muitos anos, outros métodos de criptografia foram surgindo. Na segunda guerra mundial, dispositivos de cifragem simples de uso militar evoluíram bastante com a tecnologia eletromecânica (comunicação via telégrafo e rádio). Os alemães criaram a máquina de cifragem mais famosa do mundo que chamava Enigma. Pouco depois um grupo de criptógrafos poloneses quebrou o código e revelou aos britânicos os planos de ataque e movimentação das tropas alemãs (Seria o fim de Hitler?).

A IBM (Big Blue para os mais íntimos) também contribuiu e muito para o desenvolvimento das tecnologias de cifragem de dados. Foi criado o DES que depois foi modificado pela Agência Nacional de Segurança dos Estados Unidos (NSA) dando origem ao DES (Data Encryption Standard). O mesmo governo americano depois criou o Clipper Chip para ser implantado em todos os sistemas de comunicação.

E por falar em governo americano…

A Agência Nacional de Segurança lá dos Estados Unidos tem o poder de regular a exportação de equipamentos e mecanismos de criptografia (O que eles não controlam né?). Eles dizem que a intenção é dificultar a obtenção de tais mecanismos por terroristas e criminosos, mas enfim. Eles até tentaram restringir o uso de criptografia com chaves públicas para que os inimigos não tivessem um método de criptografia que fosse difícil para o governo quebrar. Aí em 1993 alguém teve a brilhante idéia de instalar o seu sistema de criptografia em todos os equipamentos de comunicação que era o mesmo Clipper Chip que vimos ali em cima.

Antes de continuarmos, vamos à algumas definições!

Acho que está na hora de falarmos um pouco sobre algumas definições do mundo da criptografia. Isso vai nos ajudar a entender melhor alguns conceitos. Falando de forma bem básica, a criptografia funciona exatamente assim:

  • Plaintext é o texto puro, original antes de ser cifrado.
  • Encryption é ação de cifra os dados usando qualquer seja o sistema de criptografia.
  • Sistemas de Criptografia provêm cifragem (encryption) e decifragem (decryption) através de hardware ou software (Sim porque não existe cifragem de dados apenas por software).
  • Algoritmo é o conjunto de regras matemáticas que definem como são feitas a cifragem e decifração. Na maioria das vezes é de poder público. Neste caso a parte secreta do sistema é a chave.
  • Chave é um valor composto de uma grande seqüência de bits randômicos.
  • Keyspace é o conjunto de valores usados para gerar a chave. Quanto maior o keyspace, mais randômicas são as chaves.

Podemos concluir então que a o CIPHERTEXT (dados cifrados) é então uma união de Algoritmo e Chave que por sua vez é gerada pelo Keyspace. Vamos falar isso de forma mais clara?

Criptografia de dados é pegar os dados originais e através de cálculos matemáticos embaralhar os dados tornando assim o texto ilegível.

Esse é o fim da primeira parte do nosso estudo sobre criptografia de dados. Com essa leitura, vocês aprenderam o que é, a origem e os avanços dos padrões de cifragem de dados ao longo da história da humanidade. Conheceram algumas definições técnicas relacionadas ao assunto e o mais importante: Quebraram o mito da criptografia indecifrável.

Lembrem-se sempre que não existe criptografia de dados que seja indecifrável, o que existem são algoritmos e chaves que tornam a decifragem tão longa e complicada que o atacante desistirá de atuar.

Espero que tenham gostado das informações. Logo publicaremos a segunda etapa do nosso estudo. Falaremos sobre um lado mais técnico do assunto: componentes, algoritmos e chaves. Obrigado e até breve pessoal!