Você está na página 1de 6

Como funciona a criptografia

por Jeff Tyson - traduzido por HowStuffWorks Brasil

Introduo O surpreendente crescimento da Internet agitou empresas e consumidores com sua promessa de mudar a maneira que vivemos e trabalhamos. Mas a maior preocupao ainda remete-se a sua segurana, especialmente quando envolve o envio de informaes sigilosas. Convenhamos, h sempre vrias informaes que no gostaramos que outras pessoas soubessem, tais como:

informaes do carto de crdito CPF correspondncia privada detalhes pessoais informaes sigilosas sobre a empresa informaes sobre a conta bancria

O comrcio eletrnico confia na capacidade de enviar informaes com segurana

A segurana de informaes provida, em computadores e na internet, por uma srie de diferentes mtodos. Um mtodo de segurana simples, mas funcional, manter informaes sigilosas somente em mdias dearmazenamento porttil, como disquetes. Mas as formas mais populares de segurana dependem dacriptografia, processo que codifica a informao 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 autenticao. Aprender tambm sobre os sistemas de chave pblica e chave simtrica, bem como os algoritmos de espalhamento. Sistemas de criptografia A criptografia no algo novo - a novidade sua aplicao em computadores. Antes da era digital, os maiores usurios da criptografia eram os governos, particularmente para finalidades militares. A existncia de mensagens codificadas foi verificada desde a poca do Imprio Romano. Mas a maior parte da criptografia utilizada hoje se baseia em computadores, simplesmente porque um cdigo baseado em seres humanos muito fcil de ser decodificado por um computador. A maioria dos sistemas de criptografia de computadores pertence a uma destas categorias:

criptografia de chave simtrica criptografia de chave pblica

Nas sees seguintes, voc aprender sobre cada um desses sistemas. Chave simtrica Na criptografia de chave simtrica, cada computador possui uma chave secreta (cdigo) que ele pode utilizar para criptografar um pacote de informaes antes que ele seja enviado pela rede a um outro computador. A chave simtrica exige que voc saiba quais computadores iro se comunicar, de forma que seja possvel instalar a chave em cada um deles. A criptografia de chave simtrica basicamente o mesmo que um cdigo secreto que cada um dos computadores precisa saber a fim de decodificar as informaes. O cdigo fornece a chave para decodificar a mensagem. Pense assim: voc cria uma mensagem codificada para enviar a um amigo, nela cada letra substituda pela letra que est duas posies abaixo no alfabeto. Assim, "A" se torna "C," e "B" se torna "D". Voc j informou ao seu amigo de confiana que o cdigo "deslocamento em 2 posies". Seu amigo recebe a mensagem e a decodifica. Qualquer outra pessoa que olhar esta mensagem ver somente um emaranhado de letras sem sentido. Chave pblica A criptografia de chave pblica utiliza a combinao de uma chave privada e uma chave pblica. A chave privada s conhecida pelo seu computador, enquanto que a chave pblica 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 pblica, fornecida pelo computador de origem, e sua prpria chave privada. Uma utilidade bem popular de criptografia de chave pblica chamada de Pretty Good Privacy (PGP - tima privacidade) e permite que voc criptografe quase qualquer coisa. Voc pode saber mais a respeito no site da PGP (em ingls).

O computador emissor criptografa o documento com uma chave simtrica e em seguida criptografa a chave simtrica com a chave pblica do computador receptor. O computador receptor usa sua chave privada para decodificar a chave simtrica e ento a usa para decodificar o documento.

Para implementar a criptografia de chave pblica em larga escala, um servidor web seguro requer uma abordagem diferente. A entram os certificados digitais. Um certificado digital basicamente um pedao de informao que diz que o servidor web considerado confivel por uma fonte independente, conhecida comoAutoridade Certificadora. A Autoridade Certificadora age como um intermedirio em quem ambos os computadores confiam. Ela confirma que cada um de fato quem diz ser e fornece, ento, as chaves pblicas de um computador ao outro.

Chave pblica: SSL Uma implementao popular da criptografia de chave-pblica o Secure Sockets Layer (SSL). Originalmente desenvolvida pela Netscape, o SSL um protocolo de segurana utilizado por navegadores de Internet e servidores web para transmitir informaes sigilosas. O SSL tornou-se parte de um protocolo geral de segurana conhecido como Transport Layer Security (TLS).

Procure pelo "s" aps o "http" no endereo sempre que estiver prestes a enviar informaes sigilosas, como o nmero do carto de crdito, em um formulrio na internet.

Em seu navegador possvel saber quando voc est utilizando um protocolo de segurana, como o TLS, de algumas maneiras diferentes. Voc perceber que o "http" na linha do endereo estar substitudo por "https", e deve aparecer um pequeno cadeado na barra de status na parte de baixo da janela do navegador.

O smbolo do cadeado avisa que voc est utilizando criptografia

A criptografia de chave pblica envolve muito processamento, portanto, a maioria dos sistemas utiliza uma combinao da chave pblica e simtrica. Quando dois computadores iniciam uma sesso segura, um computador cria uma chave simtrica e a envia ao outro usando a criptografia de chave pblica. Os dois computadores podem ento se comunicar utilizando a criptografia de chave simtrica. Uma vez que a sesso terminada, cada computador descarta a chave utilizada naquela sesso. Todas as sesses adicionais requerem que uma nova chave simtrica seja criada e que o processo seja repetido. Algoritmos de espalhamento A chave, na criptografia de chave pblica, baseada em um hash value. Esse um valor que calculado a partir de um nmero de entrada baixo utilizando um algoritmo de espalhamento. Basicamente, esse valor um sumrio dos valores de origem. O importante sobre esses hash value que se torne quase impossvel derivar o nmero original de entrada sem conhecer os dados utilizados para cri-lo.
Nmero de entrada Algoritmo de espalhamento Hash value 10.667 # input x 143 1.525.381

