Menu 2

Pesquisar este blog

sábado, 30 de abril de 2011

Como funciona a criptografia

Introdução

O surpreendente crescimento da Internet agitou empresas e consumidores com sua promessa de mudar a maneira que vivemos e trabalhamos. Mas a maior preocupação ainda remete-se a sua segurança, especialmente quando envolve o envio de informações sigilosas.
Convenhamos, há sempre várias informações que não gostaríamos que outras pessoas soubessem, tais como:
  • informações do cartão de crédito
  • CPF
  • correspondência privada
  • detalhes pessoais
  • informações sigilosas sobre a empresa
  • informações sobre a conta bancária

O comércio eletrônico confia na capacidade de enviar informações com segurança
A segurança de informações é provida, em computadores e na internet, por uma série de diferentes métodos. Um método de segurança simples, mas funcional, é manter informações sigilosas somente em mídias dearmazenamento portátil, como disquetes. Mas as formas mais populares de segurança dependem da criptografia, processo que codifica a informação de tal maneira que somente a pessoa (ou o computador) com a chave pode decodificá-la.
Neste artigo, você aprenderá sobre a criptografia e a autenticação. Aprenderá também sobre os sistemas de chave pública e chave simétrica, bem como os algoritmos de espalhamento.

Sistemas de criptografia

A criptografia não é algo novo - a novidade é sua aplicação em computadores. Antes da era digital, os maiores usuários da criptografia eram os governos, particularmente para finalidades militares. A existência de mensagens codificadas foi verificada desde a época do Império Romano. Mas a maior parte da criptografia utilizada hoje se baseia em computadores, simplesmente porque um código baseado em seres humanos é muito fácil de ser decodificado por um computador.
A maioria dos sistemas de criptografia de computadores pertence a uma destas categorias:
  • criptografia de chave simétrica
  • criptografia de chave pública
Nas seções seguintes, você aprenderá sobre cada um desses sistemas

Chave simétrica

Na criptografia de chave simétrica, cada computador possui uma chave secreta (código) que ele pode utilizar para criptografar um pacote de informações antes que ele seja enviado pela rede a um outro computador. A chave simétrica exige que você saiba quais computadores irão se comunicar, de forma que seja possível instalar a chave em cada um deles. A criptografia de chave simétrica é basicamente o mesmo que um código secreto que cada um dos computadores precisa saber a fim de decodificar as informações. O código fornece a chave para decodificar a mensagem. Pense assim: você cria uma mensagem codificada para enviar a um amigo, nela cada letra é substituída pela letra que está duas posições abaixo no alfabeto. Assim, "A" se torna "C," e "B" se torna "D". Você já informou ao seu amigo de confiança que o código é "deslocamento em 2 posições". Seu amigo recebe a mensagem e a decodifica. Qualquer outra pessoa que olhar esta mensagem verá somente um emaranhado de letras sem sentido.

Chave pública

A criptografia de chave pública utiliza a combinação de uma chave privada e uma chave pública. A chave privada só é conhecida pelo seu computador, enquanto que a chave pública é dada por seu computador a todo computador que queira comunicar-se de forma segura com ele. Para decodificar uma mensagem criptografada, um computador deve usar a chave pública, fornecida pelo computador de origem, e sua própria chave privada. Uma utilidade bem popular de criptografia de chave pública é chamada dePretty Good Privacy (PGP - “ótima privacidade”) e permite que você criptografe quase qualquer coisa. Você pode saber mais a respeito no site da PGP (em inglês).

 
O computador emissor criptografa o documento com uma chave simétrica e em seguida criptografa a chave simétrica com a chave pública do computador receptor. O computador receptor usa sua chave privada para decodificar a chave simétrica e então a usa para decodificar o documento.
Para implementar a criptografia de chave pública em larga escala, um servidor web seguro requer uma abordagem diferente. Aí entram oscertificados digitais. Um certificado digital é basicamente um pedaço de informação que diz que o servidor web é considerado confiável por uma fonte independente, conhecida como Autoridade Certificadora. A Autoridade Certificadora age como um intermediário em quem ambos os computadores confiam. Ela confirma que cada um é de fato quem diz ser e fornece, então, as chaves públicas de um computador ao outro.

Chave pública: SSL

Uma implementação popular da criptografia de chave-pública é o Secure Sockets Layer (SSL). Originalmente desenvolvida pela Netscape, o SSL é um protocolo de segurança utilizado por navegadores de Internet eservidores web para transmitir informações sigilosas. O SSL tornou-se parte de um protocolo geral de segurança conhecido como Transport Layer Security (TLS).

