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.