web-dev-qa-db-fra.com

Les en-têtes HTTPS sont-ils cryptés?

Lors de l'envoi de données via HTTPS, je sais que le contenu est crypté. Cependant, j'entends des réponses mitigées quant à savoir si les en-têtes sont cryptés ou quelle quantité d'en-tête est cryptée.

Combien d'en-têtes HTTPS sont cryptés?

Y compris les URL de demande GET/POST, les cookies, etc.

538
Dan Herbert

Le tout est crypté - tous les en-têtes. C'est pourquoi SSL sur vhosts ne fonctionne pas trop bien - vous avez besoin d'une adresse IP dédiée car l'en-tête de l'hôte est crypté.

La norme SNI (Server Name Identification) signifie que le nom d’hôte peut ne pas être chiffré si vous utilisez TLS. De plus, que vous utilisiez SNI ou non, les en-têtes TCP et IP ne sont jamais chiffrés. (S'ils l'étaient, vos paquets ne seraient pas routables.)

504
Greg

Les en-têtes sont entièrement cryptés. La seule information qui passe sur le réseau "en clair" est liée à la configuration SSL et à l'échange de clé D/H. Cet échange est soigneusement conçu pour ne donner aucune information utile à des oreilles indiscrètes, et une fois qu'il a eu lieu, toutes les données sont cryptées.

94
mdb

Nouvelle réponse à une vieille question, désolé. Je pensais ajouter mon .02 $

Le PO a demandé si les en-têtes étaient cryptés.

Ils sont: en transit.

Ils ne sont PAS: lorsqu'ils ne sont pas en transit.

Ainsi, l'URL de votre navigateur (et le titre, dans certains cas) peuvent afficher la chaîne de requête (qui contient généralement les détails les plus sensibles) et certains détails dans l'en-tête; le navigateur connaît certaines informations d’en-tête (type de contenu, unicode, etc.); et l'historique du navigateur, la gestion des mots de passe, les favoris/signets et les pages en cache contiendront tous la chaîne de requête. Les journaux de serveur situés à l'extrémité distante peuvent également contenir une chaîne de requête ainsi que certains détails de contenu.

De plus, l'URL n'est pas toujours sécurisée: le domaine, le protocole et le port sont visibles, sinon les routeurs ne savent pas où envoyer vos demandes.

De plus, si vous avez un proxy HTTP, le serveur proxy connaît l'adresse, mais généralement, il ne connaît pas la chaîne de requête complète.

Donc, si les données sont en mouvement, elles sont généralement protégées. Si ce n'est pas en transit, ce n'est pas crypté.

Ne pas choisir, mais les données à la fin sont également déchiffrées et peuvent être analysées, lues, enregistrées, transférées ou supprimées à volonté. De plus, les malwares peuvent prendre des instantanés de données entrant ou sortant du protocole SSL, tels que le Javascript (mauvais) dans une page à l'intérieur de HTTPS pouvant effectuer des appels http (ou https) sur des sites Web de connexion (depuis l'accès au disque dur local). est souvent restreint et pas utile).

De plus, les cookies ne sont pas non plus cryptés sous le protocole HTTPS. Les développeurs souhaitant stocker des données sensibles dans des cookies (ou n'importe où ailleurs) doivent utiliser leur propre mécanisme de cryptage.

En ce qui concerne la mise en cache, la plupart des navigateurs modernes ne mettent pas en cache les pages HTTPS, mais ce fait n’est pas défini par le protocole HTTPS, il dépend entièrement du développeur du navigateur pour ne pas mettre en cache les pages reçues via HTTPS.

Donc, si vous craignez de renifler des paquets, vous allez probablement bien. Mais si vous craignez des programmes malveillants ou que quelqu'un fouille dans votre historique, vos favoris, vos cookies ou votre cache, vous n'êtes pas encore hors de l'eau.

53
Andrew Jennings

HTTP version 1.1 a ajouté une méthode HTTP spéciale, CONNECT - destinée à créer le tunnel SSL, y compris la négociation de protocole nécessaire et la configuration cryptographique.
Les demandes habituelles sont ensuite envoyées dans le tunnel SSL, les en-têtes et le corps inclus.

52
AviD

Avec SSL, le cryptage est au niveau du transport, il est donc effectué avant l'envoi d'une requête.

Donc, tout dans la demande est crypté.

44
blowdart

HTTPS (HTTP sur SSL) envoie tout le contenu HTTP via un tunnel SSL. Le contenu HTTP et les en-têtes sont également cryptés.

39
CMS

Oui, les en-têtes sont cryptés. C'est écrit ici .

Tout le contenu du message HTTPS est crypté, y compris les en-têtes et le chargement des demandes/réponses.

20
keypress

l'URL est également cryptée, vous n'avez en réalité que l'adresse IP, le port et si SNI, le nom d'hôte non crypté.

7
xxiao