Fala ai André, tudo bem? Vamos lá:
A minha criptografia atua apenas no Head da Request ou também atua na Resposta que o servido envia?
Quando usamos HTTPS a criptografia é realizada tanto na requisição quanto na resposta, também é feita na URL e body
da requisição.
A única coisa que não é criptografada é o domínio.
Faz sentido eu me preocupar com a segurança dessa resposta?
Com certeza, tanto o body
da requisição quanto da resposta são importantíssimos, na parte de requisição é onde enviamos as informações e na parta de resposta é o que nosso sistema conhece de informação (algo que não deveria vazar tão facilmente, podendo ser até informações sensíveis).
Se sim, como acontece essa criptografia, visto que o navegador não teria acesso a essa chave privada (comunicação assimétrica)?
Basicamente a criptografia é feita através de chaves públicas e privadas.
Quando o navegador conecta em algum servidor HTTPS em um primeiro momento é feito um handshake, ou seja, o servidor responde com o certificado dele, o navegador verifica se o certificado é válido.
Uma vez que o handshake está completo e válido, todas as requisições serão criptografadas.
O navegador gera uma chave privada randômica em tempo de execução, usa a chave pública do servidor e criptografa as informações.
Agora, somente a chave privada do servidor vai conseguir descripografá-las.
Claro que de uma simplista, na realidade o que acontece é muito mais complexo do que isso.
Espero ter ajudado.