Conteúdos

Como o HTTPS funciona - Uma breve Introdução

Introdução

A internet é um mar de ideias e conexões maravilhosas, que se interconectam quase que anarquicamente entre diversos nódulos e servidores através do mundo. O que pouca gente, realmente, sabe é como essa conexão é feita, hoje em dia, de forma segura, e confiável.

A evolução do protocolo HTTP

No protocolo HTTP, o conteúdo é transmitido sem nenhum tipo de criptografia ou segurança, o que confere um mar de oportunidades aos hackers e sniffers interessados por aí. Esse tipo de problema foi corrigido após a criação do protocolo HTTPS, adicionando uma camada de segurança à mais, que torna nossa comunicação no dia a dia mais segura, confiável e íntegra.

Porque precisamos do HTTPS ?

Basicamente por três motivos

Privacidade

A privacidade, no contexto da comunicação pela internet, significa que ninguém pode bisbilhotar os dados enviados entre as duas partes (servidor e cliente), garantindo que ninguém conseguirá decifrar o conteúdo, à não você mesmo.

Integridade

Uma das premissas básicas, que o HTTPS busca assegurar, é a integridade, garantindo que a mensagem ou que os dados não possam ser alterados/modificados por algum agente no meio do caminho, evitando ataques Man in the Middle, por exemplo.

Autenticação

Significa que existe uma espécie de selo, garantindo que a mensagem esteja realmente sendo enviada pelo site desejado. Esse tipo de certificado é expedido por uma autoridade certificadora, garantindo sua legitimidade.

Comunicação via chaves assimétricas

A comunicação utilizada pelo protocolo HTTPS é feita através de chaves assimétricas, garantindo a correta encriptação/desencriptação nas duas vias, tanto do servidor ao cliente quanto do cliente ao servidor.

A comunicação segura se estabelece através de um processo chamado The Handshake (Aperto de mão) ou SSL Handshake, os passos são:

  1. Olá do cliente - nesse primeiro passo, são enviadas as informações requeridas do cliente ao servidor, para que se estabeleça uma comunicação segura, como, por exemplo uma lista de versões SSL/TLS e algoritmos de encriptação.
  2. Olá do servidor - no segundo passo, o servidor escolherá o algoritmo de encriptação e as configurações escolhidas para que a comunicação ocorra, também será enviada a chave pública e o certificado do servidor .
  3. Envio de chave - no terceiro passo, o cliente checará se o certificado está correto e se o mesmo é legítimo, após isso será gerada uma pre-master key (pré chave), que será usada por ambos após a correta autenticação, essa chave é criptografada com a chave pública enviada pelo servidor e enviado ao mesmo.
  4. Ok do Servidor - o servidor recebe a chave e descriptografa a mesma com a sua chave privada, recebendo a pre-master key (pré chave) e compartilhando com o cliente a mesma.
  5. Finalização (tudo ok) - Agora o handshake foi finalizado e todo o processo passa a ocorrer com segurança.

Apesar de parecer um processo oneroso, é na realidade bem rápido e quase imperceptível ao usuário.

Conclusão

HTTPS é, na verdade, apenas o protocolo HTTP com encriptação, utilizando SSL/TLS para garantir o seu bom funcionamento. O conceito de navegação segura já está tão emaranhado na internet que é difícil perceber os detalhes que acontecem por baixo dos panos. Quem sabe na próxima vez que estiverem navegando por aí, percebam o qual magnifico é a evolução da tecnologia e da segurança, que proporciona um mundo cada vez mais conectado.

Então lembre-se, de preferência à sites com HTTPS e nunca envie informações sensíveis através do nosso antigo, e inseguro, amigo HTTP.

Referências