Quando você iniciou a leitura dessa história em quadrinhos, seu navegador exibiu o cadeado verde na barra de endereços.
Como isso aconteceu?
Mas, primeiro, eles tiveram que entrar em acordo sobre como deveriam se comunicar de forma segura.
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.
Vamos lá pessoal!
Pronto? É assim que o cumprimento acontece, em câmera lenta.
Feito!
Vamos fazer de novo, mas bem rápido!
D-E N-O-V-O !
Pare!
Vamos ver isso, passo a passo.
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.
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.
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.
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.
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.