Sécurité web : plus besoin de vérifier le « s » ? Comprendre la plus-value sécuritaire de la version 3 du protocole http

En 10 ans à peine, la version 2 du protocole http introduite en 2015, permettant de normaliser les communications sur internet, se fait déjà vielle et présente quelques insuffisances que son successeur vient combler. La version 3 du protocole star du web apporte un lot d’innovations en termes de performances et de sécurité. Mais alors, comment en tirer parti ? A qui revient la charge de le mettre en œuvre et comment cela pourrait-il se faire ? Les réponses à toutes ces questions nécessitent une bonne compréhension des particularités de http 3, sa plus-value par rapport à la version 2 ainsi que les différents mécanismes entourant sa mise en œuvre.  

HTTP 2 vs HTTP 3 et plus-value sécuritaire de QUIC

Présentation de la couche transport dans le modèle théorique OSI et TCP plus concret, source: https://fr.wikipedia.org/wiki/Couche_transport

Dans les réseaux informatiques en général et sur internet en particulier, les protocoles sont légions. Sans eux, aucun mécanisme de communication et surtout l’interopérabilité entre les terminaux et les équipements réseaux ne peuvent être possibles. C’est eux qui régissent les règles, procédures et codes de communication que nous pouvons imager en toute analogie à la communication humaine.

Alors qu’OSI est un modèle conceptuel, TCP/IP en est un beaucoup plus pratique, sur lequel d’autres peuvent s’appuyer afin d’accomplir certaines fonctions sur internet.

Fonctions des différentes couches du modèle OSI, source: https://hautrive.developpez.com/reseaux/?page=les-protocoles-reseau
Quelques protocoles intervenant sur chaque couche du modèle de référence OSI, source: https://www.fs.com/fr/blog/tcpip-vs-osi-whats-the-difference-between-the-two-models-1626.html

Comme nous pouvons le voir sur la figure ci-dessus, http est un protocole qui régit les communications sur internet. C’est lui en effet, qui permet à votre navigateur Google Chrome, Firefox ou autre de charger une page web et de vous l’afficher. Au fil du temps et au gré des limitations observées, http a évolué de version en version, chacune apportant son lot d’amélioration en termes de performances et de sécurité. C’est ainsi que nous sommes passés de la version 1 à la version 2, et à présent, la version 3 essaie de se frayer un chemin le temps d’une adoption complète de part et d’autre, entre les serveurs et les applications clientes que sont les navigateurs.

Toute la différence entre les versions 2 et 3 de http vient du fait qu’au niveau de la couche transport, la première repose sur le protocole TCP alors que la seconde s’appuiera sur un tout nouveau protocole, qui lui-même repose sur un protocole voisin à TCP : UDP.

QUIC, introduit par Google, est le nom du protocole qui a été développé sur la base de UDP, afin de permettre à la version 3 de http de combler certaines insuffisances de la version précédente. Pour une expérience utilisateur plus optimale, l’avantage de UDP par rapport à TCP est que, tout en permettant toujours d’assurer l’intégrité des données, il ne prévoit pas de contrôle des messages ce qui le rend ainsi bien plus performant.

Les applications de streaming peuvent nous permettre de nous faire une idée plus claire de ce qu’on entend par performance et d’expérience utilisateur ici. S’il fallait en effet, que les applications de streaming utilisent le protocole TCP, les temps de chargement des vidéos seraient beaucoup plus longs du fait des mécanismes de contrôle sus-évoqués, mis en place par TCP.

Toutefois, QUIC est allé bien au-delà de cette agilité, en renforçant notamment la sécurité et conférant de fait à http 3 des caractéristiques particulièrement attrayantes :

  1. Chiffrement plus complet :avec http3, le chiffrement a lieu dans la couche de transport, plutôt que dans la couche applicative, comme c’est le cas avec http2 où il est possible d’avoir une version sécurisée (https), résultant de négociations distinctes entre TCP et TLS. Ce qui fait qu’avec http3, les données une fois parvenues à la couche applicative seront toujours chiffrées et par conséquent, sécurisées. On dira donc que QUIC est chiffré par défaut, grâce à l’implémentation de QUIC Crypto, un système natif de chiffrement et de sécurisation. QUIC Crypto est similaire à TLS 1.3, qui lui permet d’envoyer au serveur toutes les requêtes de connexion et de chiffrement en une seule fois, ce qui influe également sur le temps de chargement.
  2. Temps de chargement plus rapides : avec TCP et TLS utilisés par http2, il faut 2 à 3 allers-retours avec le serveur pour établir une connexion sécurisée, avant que le navigateur ne soit en mesure d’envoyer une requête. Or, avec QUIC utilisé par http3, si des échanges ont déjà eu lieu entre le serveur et le client, il n’y a plus d’allers-retours à prévoir. Le nombre d’allers-retours étant réduit, le temps de chargement l’est aussi. De plus, le multiplexage permet de gérer plusieurs flux de données au sein d’une seule connexion et aide à éviter le problème de blocage en tête de ligne, où un flux lent pourrait en retarder d’autres dans les connexions TCP traditionnelles.
  3. Protection contre les attaques par déni de service distribué (DDoS) de type « Rapid Reset » : elles sont susceptibles de cibler et ralentir ou bloquer un serveur web, via un système de flux basé sur des crédits (flot de requêtes http sans réponse en retour). 
  4. Meilleure gestion des réseaux de qualité médiocre : particulièrement remarquable pour les smartphones qui transitent généralement entre wifi et données cellulaires. Cela est dû au fait que http3 n’est plus lié aux adresses IP attribuées sur un réseau spécifique, mais se sert d’identifiants de connexion individuels. Ainsi, le téléchargement des données peut rester constant même en cas de changement de réseau. Pour aller un peu plus loin en ce qui concerne les connexions moins stables, QUIC intègre des techniques de correction d’erreur directe, qui peuvent aider à récupérer les paquets perdus sans avoir besoin de retransmissions, réduisant ainsi l’impact de la perte de paquets sur les performances. En outre, QUIC est doté d’un contrôle de congestion adaptatif qui est plus réactifs que le contrôle de congestion de TCP, conduisant à de meilleures performances dans différents environnements réseau.
  5. Compatibilité : la rétrocompatibilité de http3 avec HTTP/2 simplifie l’adoption pour les développeurs.

Peut-on choisir d’activer délibérément http3 ?

La négociation des versions http s’effectue de manière fluide, sans qu’aucune modification de code du site web ne soit nécessaire. Tous les principaux navigateurs web ont déjà connu des mises à jour en ce sens. Ainsi, si vous utilisez des applications telles que YouTube, les services Microsoft, Amazon Web Services, Cloudfare, Facebook, LinkedIn et bien d’autres, il est fort probable que vous ailliez déjà eu à bénéficier des atouts de la version 3 du protocole http.

Loin de fermer ce sujet, on comprend dès à présent que le plus gros du boulot revient aux développeurs et/ou aux administrateurs systèmes. C’est eux le tiers côté serveur, qui devrait à présent orienter l’application cliente sur sa capacité à communiquer avec elle en se servant du protocole http3. En tant que propriétaire d’un site Web, l’activation de cette nouvelle norme pourrait améliorer ses performances et améliorer l’expérience de vos utilisateurs. Il faudrait pour ce faire, que vos serveurs et votre réseau de diffusion de contenu, puissent prendre en charge cette nouvelle version du protocole star du web.

Références :

Vous aimerez aussi...