web-dev-qa-db-pt.com

Os cabeçalhos de HTTPS estão criptografados?

Ao enviar dados por HTTPS, sei que o conteúdo está criptografado, mas ouço respostas confusas sobre se os cabeçalhos estão criptografados ou quanto do cabeçalho está criptografado.

Quanto dos cabeçalhos HTTPS são criptografados?

Incluindo URLs de solicitação GET/POST, cookies etc.

521
Dan Herbert

O lote inteiro é criptografado - todos os cabeçalhos. É por isso que o SSL em vhosts não funciona muito bem - você precisa de um endereço IP dedicado porque o cabeçalho do host é criptografado.

O padrão Server Name Identification (SNI) significa que o nome do host não pode ser criptografado se você estiver usando o TLS. Além disso, quer você esteja usando SNI ou não, os cabeçalhos TCP e IP nunca são criptografados. (Se eles fossem, seus pacotes não seriam roteáveis).

486
Greg

Os cabeçalhos são totalmente criptografados. A única informação que passa pela rede 'in the clear' está relacionada à configuração SSL e à troca de chaves D/H. Essa troca é cuidadosamente projetada para não gerar informações úteis para os bisbilhoteiros e, uma vez realizada, todos os dados são criptografados.

91
mdb

A versão HTTP 1.1 adicionou um método HTTP especial, o CONNECT - destinado a criar o túnel SSL, incluindo o handshake do protocolo necessário e a configuração criptográfica.
Os pedidos regulares depois disso todos são enviados envoltos no túnel SSL, cabeçalhos e corpo inclusivo.

52
AviD

Nova resposta à pergunta antiga, desculpe. Eu pensei em adicionar meus $ 0,02

O OP perguntou se os cabeçalhos estavam criptografados.

Eles são: em trânsito.

Eles não são: quando não estão em trânsito.

Assim, o URL do seu navegador (e título, em alguns casos) pode exibir a querystring (que geralmente contém os detalhes mais sensíveis) e alguns detalhes no cabeçalho; o navegador conhece algumas informações de cabeçalho (tipo de conteúdo, unicode, etc); e o histórico do navegador, o gerenciamento de senhas, os favoritos/marcadores e as páginas em cache conterão a string de consulta. Os logs do servidor no terminal remoto também podem conter querystring, bem como alguns detalhes do conteúdo.

Além disso, a URL nem sempre é segura: o domínio, o protocolo e a porta ficam visíveis. Caso contrário, os roteadores não sabem para onde enviar suas solicitações.

Além disso, se você tem um proxy HTTP, o servidor proxy conhece o endereço, geralmente eles não conhecem a querystring completa.

Então, se os dados estão se movendo, geralmente é protegido. Se não estiver em trânsito, não está criptografado.

Não para nit pick, mas os dados no final também são descriptografados e podem ser analisados, lidos, salvos, encaminhados ou descartados à vontade. Além disso, o malware pode capturar instantâneos dos dados que entram (ou saem) do protocolo SSL - como (mau) Javascript em uma página dentro do HTTPS que pode fazer chamadas http (ou https) para sites de registro (desde o acesso ao disco rígido local). é frequentemente restrito e não é útil).

Além disso, os cookies também não são criptografados no protocolo HTTPS. Os desenvolvedores que desejam armazenar dados confidenciais em cookies (ou em qualquer outro lugar) precisam usar seu próprio mecanismo de criptografia.

Quanto ao cache, a maioria dos navegadores modernos não armazena em cache páginas HTTPS, mas esse fato não é definido pelo protocolo HTTPS, é totalmente dependente do desenvolvedor de um navegador para ter certeza de não armazenar em cache as páginas recebidas por meio de HTTPS.

Então, se você está preocupado com o sniffing de pacotes, provavelmente você está bem. Mas se você estiver preocupado com malware ou com alguém pesquisando seu histórico, favoritos, cookies ou cache, você ainda não está fora da água.

51
Andrew Jennings

Com SSL, a criptografia está no nível de transporte, portanto, ocorre antes de uma solicitação ser enviada.

Então, tudo na solicitação é criptografado.

41
blowdart

HTTPS (HTTP sobre SSL) envia todo o conteúdo HTTP através de um túnel SSL, para o conteúdo HTTP e os cabeçalhos são criptografados também.

37
CMS

Sim, os cabeçalhos são criptografados. Está escrito aqui .

Tudo na mensagem HTTPS é criptografado, incluindo os cabeçalhos e a carga de solicitação/resposta.

19
keypress

o URL também é criptografado, você realmente só tem o IP, porta e, se SNI, o nome do host que não são criptografados.

6
xxiao