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).

Envio para o Compugter uma lista de versões de SSL/TLS e algoritmos de criptografia com os quais posso trabalhar. Hoje em dia eu prefiro TLS 1.3, então também envio o key_share.

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).

Eu escolho TLS 1.3 e uma cipher suite e também envio meu key_share. A partir daqui, o TLS 1.3 criptografa o restante do handshake.

Logo em seguida envio meu certificado, que inclui minha chave pública, para que possam verificar quem eu sou.

Etapa três: shaka vertical. Também chamada de Key Share.

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

Como ambos já enviamos um key share, podemos derivar o mesmo segredo, garantindo a confidencialidade.

Etapa quatro: rotação horizontal do shaka. Também chamada de Finished Messages.

A partir do ServerHello (etapa dois), o handshake fica criptografado.

Eles trocam mensagens Finished para provar que derivaram o mesmo segredo — e em uma única ida e volta as chaves de sessão ficam prontas.

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