-
A Internet: Criptografia e chaves públicas
-
Olá!
O meu nome é Mia Gil-Epner,
-
estudo Informática na UC Berkeley e
trabalho para o Departamento de Defesa,
-
onde tento manter a informação segura.
-
A internet é um sistema aberto e público.
-
Todos nós enviamos e recebemos informações
através de fios e ligações partilhadas.
-
Mas apesar de ser um sistema aberto,
ainda trocamos muitos dados privados.
-
Coisas como números de cartões de crédito,
informações bancárias, senhas, e e-mails.
-
Então… como é que todas estas
coisas privadas são mantidas em segredo?
-
Dados de qualquer tipo podem ser mantidos
em segredo através de um processo chamado encriptação,
-
misturando ou alterando a mensagem
para esconder o texto original.
-
Agora, a decifragem é o processo de desencriptação
dessa mensagem para a tornar legível.
-
Esta é uma ideia simples, e as pessoas
têm vindo a fazê-lo há séculos.
-
Um dos primeiros métodos de encriptação
mais conhecidos foi a Cifra de César,
-
cujo nome é uma homenagem a Júlio César,
um general romano que encriptou
-
os seus comandos militares para garantir que
se uma mensagem fosse interceptada por inimigos,
-
eles não seriam capazes de a ler.
-
A Cifra de César é um algoritmo que substitui
cada letra da mensagem original por uma letra
-
um certo número de posições
atrás no alfabeto.
-
Se esse número só for conhecido pelo remetente
e pelo destinatário, então é chamado de "chave".
-
Isto permite ao leitor desbloquear a mensagem secreta.
. Por exemplo, se o seu original
-
Por exemplo, se a mensagem original
for "HELLO",
-
utilizando então o algoritmo da Cifra de César
com uma chave de 5, a mensagem encriptada
-
a mensagem encriptada seria esta…
-
Para decifrar a mensagem, o destinatário usaria
simplesmente a chave para inverter o processo.
-
No entanto, a Cifra de César tem um grande
defeito.
-
Qualquer pessoa pode decifrar ou
descobrir a mensagem encriptada,
-
ao tentar com todas as chaves possíveis,
-
e, no alfabeto latino,
existem apenas 26 letras
-
o que significa que seriam precisas só
26 tentativas para desencriptar a mensagem.
-
Experimentar 26 chaves não seria muito difícil.
Levaria, no máximo, uma hora ou duas.
-
Então, vamos tornar isto mais difícil.
-
Em vez de alterar cada letra no mesmo número,
vamos mudar cada letra num número diferente.
-
Neste exemplo, uma chave de dez dígitos mostra quantas
posições de cada letra sucessiva será alterada
-
para encriptar uma mensagem mais longa.
-
Adivinhar isto seria realmente difícil.
-
Utilizando a encriptação de 10 dígitos,
existiriam 10 mil milhões de chaves possíveis.
-
Obviamente, isto é muito mais do que qualquer humano
poderia resolver — levaria muitos séculos.
-
Mas, hoje, um computador mediano
demoraria apenas alguns segundos
-
a experimentar todas as
10 mil milhões de chaves possíveis.
-
Num mundo moderno em que os maus da fita estão
armados com computadores em vez de com lápis,
-
como podemos encriptar as mensagens de forma
tão segura que as torne demasiado difíceis de decifrar?
-
Demasiado difícil, neste caso, significa
que existem demasiadas possibilidades
-
a considerar num
período razoável de tempo.
-
Hoje, as comunicações são encriptadas
usando chaves de 256 bits.
-
Isso significa que o computador
de um mau da fita,
-
que intercepte a tua mensagem,
teria de tentar muitas destas opções possíveis...
-
até descobrir a chave
e decifrar a mensagem.
-
Mesmo que tivesses 100.000 super computadores
e cada um deles conseguisse testar
-
um milhão de biliões de chaves a cada segundo,
seriam necessários triliões de triliões de anos
-
para testar todas as opções, apenas para decifrar
uma única mensagem protegida com encriptação de 256 bit.
-
É claro que os chips de computador têm o
dobro da velocidade e metade do tamanho a cada ano.
-
Se o progresso continuar a este ritmo exponencial,
os problemas impossíveis de hoje serão resolvidos
-
em poucas centenas de anos no futuro,
e 256 bits não serão suficientes para dar segurança.
-
Na verdade, já tivemos de aumentar o tamanho padrão
da chave para acompanhar a velocidade dos computadores.
-
A boa notícia é que usar uma chave mais longa não
torna a encriptação de mensagens muito mais difícil,
-
mas aumenta exponencialmente o número de
palpites necessários para decifrar uma cifra.
-
Quando remetente e destinatário partilham a mesma
chave para codificar e descodificar uma mensagem,
-
chamamos a isso "encriptação simétrica".
-
Com a Encriptação Simétrica, como a da Cifra de César,
a chave secreta tem de ser previamente acordada
-
por duas pessoas em privado.
-
Isso é óptimo para as pessoas,
mas a Internet é aberta e pública,
-
pelo que é impossível dois computadores "encontrarem-se"
em privado para fixarem uma chave secreta.
-
Em vez disso, os computadores usam
chaves de encriptação assimétrica,
-
uma chave pública que pode ser trocada com
toda a gente, e uma privada, não partilhada.
-
A chave pública é utilizada para encriptar dados,
sendo que qualquer pessoa pode usá-la
-
para criar uma mensagem secreta.
-
Mas o segredo só pode ser decifrado por
um computador com acesso à chave privada.
-
Isto funciona com alguma matemática,
que não vamos explorar agora.
-
Pensa nisto: imagina que tens
uma caixa de correio pessoal,
-
onde qualquer um pode deixar correio,
mas precisa de uma chave para o fazer.
-
Podes fazer várias cópias da chave
de depósito, enviando uma ao teu amigo
-
ou até partilhá-la num local público.
-
O teu amigo, ou um estranho, pode usar a chave
para aceder à tua caixa de depósito e deixar uma mensagem
-
mas só tu podes abrir a caixa, com a tua chave privada,
tirar todas as mensagens secretas que recebeste.
-
E tu podes enviar uma mensagem secreta ao teu amigo,
usando a chave pública para a depositar na caixa dele.
-
Desta forma, as pessoas podem trocar mensagens
seguras, sem precisarem de acordar numa chave privada.
-
A criptografia de 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 nos protegem quando
estamos a navegar na web.
-
O teu computador usa-os, hoje em dia.
-
Sempre que vires um pequeno cadeado ou as
letras 'https' na barra de endereços do teu navegador,
-
isso significa que o teu computador
está a utilizar a encriptação de chave pública
-
para trocar dados de forma segura
com a página web que estás a visitar.
-
À medida que mais e mais pessoas entram na internet,
mais e mais dados privados serão transmitidos,
-
e a necessidade de manter esses dados
seguros será ainda mais importante.
-
E, à medida que os computadores se tornam mais rápidos
teremos que desenvolver novas formas de encriptação
-
demasiado difíceis de decifrar pelos computadores.
-
Isto é o que faço no meu trabalho,
e as coisas estão sempre a mudar.