Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Como se garante a segurança dos dados enviados pelo servidor?

Quando os dados vão do cliente para o servidor, eles são criptografados usando a chave pública e só alguém com a chave privada consegue descriptografá-los. Entendi.

Mas quando o servidor envia os dados requisitados para o cliente, ele os criptografa usando a chave privada, certo? E aí qualquer um consegue descriptografá-los usando a chave pública?

3 respostas
solução!

Oi Felipe!

Na verdade o cliente e o servidor negociam antes uma chave propria entre eles só para aquela sessão (shared key).

Mais ou menos assim:

  1. Cliente Abre conexão TLS
  2. Servidor manda Certificado e Chave pública dele
  3. Cliente gera uma key nova, criptografa com a chave publica do servidor e manda pra ele.
  4. Servidor recebe a key do cliente e abre ela com a chave privada dele
  5. Toda comunicação a partir daí usa essa shared key

Se alguém interceptar entre 3 e 4, não vai conseguir ler a chave do cliente sem a chave privada do servidor.

Aliás, aqui tem uma explicação bonitinha com desenhos :)

https://cursos.alura.com.br/course/fundamentos-http/section/2/task/8

Obrigado, Sérgio!