Procure pelo "s" após o "http" no endereço sempre que estiver prestes a enviar informações sigilosas, como o número do cartão de crédito, em um formulário na internet.
Em seu navegador é possível saber quando você está utilizando um protocolo de segurança, como o TLS, de algumas maneiras diferentes. Você perceberá que o "http" na linha do endereço estará substituído por "https", e deve aparecer um pequeno cadeado na barra de status na parte de baixo da janela do navegador.

O símbolo do cadeado avisa que você está utilizando criptografia
A criptografia de chave pública envolve muito processamento, portanto, a maioria dos sistemas utiliza uma combinação da chave pública e simétrica. Quando dois computadores iniciam uma sessão segura, um computador cria uma chave simétrica e a envia ao outro usando a criptografia de chave pública. Os dois computadores podem então se comunicar utilizando a criptografia de chave simétrica. Uma vez que a sessão é terminada, cada computador descarta a chave utilizada naquela sessão. Todas as sessões adicionais requerem que uma nova chave simétrica seja criada e que o processo seja repetido.

Algoritmos de espalhamento

A chave, na criptografia de chave pública, é baseada em um hash value. Esse é um valor que é calculado a partir de um número de entrada baixo utilizando um algoritmo de espalhamento. Basicamente, esse valor é um sumário dos valores de origem. O importante sobre esses hash value é que se torne quase impossível derivar o número original de entrada sem conhecer os dados utilizados para criá-lo.
Número de entradaAlgoritmo de espalhamentoHash value
10.667# input x 1431.525.381
Você pode observar como seria difícil determinar que o valor 1.525.381 veio da multiplicação de 10.667 por 143. Mas se você soubesse que o multiplicador era 143, então seria muito fácil calcular o valor 10.667. A criptografia de chave pública é na realidade muito mais complexa do que esse exemplo, mas essa é a idéia básica.
As chaves públicas geralmente utilizam algoritmos complexos e hash value muito grandes para criptografia, incluindo números de 40 bits ou até mesmo de 128 bits. Um número de 128 bits possui cerca de 2128 combinações ou (3.402.823.669.209.384.634.633.746.074. 300.000.000.000.000.000.000.000.000.000.000.000.000) diferentes combinações possíveis. Isso seria como tentar encontrar um específico grão de areia no Deserto do Saara.

Autenticação

Como apontado anteriormente, a criptografia é o processo que codifica todos os dados que um computador está enviando a outro, de tal forma que somente o outro computador possa decodificá-lo. Um outro processo, aautenticação, é utilizado para verificar que as informações são originárias de uma fonte confiável. Basicamente, se a informação for "autêntica", você sabe quem a criou e que ela não foi alterada de nenhuma forma desde que a pessoa a criou. Esses dois processos, criptografia e autenticação, funcionam juntos de maneira a criar um ambiente seguro.
Há diversas maneiras de autenticar uma pessoa ou uma informação em um computador:
  • Senha - a utilização de um nome de usuário e de uma senha representa a maneira mais comum de autenticação. Você digita seu nome e sua senha quando solicitado pelo computador. Ele os compara a um arquivo seguro para confirmação. Caso o nome ou a senha não sejam compatíveis, você não obtém o acesso.
  • Cartões de acesso - esses sistemas podem variar de um simples cartão com uma tira magnética, similar a um cartão de crédito, aos sofisticados smart cards (cartões inteligentes) que possuem umchip de computador embutido.
  • Assinaturas digitais - uma assinatura digital é basicamente uma maneira de se assegurar que um documento eletrônico (e-mail, planilha eletrônica, arquivo de texto) seja autêntico. O Digital Signature Standard (DSS) - é baseado em um tipo de método de criptografia de chave pública que utiliza o Digital Signature Algorithm (DAS). O DSS é o formato para assinaturas digitais que foi endossado pelo governo americano. O algoritmo DSA consiste de uma chave privada, conhecida apenas pelo emissor do documento (o signatário), e uma chave pública que tem quatro partes. Se qualquer coisa estiver alterada no documento depois que a assinatura digital for anexada a ele, o valor, ao qual a assinatura digital faz a comparação, é alterado, resultando assim em uma assinatura inválida.
Recentemente, formas mais sofisticadas de autenticação começaram a surgir nos computadores domésticos e de empresas. A maioria desses novos sistemas utiliza alguma forma de biometria para realizar a autenticação. A biometria utiliza informações biológicas para verificar a identidade. Os métodos biométricos de autenticação incluem:

Nenhum comentário:

Postar um comentário