Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Fluxo entre certificado e requests no HTTPS

Olá a todos,

O instrutor falou por alto como funciona o fluxo de certificado > chaves > comunicação entre client e server usando o HTTPS.

Eu entendi o fluxo, mas fiquei com uma dúvida. Se o server quando acessado pelo cliente, envia o certificado (que contém entre outras coisas a chave pública), o cliente com o certificado usa a chave pública para gerar uma outra chave que é enviada ao server e usada como chave de comunicação entre os agentes... o que impede alguém de pegar este certificado fazer exatamente a mesma coisa e conseguir ver os dados em texto plano?

Não sei se eu viajei, mas fiquei pensando nisso :)

1 resposta
solução!

Olá Rafael, tudo bem?

Sua pergunta é muito pertinente e demonstra que você está realmente tentando entender a fundo como funciona a segurança no HTTPS. Vamos tentar esclarecer isso.

Quando um cliente (como um navegador) acessa um servidor via HTTPS, o servidor envia seu certificado digital, que contém a chave pública do servidor. O cliente usa essa chave pública para verificar a identidade do servidor e para iniciar uma comunicação segura.

O que impede um atacante de simplesmente pegar o certificado e fazer o mesmo processo para interceptar a comunicação é o uso de um protocolo chamado TLS (Transport Layer Security). Aqui está um resumo do que acontece:

  1. Handshake TLS: O cliente e o servidor realizam um "handshake" para estabelecer uma conexão segura. Durante esse processo, o cliente verifica o certificado do servidor com uma Autoridade Certificadora (CA) confiável. Se o certificado for válido, o cliente prossegue.

  2. Chave de Sessão: Uma vez que o certificado é verificado, o cliente gera uma chave de sessão (também chamada de chave simétrica) e a criptografa usando a chave pública do servidor. Apenas o servidor, que possui a chave privada correspondente, pode descriptografar essa chave de sessão.

  3. Comunicação Criptografada: A partir desse ponto, toda a comunicação entre o cliente e o servidor é criptografada usando essa chave de sessão. Como a chave de sessão é única para cada conexão e é conhecida apenas pelo cliente e pelo servidor, um atacante não pode interceptar e descriptografar a comunicação.

Então, mesmo que alguém consiga interceptar o certificado e a chave pública, eles não conseguiriam descriptografar a chave de sessão sem a chave privada do servidor. E sem a chave de sessão, eles não podem ler a comunicação em texto plano.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.