-
Chaves Públicas e
Criptografia na Internet
-
Oi, meu nome é Mia Gil-Epner,
estou cursando Ciência da Computação na UC Berkeley e trabalho
-
para o Departamento de Defesa, onde tento manter a segurança das informações. A Internet é
-
um sistema público e aberto. Todos nós enviamos e recebemos informações em redes e conexões compartilhadas
-
Mas apesar de ser um sistema aberto, ainda trocamos muitos dados privados.
-
Coisas como números de cartões
de crédito, dados bancários, senhas
e e-mails. Então, como
-
todos esses dados privados se mantêm em sigilo? Dados de qualquer espécie são mantidos em sigilo por
-
um processo conhecido como criptografia, o embaralhamento ou alteração de mensagens para ocultar o
-
texto original. A descriptografia é o processo de desembaralhar a mensagem para torná-la legível.
-
É uma ideia simples e as pessoas
têm feito isto há séculos. Um dos primeiros métodos bastante
-
conhecidos de criptografia foram as Cifras de César, batizadas em homenagem a Júlio César, um general
-
romano que criptografava seus comandos militares para se certificar de que, se a mensagem fosse interceptada
-
pelo inimigo, eles não conseguiriam
lê-la. As Cifras de César são um Algoritmo que substitui
-
cada letra da mensagem original por uma letra algumas posições mais à
-
frente no alfabeto. Se somente o remetente e o destinatário souberem os números certos, eles serão
-
a chave. Ela permite que o leitor desbloqueie a mensagem secreta. Por exemplo, se a mensagem original
-
for 'OLÁ’, utilizando o algoritmo das Cifras de César com uma chave de 5, a mensagem criptografada
-
seria assim... Para descriptografar a mensagem, o destinatário simplesmente usa a chave para inverter
-
o processo. Mas há um grande problema com as Cifras de César: qualquer pessoa pode descobri-las
-
facilmente ou revelar a mensagem criptografada, experimentando valores possíveis, que no alfabeto que usamos
-
seriam apenas 26 letras, o que significa que você precisaria tentar no máximo 26 chaves para descriptografar
-
a mensagem. Porém, experimentar 26 chaves possíveis não é muito difícil. Seriam necessárias no máximo
-
uma ou duas horas. Então vamos dificultar esse padrão. Em vez de substituir cada letra com um intervalo
-
constante, vamos trocar cada letra com intervalos diferentes. Neste exemplo, uma chave de dez dígitos mostra em
-
quantas posições cada letra sucessiva será alterada para criptografar uma mensagem mais longa. Revelar esta
-
chave seria realmente difícil. Utilizando a criptografia digital podem haver bilhões de soluções possíveis para
-
as chaves. Obviamente, é mais do que quaisquer ser humano poderia solucionar. Levaria vários séculos.
-
Mas um computador mediano atual levaria apenas alguns segundos para experimentar todas as possibilidades.
-
Portanto, no mundo moderno, onde os hackers estão munidos de computadores em vez de lápis, como
-
é possível criptografar mensagens com tanta segurança que seja difícil demais desvendá-las? Muito difícil significa
-
que existem possibilidades demais para se computar em um período razoável. As comunicações seguras
-
da era atual são criptografadas utilizando chaves de 256 bits. Isto significa que o computador de um
-
hacker que interceptar sua mensagem precisaria tentar muitas opções possíveis... até descobrir a
-
chave e revelar a mensagem. Mesmo se você tiver 100.000 supercomputadores e cada um deles
-
for capaz de experimentar muitos bilhões de chaves por segundo, ainda assim levariam trilhões
-
de anos para cobrir todas as opções, apenas para revelar uma única mensagem protegida com criptografia
-
de 256 bits. É claro os chips de computador duplicam sua velocidade e reduzem seu tamanho a cada ano.
-
Se esse ritmo de avanço exponencial continuar, os problemas que são impossíveis hoje serão solucionáveis
-
em algumas centenas de anos e osbroca não serão mais suficientes para serem seguros. Na verdade
-
já tivemos de ampliar a capacidade das chaves padrão para acompanhar o ritmo e a velocidade dos computadores.
-
A boa notícia é que o uso de chaves mais longas não dificulta muito a criptografia das mensagens, mas
-
aumenta exponencialmente o número de tentativas necessárias para revelar uma cifra. Quando o remetente
-
e o destinatário compartilham a mesma chave para embaralhar e desembaralhar a mensagem, isto
-
se chama Criptografia Simétrica. Com a Criptografia Simétrica, como as Cifras de César, a chave precisa corresponder
-
antecipadamente entre duas pessoas, de forma privativa. Isto é ótimo para pessoas, mas a internet é aberta
-
e pública, portanto, é impossível dois computadores se “encontrarem" privativamente para acordarem
-
uma chave. Os computadores utilizam a chaves de Criptografia Assimétrica, chaves públicas que podem
-
ser utilizadas por qualquer pessoa, e uma chave privada, A Chave Pública é utilizada para criptografar dados
-
e qualquer pessoa pode utilizá-la
para criar uma mensagem secreta,
mas o segredo só pode ser
-
descriptografado por um computador com acesso à chave privada. Como isto funciona envolve uma matemática
-
que não compreendemos agora. Pense da seguinte maneira: imagine que você tem uma caixa postal pessoal,
-
em que qualquer pessoa pode depositar cartas, mas é preciso ter uma chave para abri-la. Você pode fazer várias
-
cópias da chave da caixa e enviar para os seus amigos ou até liberá-la para o público em geral. Seus
-
amigos ou um estranho podem utilizar a chave pública para acessar sua caixa postal e deixar uma
-
mensagem. Mas somente você pode abrir a caixa para retirada com a sua chave privada, e acessar todas as
-
mensagens secretas que recebeu. E você pode enviar uma mensagem segura de volta a um amigo
-
utilizando a chave pública da caixa postal deles. Desta forma, as pessoas podem trocar mensagens seguras
-
sem ter de chegar a um acordo quanto a uma chave privativa. A criptografia com chaves públicas é a base
-
de todas as mensagens seguras na internet aberta. Incluindo os Protocolos de Segurança conhecidos como
-
SSL e TLS, que protegem-os quando estamos navegando na internet. Seu computador os utiliza hoje,
-
sempre que você vir um cadeado ou as letra ‘https’ na barra de endereços do seu navegador. Isto quer dizer
-
que o seu computador está utilizando uma chave de criptografia pública para a troca de dados segura
-
com o site que você está vistiando. Como cada vez mais pessoas acessam a internet, cada vez mais dados
-
privados são transmitidos, e a necessidade de segurança desses dados será ainda mais importante.
-
E à medida que os computadores se tornem mais rápidos teremos de desenvolver novos métodos de dificultar
-
a criptografia para que os computadores não a violem. É isto que eu faço. Meu trabalho muda sempre.