HyperText Transfer Protocol Secure
L'HyperText Transfer Protocol Secure (HTTPS, littéralement « protocole de transfert hypertextuel sécurisé ») est la combinaison du HTTP avec une couche de chiffrement comme SSL ou TLS.
Fonction | Transmission d'hypertexte |
---|---|
Sigle | HTTPS |
Date de création | 1994[1] |
Port | 443 |
RFC | 2000 : RFC 2818[2] |
HTTPS permet au visiteur de vérifier l'identité du site web auquel il accède, grâce à un certificat d'authentification émis par une autorité tierce, réputée fiable (et faisant généralement partie de la liste blanche des navigateurs internet). Il garantit théoriquement la confidentialité et l'intégrité des données envoyées par l'utilisateur (notamment des informations entrées dans les formulaires) et reçues du serveur. Il peut permettre de valider l'identité du visiteur, si celui-ci utilise également un certificat d'authentification client.
HTTPS était initialement surtout utilisé pour les transactions financières en ligne : commerce électronique, banque en ligne, courtage en ligne, etc. Il est aussi utilisé pour la consultation de données privées, comme les courriers électroniques, par exemple.
En 2016, une campagne de l'Electronic Frontier Foundation, soutenu par les développeurs de navigateurs Web, a aidé à rendre le protocole beaucoup plus populaire[3]. HTTPS est maintenant utilisé plus souvent par les utilisateurs Web que le HTTP non sécurisé d'origine, principalement pour protéger l'authenticité des pages sur tous les types de sites Web, comptes sécurisés, et pour garder les communications des utilisateurs, l'identité et la navigation Web privées[4].
Depuis le début des années 2010, le HTTPS s'est également généralisé sur les réseaux sociaux.
Par défaut, les serveurs HTTPS sont connectés au port TCP 443.
En , Google Chrome et Mozilla Firefox ont commencé à identifier et signaler les sites Web qui recueillent des informations sensibles sans utiliser le protocole HTTPS[5]. Ce changement a pour but d'augmenter de manière significative l'utilisation du HTTPS. En , le protocole de sécurité HTTPS était utilisé par environ 16,28 % de l'Internet français[6].
Historique
Netscape créa le HTTPS en 1994 pour son navigateur Netscape Navigator. HTTPS était initialement utilisé avec le protocole SSL, ce dernier ayant évolué vers TLS, HTTPS utilise maintenant TLS. Ceci est spécifié dans la RFC 2818 en .
Google annonça en que son navigateur afficherait les sites HTTP comme « non sécurisés » à partir du mois de [7]. Cela précipita l'adoption d'HTTPS par les sites web afin d'éviter une perte de trafic.
Principe de fonctionnement
Description informelle : Le protocole est identique au protocole web habituel HTTP, mais avec un ingrédient supplémentaire dit TLS qui fonctionne assez simplement ainsi :
- le client — par exemple le navigateur Web — contacte un serveur — par exemple Wikipédia — et demande une connexion sécurisée, en lui présentant un certain nombre de méthodes de chiffrement de la connexion (des suites cryptographiques) ;
- le serveur répond en confirmant pouvoir dialoguer de manière sécurisée et en choisissant dans cette liste une méthode de chiffrement et surtout, en produisant un certificat garantissant qu'il est bien le serveur en question et pas un serveur pirate déguisé (on parle de l'homme du milieu).
Ces certificats électroniques sont délivrés par une autorité tierce en laquelle tout le monde a confiance, un peu comme un notaire dans la vie courante, et le client a pu vérifier auprès de cette autorité que le certificat est authentique (il y a d'autres variantes, mais c'est le principe général).
Le certificat contient aussi un cadenas en quelque sorte (une clé dite publique) qui permet de prendre un message et de le mélanger avec ce cadenas pour le rendre complètement secret et uniquement déchiffrable par le serveur qui a émis ce cadenas (grâce à une clé dite privée, que seul le serveur détient, on parle de chiffrement asymétrique) ; - cela permet au client d'envoyer de manière secrète un code (une clé symétrique) qui sera mélangé à tous les échanges entre le serveur et le client de façon que tous les contenus de la communication — y compris l'adresse même du site web, l'URL — soient chiffrés. Pour cela on mélange le contenu avec le code, ce qui donne un message indéchiffrable et à l'arrivée refaire la même opération avec ce message redonne le contenu en clair, comme dans un miroir.
En bref : serveur et client se sont reconnus, ont choisi une manière de chiffrer la communication et se sont passés de manière chiffrée un code (clé de chiffrement symétrique) pour dialoguer de manière secrète.
HTTPS et piratage
La sécurité des informations transmises par le protocole HTTPS est basée sur l'utilisation d'un algorithme de chiffrement, et sur la reconnaissance de validité du certificat d'authentification du site visité.
Partant du principe que les internautes précisent rarement le type de protocole dans les URL (le protocole HTTP étant historiquement sélectionné par défaut) et se contentent de suivre des liens, un chercheur en sécurité informatique, connu sous le pseudonyme de Moxie Marlinspike, a développé une attaque du type Attaque de l'homme du milieu (« Man in the middle » en anglais), afin de contourner le chiffrement de HTTPS[8]. Le pirate se positionne entre le client et le serveur et change les liens https: en http:, ainsi le client envoie ses informations en clair via le protocole HTTP et non HTTPS[9]. Ce type d'attaque a été présenté par Marlinspike à la Blackhat Conference 2009. Durant cette conférence, Marlinspike a non seulement présenté le fonctionnement de l'attaque, mais également quelques statistiques d'utilisation. Il a réussi à récupérer plusieurs centaines d'identifiants, informations personnelles et numéros de cartes bancaires en 24 heures, aucune personne ne se doutant de l'attaque en cours[8].
Une autre attaque de type Man in the middle a pu être mise en œuvre en juillet 2011[10], par l'obtention frauduleuse de certificats valides auprès de l'ancienne autorité de certification DigiNotar, piratée. Cette attaque fut utilisée pour mettre en place de faux sites Google (certificat frauduleux pour les domaines *.google.com) et ainsi espionner la consultation de plusieurs comptes GMail d'utilisateurs iraniens.
En septembre 2011, Duong et Rizzo, deux chercheurs en sécurité informatique, ont présenté à la Ekoparty Security Conference un nouveau type d'attaque, basé cette fois sur le décryptage des paquets transmis sur le réseau. Cette attaque utilise une vulnérabilité du chiffrement Cipher Block Chaining du protocole TLS 1.0, connue de longue date. Pour exploiter cette vulnérabilité, il s'agit d'insérer dans la page consultée un code Javascript communiquant la valeur du cookie de session à un sniffer de paquets réseau, afin de l'utiliser pour décrypter le reste de la communication[11].
Seuls les sites supportant la version de chiffrement TLS 1.0 sont affectés par cette vulnérabilité ; cependant à la date de , cela concerne l'immense majorité des sites du fait de la réticence des sites et navigateurs à mettre en application les versions TLS 1.1 et 1.2[12].
HTTPS et NSA
En , plusieurs journaux révèlent, grâce aux documents fournis par Edward Snowden, que la NSA, via son programme Bullrun, cherche à casser ou affaiblir le protocole HTTPS ou ses mises en œuvre par les constructeurs de matériel et de logiciel, rendant accessible en clair aux services américains de nombreuses communications pourtant chiffrées[13].
Début 2014, une vulnérabilité visant tous les appareils Apple sous iOS 6 / 7 et Mac OS X 10.9, permettant à ceux qui ont eu le moyen de l'exploiter, de corrompre le chiffrement HTTPS (ou plus particulièrement les technologies TLS / SSL), a été corrigée par la firme[14]. Certaines rumeurs laissent entendre que cette vulnérabilité aurait été utilisée par la NSA[15], voire que c'est l'organisation gouvernementale qui a sollicité l'aide d'Apple pour créer cette faille (ce que l'entreprise dément)[16].
HSTS
HTTP Strict Transport Security (HSTS) est un mécanisme de politique de sécurité proposé, permettant à un serveur web de déclarer à un agent utilisateur (comme un navigateur web) compatible, qu'il doit interagir avec lui en utilisant une connexion sécurisée (comme HTTPS). La politique est donc communiquée à l'agent utilisateur par le serveur, via la réponse HTTP, dans le champ d'entête nommé « Strict-Transport-Security ». La politique spécifie une période de temps durant laquelle l'agent utilisateur doit accéder au serveur uniquement de façon sécurisée.
https
Le HTTPS du fait qu'il est chiffré ne permet pas à un serveur intermédiaire d'avoir une mémoire cache qui mémorise l'information. De ce fait, le navigateur ne peut pas afficher l'information sans la demander directement au serveur.
Notes et références
- « Introduction to SSL », sur Google Livre, (consulté le )
- (en) « HTTP Over TLS », Request for comments no 2818, .
- (en) « Encrypting the Web », sur Electronic Frontiers Foundation, (consulté le )
- (en) « HTTP, HTTPS, SSL Over TLS », (consulté le )
- (en-US) « Moving towards a more secure web », Google Online Security Blo, (lire en ligne, consulté le )
- « Statistiques sur l'internet français. udomo.fr », sur www.udomo.fr (consulté le )
- « A secure web is here to stay » [archive du ], sur Chromium Blog (consulté le )
- https://www.blackhat.com/presentations/bh-dc-09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf.
- https://www.orange-business.com/fr/blogs/securite/webtech/https-pwned
- Dan Goodin, « Hackers break SSL encryption used by millions of sites », sur theregister.co.uk, (consulté le ).
- « Des hackers cassent le chiffrement SSL utilisé par des millions de sites », sur journaldunet.com (consulté le ).
- Dan Goodin, « Hackers break SSL encryption used by millions of sites », sur theregister.co.uk, (consulté le ).
- Le Monde.fr, « Affaire Snowden : comment la NSA déjoue le chiffrement des communications », sur Le Monde.fr, (consulté le ).
- « Pourquoi la faille "goto fail" des OS d'Apple est très grave », Journal du net, (lire en ligne)
- Olivier, « Goto fail : après iOS, Apple bouche enfin la faille SSL sur OS X », Journal du geek, (lire en ligne)
- (en) Charles Arthur, « Apple's SSL iPhone vulnerability: how did it happen, and what next? », The Guardian, (lire en ligne)
Voir aussi
Articles connexes
Liens externes
- Portail de l’informatique
- Portail d’Internet
- Portail de la sécurité informatique
- Portail des télécommunications