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.