Voc pode observar como seria difcil determinar que o valor 1.525.381 veio da multiplicao de 10.667 por 143. Mas se voc soubesse que o multiplicador era 143, ento seria muito fcil calcular o valor 10.667. A criptografia de chave pblica na realidade muito mais complexa do que esse exemplo, mas essa a idia bsica. As chaves pblicas geralmente utilizam algoritmos complexos e hash value muito grandes para criptografia, incluindo nmeros de 40 bits ou at mesmo de 128 bits. Um nmero de 128 bits possui cerca de 2128combinaes 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 combinaes possveis. Isso seria como tentar encontrar um especfico gro de areia no Deserto do Saara. Autenticao 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, a autenticao, utilizado para verificar que as informaes so originrias de uma fonte confivel. Basicamente, se a informao for "autntica", voc sabe quem a criou e que ela no foi alterada de nenhuma forma desde que a pessoa a criou. Esses dois processos, criptografia e autenticao, funcionam juntos de maneira a criar um ambiente seguro. H diversas maneiras de autenticar uma pessoa ou uma informao em um computador:

Senha - a utilizao de um nome de usurio e de uma senha representa a maneira mais comum de autenticao. Voc digita seu nome e sua senha quando solicitado pelo computador. Ele os compara a um arquivo seguro para confirmao. Caso o nome ou a senha no sejam compatveis, voc no obtm o acesso. Cartes de acesso - esses sistemas podem variar de um simples carto com uma tira magntica, similar a um carto de crdito, aos sofisticados smart cards (cartes inteligentes) que possuem umchip de computador embutido. Assinaturas digitais - uma assinatura digital basicamente uma maneira de se assegurar que um documento eletrnico (e-mail, planilha eletrnica, arquivo de

texto) seja autntico. O Digital Signature Standard (DSS) - baseado em um tipo de mtodo de criptografia de chave pblica 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 signatrio), e uma chave pblica 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 comparao, alterado, resultando assim em uma assinatura invlida. Recentemente, formas mais sofisticadas de autenticao comearam a surgir nos computadores domsticos e de empresas. A maioria desses novos sistemas utiliza alguma forma de biometria para realizar a autenticao. A biometria utiliza informaes biolgicas para verificar a identidade. Os mtodos biomtricos de autenticao incluem:

leitura de impresso digital leitura de retina leitura facial identificao de voz

Verificando a integridade de dados Uma outra necessidade de segurana em informtica assegurar-se de que os dados no foram corrompidos durante a transmisso ou a criptografia. Existem duas maneiras mais usuais de se fazer isso: Checksum (valor de verificao) - provavelmente um dos mtodos mais antigos de se assegurar de que os dados esto corretos. O checksum fornece tambm uma forma de autenticao, j que um checksum invlido sugere que os dados foram comprometidos de alguma forma. Um checksum pode ser determinado de duas maneiras. Digamos que checksum de um pacote possui 1 byte. Um byte composto de 8 bits e cada bit pode estar em dois estados, levando a um total de 256 (28 ) combinaes possveis. Como a primeira combinao igual a zero, um byte pode ter um valor mximo de 255. se a soma dos outros bytes no pacote a ser verificado for menor ou igual a 255, ento o checksum contm aquele valor exato se a soma dos outros bytes for maior que 255, ento o checksum o restante do valor total aps ter sido dividido por 256 Vejamos um exemplo de clculo de checksum:
Byte Byte Byte Byte Byte Byte Byte Byte Total Checksum 1 2 3 4 5 6 7 8 212 232 54 135 244 15 179 80 1.151 127

1.151 / 256 = 4,496 (arredondando-se para 4) 4 x 256 = 1.024 1.151 - 1.024 = 127 Cyclic Redundancy Check (CRC) - os CRCs possuem uma concepo semelhante ao checksum, mas utilizam a diviso polinomial para determinar o valor do CRC, que geralmente de 16 ou 32 bits. A vantagem do CRC que ele muito preciso. Se um nico bit estiver incorreto, o valor do CRC estar correto. Tanto o checksum quanto o CRC so bons para prevenir erros espordicos na transmisso, mas fornecem pouca proteo a um ataque intencional aos seus dados. As tcnicas de criptografia de chaves simtricas e chaves pblicas so muito mais seguras.

Todos esses diferentes processos se combinam, oferecendo a voc as ferramentas necessrias para assegurar que as informaes que envia ou recebe pela Internet esto

seguras. Na realidade, enviar informaes por uma rede de computadores normalmente muito mais seguro do que enviar de qualquer outra maneira. Os telefones, em especial os telefones sem fio, so suscetveis a interceptao, particularmente por pessoas de mau carter com rdio escutas. A postagem via correio tradicional e outros meios fsicos freqentemente passam por vrias mos antes de chegar ao seu destino, aumentando as chances de ser corrompida. Entender a encriptao, e simplesmente certificar-se de que todas as informaes sigilosas que voc envia pela Internet esto seguras (lembre-se dos "https" e do smbolo do cadeado), pode deix-lo muito mais despreocupado.

Você também pode gostar