Skip to main content

Protocolo HTTPS | Redes

  • Protocolo HTTPS | Redes

Como funciona o HTTPS

Eles queriam uma versão segura do HTTP. Então eles criaram o Hypertext Transfer Protocol Security (HTTPS).

Transferindo dados com segurança por meio de HTTPS

alt text

Imagine o HTTPS como HTTP em execução em um protocolo extra para manter as informações seguras.

O protocolo extra é chamado de Transport Layer Security (TLS). Pense no TLS como um mecanismo para criptografar dados enviados entre o cliente e o servidor.

O TLS cria uma conexão segura usando um processo chamado handshake TLS. Ele é usado para estabelecer uma conexão HTTPS quando um usuário visita um site.


alt text

O navegador envia uma mensagem para o servidor.

Inclui a lista de algoritmos criptográficos suportados, versões TLS e também uma string gerada aleatoriamente chamada client random.


Servidor respondendo com certificado TLS

alt text

O servidor responde com seu certificado TLS e o algoritmo criptográfico suportado. Além disso, inclui uma string gerada aleatoriamente chamada server random.

É importante confirmar a identidade do servidor para autenticidade. O navegador verifica o certificado TLS recebido com a autoridade de certificação — uma organização confiável que valida a identidade do servidor.

Mas o cliente e o servidor precisam ter a mesma chave para criptografar os dados da sessão com eficiência.


alt text

O navegador envia uma chave temporária (segredo pré-mestre) para o servidor. Ela é criptografada usando a chave pública do servidor (retirada do certificado TLS).

Somente a chave privada pode descriptografar dados que foram criptografados com a chave pública. Assim, o servidor descriptografa o segredo pré-mestre usando sua chave privada, garantindo segurança na transferência.

  • Chave pública: como um endereço de e-mail; qualquer pessoa pode enviar mensagens para ele.
  • Chave privada: como a senha da caixa de entrada; somente quem tem a senha pode ler os e-mails.

alt text

O navegador e o servidor usam o segredo pré-mestre, o server random e o client random para calcular a mesma chave de sessão.

A chave de sessão é uma chave criptográfica simétrica, que pode criptografar e descriptografar dados. Ela é válida por um período definido ou enquanto a comunicação estiver ativa.

Toda a comunicação futura é criptografada usando a chave de sessão. Isso garante que ninguém consiga ver as mensagens em trânsito pela rede pública.


Finalizando o handshake TLS

O navegador envia uma mensagem de conclusão, criptografada com a chave de sessão. O servidor responde com outra mensagem de conclusão, também criptografada.

Isso marca o fim do handshake TLS.

  • O certificado TLS cuida da autenticação.
  • O protocolo TLS cuida da criptografia.

Assim, o HTTPS garante autenticidade, confidencialidade e integridade na transferência de dados.


HTTPS x HTTP

  • O HTTP ainda é usado em redes internas e sistemas legados, onde os dados não são sensíveis. É simples e prático.
  • O HTTPS tornou-se o padrão fundamental da internet.

Benefícios:

  • Navegadores e mecanismos de pesquisa, como o Google, dão preferência a sites com HTTPS.
  • É necessário para conformidade em transferências de dados confidenciais (como financeiros).

Desafios:

  • Exige configuração e manutenção de um certificado TLS.
  • Pode ser ligeiramente mais lento que o HTTP devido à criptografia.

Porém, HTTP/2 e HTTP/3 compensam essa sobrecarga com melhor desempenho.


Conclusão: Sempre use HTTPS em sites públicos devido às vantagens de segurança e confiança.