A criptografia de chave pública é a espinha dorsal da segurança moderna da web. No centro deste sistema está o Secure Sockets Layer (SSL). A Netscape criou este protocolo para ajudar navegadores e servidores web a se comunicarem com segurança. Nunca foi feito para ficar sozinho para sempre.
Hoje, SSL é apenas um termo legado. O padrão real em uso é Transport Layer Security (TLS).
Você não precisa ser um programador para perceber a diferença na sua navegação diária. Está ali na barra de endereço. Procure o “s” em https.
Antes, você via http. Agora você vê https.
Geralmente há um pequeno ícone de cadeado próximo. Às vezes, está na barra de status na parte inferior da janela. Às vezes, ele flutua no campo URL. O significado é o mesmo. Seus dados são criptografados. Se você estiver fazendo login em uma conta bancária ou usando o PayPal, você deseja ver esse bloqueio. Seus detalhes de pagamento não devem estar em texto simples na transferência.
“TLS e SSL dependem fortemente de autoridades certificadoras para verificar a identidade.”
Mas como o navegador realmente sabe que o site é seguro? Não é mágica. É um aperto de mão com uma Autoridade Certificadora (CA).
Quando você solicita uma página segura, o processo é iniciado. O navegador adiciona o “s” a “http”. Em seguida, verifica três coisas específicas antes de carregar a página:
- Confiança : o certificado vem de uma parte em que o navegador confia?
- Validade : O certificado está atualmente ativo e não expirou?
- Correspondência : O certificado realmente pertence ao site que você está visitando?
Se alguma dessas verificações falhar, o navegador emitirá um aviso. Isso não permitirá que você prossiga cegamente. Este sistema é o motivo pelo qual você pode confiar que suas informações confidenciais serão transmitidas com segurança. O protocolo evoluiu, mas a tarefa principal permanece a mesma. Mantendo seus dados fora do alcance de bisbilhoteiros.
O handshake que mantém seus dados seguros
É aqui que a segurança real acontece.
O navegador pega a chave pública que você acabou de receber e a usa para criptografar uma chave simétrica gerada aleatoriamente. Bastante simples.
Mas aqui está o problema. A criptografia de chave pública é pesada. Exige grande poder de computação. Fazer isso para cada pacote de dados paralisaria seu navegador. Então, os sistemas não fazem isso.
Em vez disso, eles usam uma abordagem híbrida.
Pense nisso como um túnel seguro. A chave pública é apenas a campainha. Ele deixa passar a mensagem inicial. Uma vez lá dentro, você muda para a criptografia de chave simétrica pelo resto da conversa. É mais rápido. É mais leve. É o padrão de como dois computadores iniciam uma sessão segura.
Um computador cria a chave simétrica. Ele finaliza usando criptografia de chave pública. Ele envia para o outro lado. O outro lado desbloqueia. Agora ambos os lados têm o mesmo código secreto.
Eles se comunicam usando criptografia de chave simétrica a partir desse momento.
E aqui está a parte que a maioria dos usuários sente falta. A chave não dura.
Quando a sessão termina, a chave é destruída. É descartado. Perdido.
Se você iniciar uma nova sessão, uma nova chave simétrica será criada. Todo o processo se repete.
“Assim que a sessão terminar, cada computador descarta a chave simétrica usada para aquela sessão.”
Isso é chamado de sigilo direto. Ou pelo menos uma versão básica disso. Isso significa que mesmo que um hacker roube uma chave, ela será inútil para qualquer outra coisa. Cada sessão é isolada. Cada sessão possui seu próprio bloqueio exclusivo.
Por que isso importa?
Porque limita os danos. Se sua conexão HTTPS for interceptada, o invasor obterá apenas os dados daquela sessão. Eles não obtêm seu histórico de senha. Eles não recebem seus e-mails antigos. Eles não recebem a chave do reino.
A chave é temporária. A sessão é efêmera. A segurança é contínua.
É uma dança de criação e destruição. Nascem as chaves. Fluxos de dados. As chaves morrem.
E você nunca vê isso.














