it-swarm-pt.tech

REST cabeçalhos de solicitação são criptografados por SSL?

Estou desenvolvendo um aplicativo cliente/servidor que se comunicará via descanso. Alguns dados personalizados da solicitação serão armazenados no cabeçalho da solicitação. Tanto o servidor que envia a solicitação quanto o servidor de recebimento possuem um certificado SSL - os cabeçalhos serão criptografados ou apenas o conteúdo?

41
Adam Hopkinson

O SSL criptografa todo o caminho de comunicação do cliente para o servidor e vice-versa, então sim - os cabeçalhos serão criptografados.

A propósito, se você desenvolve aplicativos em rede e se preocupa com a segurança dos dados, o mínimo que deve fazer é ler um livro como Practical Cryptography, de Niels Ferguson e Bruce Schneier, e provavelmente uma leitura mais focada na segurança de aplicativos da web seria uma boa idéia. Se eu puder fazer uma observação - e, por favor, não quero dizer isso como uma crítica pessoal - sua pergunta indica uma falta de entendimento fundamental de tecnologias muito básicas de segurança na Web, e isso nunca é um bom sinal.

Além disso, nunca é uma má idéia confirmar se os dados que se supõe serem criptografados são realmente criptografados. Você pode usar um analisador de rede para monitorar o tráfego no fio e observar se há algo sensível a ser enviado em claro. Eu usei o Wireshark para fazer isso antes - os resultados podem ser surpreendentes, às vezes.

57
Ori Pessach

Enquanto você estiver se comunicando no túnel SSL, tudo o que for enviado entre o servidor e o cliente será criptografado. A criptografia é feita antes que qualquer dado seja enviado ou recebido.

6
zigdon

Os cabeçalhos e o conteúdo são criptografados.

5
cjm

Você parece pensar que REST é um protocolo distinto.

REST não é um protocolo. É um estilo de design para aplicativos baseados em HTTP.

Então, você está escrevendo um aplicativo HTTP. Os cabeçalhos são criptografados? Sim, se você estiver usando o protocolo HTTPS (HTTP sobre SSL) em vez de HTTP simples.

Ter certificados de ambos os lados não é diretamente relevante para sua pergunta. Certificados SSL são usados ​​para autenticação. Eles ajudam na detecção de ataques intermediários, como são possíveis usando envenenamento de cache DNS.

3
ddaa

Ter um certificado não é suficiente, você precisa configurar o servidor da Web para criptografar as conexões (ou seja, para usar o certificado) para esse domínio ou Host virtual. Além disso, acho que você precisaria apenas de um único certificado, as respostas às solicitações ainda serão criptografadas.

E sim, os cabeçalhos HTTP são criptografados, assim como os dados.

2
Vinko Vrsalovic

SSL .. ou melhor, HTTPS (HTTP sobre SSL) envia todo o conteúdo HTTP por SSL e, como o conteúdo e os cabeçalhos HTTP são de fato a mesma coisa, isso significa que os cabeçalhos também são criptografados. Vendo como GET e POST são enviados via cabeçalhos HTTP, então só faz sentido, ao enviar dados com segurança, você não deseja apenas que o código ou o conteúdo da resposta seja criptografado.

0
Wesley Mason

As outras respostas estão corretas: os cabeçalhos são realmente criptografados, junto com o corpo, ao usar SSL. Mas lembre-se de que o URL, que pode incluir parâmetros de consulta, é nunca criptografado. Portanto, tenha cuidado para nunca colocar informações confidenciais nos parâmetros de consulta da URL.

Atualização: como @blowdart apontou abaixo, isso está errado. Veja o comentário abaixo.

0
Avi Flax