O Cumprimento

Quando você iniciou a leitura dessa história em quadrinhos, seu navegador exibiu o cadeado verde na barra de endereços.

Como isso aconteceu?

O seu navegador se comunicou com o nosso servidor, onde essa história está hospedada, e os dois estabeleceram uma conexão segura para transmitir mensagens.

Mas, primeiro, eles tiveram que entrar em acordo sobre como deveriam se comunicar de forma segura.

Se a negociação falhar, seu navegador apresenta uma mensagem de aviso ou de erro.
Se a negociação chegar em um acordo, seu navegador fica feliz e exibe um cadeado verde na barra de endereços.

Esse processo, a negociação entre o navegador e o servidor, chama-se 'O Cumprimento'.

É muito rápido. Vamos lhe mostrar como acontece, preste atenção.

Navegador vai ser o seu software para navegar na web.
Compugtador vai ser nosso servidor.

Vamos lá pessoal!

Pronto? É assim que o cumprimento acontece, em câmera lenta.

Bate desse lado!
Bate do outro lado!
Mexe para cima!
Gira para os lados!
Prende os dedos!

Feito!

Vamos fazer de novo, mas bem rápido!

Bate desse lado, do outro, mexe para cima, gira para os lados e prende os dedos!

D-E N-O-V-O !

Pare!

Vamos ver isso, passo a passo.

Passo um: Bate desse lado! É o Olá do Cliente (Client Hello).

Eu envio uma lista das versões dos algoritmos SSL/TLS que eu posso usar para me comunicar com o Compugtador.

Uma forma chique de nomear um grupo de algoritmos para criptografia é 'Cipher Suite' (Conjunto para Codificação ou Conjunto de Cifras).

Assim você pode soar como um profissional diante dos seus amigos.

Os protocolos SSL e TLS evoluíram ao longo do tempo, vamos falar mais sobre isso em breve.

E então eu fico esperando uma resposta do Compugtador.

Passo dois: Bate do outro lado! É o Olá do Servidor (Server Hello).

De acordo com as minhas preferências, eu escolho a versão mais recente do melhor algoritmo SSL/TLS que está na lista que o Navegador me enviou.

Eu respondo com o meu certificado, que inclui a minha chave pública, assim podem verificar quem eu sou.

Passo três: Sacode para cima! É a troca de chaves do cliente (Client Key Exchange).

Eu verifico o certificado do Compugtador para ter certeza que é legítimo.

Eu gero a 'chave mestre prévia' (pre-master key) para usarmos mais tarde com intuito de gerar uma chave exclusiva.

Eu encripto a 'chave mestre prévia' (pre-master key) com a chave pública do Compugtador e então envio para ele.

Passo quatro: Gira para os lados! É Trocar Especificação do Conjunto de Codificação (Change Cipher spec).

Eu uso a minha chave privada para decriptar a 'chave mestre prévia' (pre-master key).

Até agora, toda a comunicação entre eles ocorreu de forma aberta. Eles não trocaram nenhuma mensagem segura.

Eles usaram chaves assimétricas (chaves públicas e privadas) para encriptar a 'chave mestre prévia' (pre-master key), então ninguém poderia bisbilhotar.

Agora, os dois irão gerar uma chave exclusiva compartilhada entre os dois, que será utilizada como uma chave simétrica.
E o Navegador envia um teste.
Compugtador responde.
Passo cinco: Prende os dedos! Significa que agora tudo está seguro!
Agora todas as mensagens trocadas entre o Navegador e o Compugtador estão protegidas pelo resto da sessão.

Senhas, número de cartão de crédito, tudo!

Simples assim!

Da próxima vez que você se conectar a um site de forma segura via HTTPS, cumprimente o seu navegador porque você conhece o aperto de mão secreto deles.

A seguir em Como HTTPS funciona...

HTTPS, SSL, TLS, deu TILT! Parece uma sopa de letrinhas! O que eles querem dizer? Eles são a mesma coisa?

Continue lendo