Aula 23 | Protocolo HTTPs

Aula 23 | Protocolo HTTPs

Protocolo HTTPs

O que é HTTPs?

HTTPs (Hyper Text Transfer Protocol Secure) é a versão segura do HTTP, que é utilizado para a transferência de dados na web.

O HTTPs utiliza criptografia SSL/TLS (Secure Sockets Layer/Transport Layer Security) para garantir que a comunicação entre o cliente e o servidor seja segura e protegida contra interceptações.

Funcionamento do HTTPs

Vamos detalhar passo a passo como uma conexão HTTPs é estabelecida e como as informações são trocadas:

  1. Client Hello:

    • O cliente (por exemplo, um navegador web) envia uma mensagem "Client Hello" para o servidor. Esta mensagem inclui uma lista de algoritmos de criptografia (ciphers) que o cliente suporta e algumas outras informações necessárias para iniciar a comunicação segura.

  2. Server Hello:

    • O servidor responde com uma mensagem "Server Hello", na qual escolhe um dos algoritmos de criptografia propostos pelo cliente. O servidor também envia seu certificado digital, que inclui a chave pública do servidor e a identidade do servidor.

  3. Troca de Chaves:

    • O cliente verifica a validade do certificado do servidor. Se o certificado for considerado válido, o cliente gera uma chave secreta aleatória e a criptografa usando a chave pública do servidor. Esta chave secreta criptografada é então enviada ao servidor.

    • O servidor utiliza sua chave privada para decriptografar a chave secreta enviada pelo cliente. Agora, tanto o cliente quanto o servidor possuem a mesma chave secreta.

  4. Estabelecimento da Sessão Segura:

    • Com a chave secreta em comum, o cliente e o servidor estabelecem uma conexão segura e criptografada. Todos os dados transmitidos após este ponto são criptografados usando essa chave secreta, garantindo a confidencialidade e a integridade dos dados.

  5. Requisição HTTP GET:

    • O cliente envia uma requisição HTTP GET criptografada, solicitando um recurso específico do servidor (por exemplo, uma página HTML).

  6. Resposta HTTP:

    • O servidor responde com uma mensagem HTTP criptografada que inclui o código de status HTTP 200 OK e o conteúdo HTML solicitado pelo cliente.

TLS (Transport Layer Security)

O TLS é o protocolo de criptografia que garante a segurança das comunicações na web. Ele substituiu o antigo SSL (Secure Sockets Layer) e é amplamente utilizado para proteger dados transmitidos entre clientes e servidores. O TLS fornece autenticação, privacidade e integridade dos dados, tornando as comunicações seguras contra ataques e interceptações.

Sugestões de Aulas

Aula 24 | Enconding (Codificação)

Ver Aula

Aula 22 | Protocolo HTTP

Ver Aula

Aula 21 | Protocolo TCP/IP

Ver Aula