Notre navigation sur internet est-elle sécurisée ?

le 15/11/2017 par Maxime Vigier
Tags: SRE, Stratégie

De nos jours, le grand public est de plus en plus sensibilisé à la sécurité sur Iinternet. On ne compte plus le nombre de fois où la question de la confidentialité de nos échanges sur internet a fait les gros titres. L’événement le plus mémorable de ces dernières années reste, assurément, l’affaire Snowden, qui avait révélé au grand jour la surveillance de masse opérée par la NSA pour le compte des États-Unis.

Cependant, il serait illusoire de penser que seuls les États surveillent les échanges sur internet. Pirates, concurrents, ou simples voisins un peu curieux, en surfant sur internet on s’expose au regard de tous. Il est très simple d’intercepter (sniffer) l’ensemble des paquets transitant sur un réseau puis de les analyser pour récupérer échanges confidentiels, photos, vidéos, ou encore mots de passe et retracer ainsi toute notre activité en ligne.

Fort heureusement, le web a déjà prévu tout cela depuis longtemps et c’est tout l'intérêt du protocole HTTPS, aussi appelé “le petit cadenas” ou “le cadenas vert” dans le langage commun.

Poussés par la médiatisation des affaires de piratage et de surveillance de masse de ces dernières années, les géants du secteur ont décidé de prendre les devants et de pousser, par la même occasion, l’ensemble de l’industrie à sécuriser les échanges sur internet. Mais est-ce suffisant ? Nos échanges peuvent-ils être réellement considérés comme sécurisés aujourd’hui ?

Petit état des lieux, à l’aube de 2018, dans un secteur en plein bouleversement.

Attention

Un site n’est absolument pas sécurisé, au sens large du terme, par le seul fait d’utiliser une connexion HTTPS. Il ne s’agit que de l’un des nombreux éléments de sécurité, au même titre que l’airbag dans une voiture.

Le HTTPS quésaco ?

En 1994, quelques années après la création du web, au vu de l’augmentation et de la nature des échanges sur le web, il devient primordial de créer un protocole de communication chiffré qui empêcherait un individu mal intentionné d’intercepter et d’exploiter les données sensibles transitant sur le réseau.

C’est Netscape qui crée pour la première fois le HTTPS utilisant SSL afin de chiffrer les échanges sur internet. Celui-ci est ensuite repris par l’IETF (les papas du HTTP) en 1996 pour accoucher du protocole TLS, remplaçant du SSL, en 1999. Puis HTTP et TLS sont combinés dans la norme HTTPS, 4 ans officiellement, après les débuts du web.

Le principe

Le HTTPS repose sur un système de certificats. Ces certificats sont émis par des tiers de confiance, appelés Autorités de Certification. On peut citer parmi les plus connus Symantec, Geotrust, Comodo ou encore GlobalSign. Leur rôle est de délivrer les certificats puis de mettre en place des moyens de vérifier l’authenticité et la validité des certificats qu’ils ont fournis.

De leur côté, les navigateurs web intègrent des certificats, que l’on pourrait considérer comme “maître”, provenant des Autorités de Certification, qu’ils considèrent comme fiables (rassurez-vous la majorité des Autorités de Certification sont supportées par les navigateurs modernes, on peut cependant s’interroger sur leur processus de sélection plutôt opaque).

Lors de la connexion à un site internet en HTTPS, celui-ci va envoyer, en premier lieu, son certificat au navigateur web de l’utilisateur qui va authentifier ce certificat grâce au certificat “maître” de l'Autorité de Certification et ainsi s’assurer que ce premier a bien été fourni par ladite Autorité de Certification.

Dans un second temps, le navigateur va contacter l'Autorité de Certification concernée pour savoir si le certificat du serveur n'a pas été révoqué (invalidé) depuis qu'il a été émis.

Si ces deux étapes sont couronnées de succès, le transfert des données commence enfin et l’ensemble des transmissions entre le serveur et le navigateur seront chiffrées à leur envoi et déchiffrées lors de leur réception, dans les deux sens, grâce aux clés privées et publiques stockées sur chaque machine.

Dans le cas contraire, votre navigateur vous avertira de l'éventuel danger que représente le fait de continuer votre navigation sur ce site internet et empêchera le chargement de la page sans action de votre part.

Schéma d’une requête HTTP vs HTTPS - Source Fasterize

Le HTTPS permet donc de :

  • Vérifier que les données proviennent du serveur web connu et qu'il ne s'agit pas d'un serveur web tiers tentant d'usurper l'identité de celui-ci.
  • S’assurer que les données transmises entre le serveur web et le navigateur n'ont pas été modifiées durant le transfert (on parle d’intégrité des données).
  • Garantir que, même en cas d’interception des données transitant sur le réseau, les données soient chiffrées et donc théoriquement indéchiffrables pour qui ne posséderait pas les clés de déchiffrement.

Les différents types de certificats

Nous l’avons vu, un site internet qui souhaiterait chiffrer les échanges avec ses visiteurs, doit au préalable disposer d’un certificat émis par une Autorité de Certification. Cependant, tous les certificats ne se valent pas, leur prix peut varier de zéro à plusieurs milliers d’euros par an selon leur nature. Il existe 3 grands types de certificats :

Les certificats SSL à validation de domaine (DV)

C’est le plus simple et il est la plupart du temps gratuit. L'Autorité de Certification vérifie simplement que l'organisation en question possède le droit exclusif d'utilisation du nom de domaine pour lequel elle souhaite recevoir le certificat. Aucune information sur l'identité du demandeur ou de son organisation n’est requise.

Exemple de site sécurisé par un certificat DV

Les certificats SSL à validation de l'organisation (OV)

Il s’agit du statut intermédiaire, en complément des vérifications du certificat DV, l’Autorité de Certification soumet l’organisation à certaines vérifications, notamment sur son nom et sa localisation. Les informations vérifiées apparaissent ainsi dans le certificat. C’est par exemple le type de certificat utilisé par Google ou Amazon.

Les informations validées par un certificat OV apparaissent dans le détail de celui-ci

Les certificats SSL à validation étendue (EV)

C’est le plus sécurisé, le plus contraignant et par conséquent le plus cher. En complément des vérifications du certificat OV, les sociétés doivent répondre à des critères et des contrôles bien plus stricts. Ce type de certificat confère au site web un niveau de crédibilité supérieur, en affichant clairement le nom de la société dans la barre d’adresse verte sur le navigateur du visiteur. On le retrouve principalement sur les sites bancaires ou institutionnels.

Exemple de certificat EV

Dans tous les types de certificats, le petit cadenas sera présent pour indiquer que notre connexion vers ce site est chiffrée. Il n’y a aucune différence dans la sécurité des échanges selon le type de certificat, le niveau de chiffrement étant le même, la seule différence se situe au niveau des contrôles et de la vérification des données sur l’organisation.

Le choix du type de certificat est à la discrétion du propriétaire du site, on peut cependant regretter que les navigateurs web ne différencient pas d’un simple coup d’oeil un certificat DV d’un certificat OV alors qu’ils n’ont pas les mêmes niveaux de contrôle. Cependant, il n’est pas impossible que cette fonctionnalité apparaisse dans un futur proche.

L’évolution de son adoption

Le réveil des géants (2008-2013)

Au lancement du HTTPS, début 2000, nous sommes dans l’ère de ce que l'on appellera “la bulle internet”. De nombreuses entreprises se lancent sur internet, mais le protocole HTTPS est encore peu utilisé. Mal compris, complexe à mettre en place, coûteux en prix et en performance, il est, à l’époque, principalement réservé aux sites bancaires et aux plateformes de paiement en ligne.

C’est en 2008 (oui 10 ans déjà !) que Google permet pour la première fois de chiffrer l’ensemble de ses sessions au sein de Gmail. Deux ans et un scandale mondial d’espionnage chinois plus tard, décision est prise de l’activer par défaut pour tous. C’est le début de la démocratisation chez Google qui décide de l’implémenter au sein de tous ses services.

À titre d’exemple, Facebook lancera en 2011, une version chiffrée de sa plateforme et ne l'activera par défaut qu’en 2013.

Le HTTPS devient la norme pour la majorité des géants du web soucieux de leur image et des potentiels scandales qui pourraient ébranler la confiance des utilisateurs dans leurs services. Les décideurs, les plus avant-gardistes ou éclairés, de certaines entreprises commencent également à migrer leurs sites internet.

Le HTTPS qui était, jusqu’alors, réservé à une élite commence à prendre de plus en plus d’importance dans la communauté et s’apprête à conquérir le reste du web.

La démocratisation (2014-2017)

Nous voici début 2014, les certificats SSL sont encore chers et la façon de les obtenir souvent obscure. C’est de ce constat qu’est créé Let’s Encrypt, une Autorité de Certification qui se donne pour objectif “de chiffrer l’ensemble du web” et tout cela gratuitement, rien que ça. Fondée par l’Electronic Frontier Foundation en coopération avec l'Université du Michigan et Mozilla, elle délivre son premier certificat en septembre 2015.

C’est le début de la démocratisation, l’accès à tout un chacun, de façon simple et gratuite, à la sécurisation de son serveur web, aussi petit soit-il.

Parallèlement à cela, suite aux travaux de Google, l’IETF travaille à un nouveau protocole web, le HTTP/2, dont l’objectif est notamment d'accélérer la vitesse de transmission des données sur internet. Celui-ci voit le jour en 2015 et, même si dans son principe le protocole est conçu pour fonctionner avec des sites en HTTP, dans la pratique la mise en oeuvre qui sera effectuée par les navigateurs obligera à utiliser un certificat SSL. Un argument de plus en faveur du HTTPS.

Pendant ce temps là, on bouge beaucoup du côté de Google qui, non content de chiffrer ses services, cherche, lui aussi, à chiffrer le web dans son ensemble. Après une intense réflexion, le plan de bataille pour les années à venir est dressé. Google utilisera dans un premier temps la force de frappe de son moteur de recherche, pour inciter les webmasters à migrer vers le HTTPS leur promettant un “boost” dans leur référencement, et entretenant le flou quant à la possible mise en avant des résultats sécurisés dans ses pages de résultats.

Comme d’habitude avec Google et son moteur de recherche, on joue la carte du mystère et de l'éventuelle sanction pour faire évoluer les pratiques.

Google annonce la mise en place de son “boost SEO” en août 2014. Quelques mois plus tard, les résultats sont là, de nombreux webmasters ont commencé à migrer leur site en HTTPS, mais ce n’est pas assez au goût de Google qui décide d’activer le deuxième volet de son plan de bataille. Le navigateur Chrome, qui dispose déjà à l’époque d’une importante part de marché, se voit, lors de ses différentes mises à jour, enrichi de nouvelles fonctionnalités sur l’aspect de la sécurité.

La simple alerte dans la barre de recherche pour indiquer un certificat défectueux se combine avec une page d’alerte. Le cadenas vert des débuts évolue pour y ajouter la mention “Sécurisé”. Les couleurs sont retravaillées pour mieux faire ressortir ces informations dans un navigateur de plus en plus épuré et monochrome. Les sites non chiffrés demandant des informations sensibles telles que les mots de passe sont également désormais clairement signalés.

Cette révolution dans les navigateurs ne touche pas que Google Chrome, tous les autres navigateurs adoptent la même ligne de conduite, plus ou moins rapidement.

Il devient urgent de sauver les internautes de la surveillance de masse même s’il faut pour cela bousculer les webmasters les plus récalcitrants, en les pénalisant sur ce qui fait le plus mal :

Le trafic vers leur site et la confiance que leur accordent les visiteurs.

Où en est le web fin 2017 ?

Force est de constater que les efforts de ces dernières années ont fini par payer. Aujourd’hui, 70% des pages vues via Google Chrome en France sont en HTTPS, alors qu’elles ne représentaient “que” 52% il y a un an.

% des pages chargés en HTTPS dans Google Chrome - Source Google

Google Chrome, qui représente tout de même près de 60% des parts de marché des navigateurs toutes plateformes confondues, vient à nouveau de renforcer la sécurité pour ses utilisateurs en signalant désormais tout site internet non chiffré disposant de champs de formulaire (oui même le champ de recherche). Il ne fait aucun doute que le navigateur se dirige vers un signalement systématique de tous les sites non HTTPS dans les années à venir.

Du côté des organismes de certifications, le gratuit Let's Encrypt dépasse les 50 millions de noms de domaine sécurisés, selon PlanetHoster, en seulement 2 ans d’existence. Mais pas de quoi inquiéter les organismes payants du secteur, tant le marché est gigantesque. Avec des certificats qui peuvent coûter de plusieurs dizaines à plusieurs milliers d’euros par an et qui ne peuvent pas être achetés à vie, ils ont sans aucun doute trouvé leur “Cash cow” pour les années à venir.

Cependant, il est encore alarmant de voir certains gros sites ne pas prêter attention à la confidentialité des échanges avec leurs visiteurs. On peut par exemple citer Dailymotion ou Imdb, équivalent d’Allociné aux États-Unis et filiale d’Amazon, qui ne proposent pas encore par défaut du HTTPS. Pour des sites de cette envergure, on est en droit de se poser des questions.

Une sécurité toute relative

Nous l’avons vu, la progression de la part des sites en HTTPS est impressionnante depuis quelques années et cela ne devrait pas s'arrêter de sitôt. Bien entendu, nous ne pourrons jamais avoir un web 100% chiffré (nombreux sites à l’abandon, manque de compétence technique, résistants du HTTP), cependant d’après les projections, et même si la progression devrait connaître un ralentissement en 2018, nous devrions passer la barre des 85% de sites internet chiffrés à la fin 2018.

La deuxième bonne nouvelle c’est que nous sommes, globalement, tous utilisateurs des géants de l’internet pour communiquer et partager des informations. Les Gmail, Facebook, WhatsApp, Snapchat... sont tous passés au HTTPS depuis un bon moment. Nos échanges avec ces plateformes sont donc chiffrés, cependant les informations que nous publions ou plutôt la manière dont nous les publions n’est, elle, pas toujours “sécurisée”. On ne compte plus le nombre d’informations privées accessibles publiquement du fait d’une méconnaissance du paramétrage de la plateforme, mais il s’agit là d’un autre débat.

Autre bonne nouvelle, l’ensemble du web ne doit pas forcément être chiffré. Si le site que vous visitez ne vous propose qu’un contenu disponible publiquement et que vous n'êtes jamais amené à remplir un formulaire ou à vous identifier, il est inutile de disposer d’une connexion chiffrée. Rappelez-vous, le HTTPS ne masque pas le nom du site que vous visitez mais plutôt les informations que vous échangez avec ce dernier. Attention cependant, le HTTPS permet de s'assurer de l'intégrité des données transmises, et donc de l'information qui vous est affichée. Prenons l'exemple d'un site d'actualité comme Le Monde qui ne serait pas chiffré, ses articles pourraient être modifiés pendant leur transfert pour vous afficher un contenu erroné ou orienté politiquement, par exemple.

Un point à nuancer, également, concerne la robustesse des algorithmes de chiffrement. En effet en 2006, le gouvernement américain a réussi à imposer un nouveau standard adopté par 160 pays pour générer des nombres aléatoires utilisés en cryptographie. D’après les documents fournis par Edward Snowden, la NSA y aurait installé plusieurs portes dérobées afin de pouvoir facilement déchiffrer les échanges. Lorsque cela ne suffit pas, elle n’hésite pas à effectuer des attaques dites “brute force” afin de décrypter les clés les moins robustes. Avec la montée en puissance des machines et les ressources colossales dont peuvent disposer les États, nul doute que les futures méthodes de chiffrement devront continuer à évoluer dans les années à venir afin de gagner en complexité.

De même dans le cas extrême où, une Autorité de Certification se retrouve compromise ou contrôlée, par exemple par un État, il lui serait possible de générer des certificats valides pour n’importe quel site internet. Cela est notamment arrivé lors des manifestations dans les pays du maghreb, où les connections à GMail ou aux réseaux sociaux étaient écoutées par le pays. Pour éviter cela, il est possible d’utiliser le “pinning” de certificat, pour indiquer les seules autorités autorisées à signer le certificat d’un site à l’avenir.

Ce sujet n’est pas seulement celui du web “public”, il appartient aux DSI de toutes les entreprises, peu importe leur taille, de prêter attention à la sécurité des échanges au sein de leurs réseaux. La même attention doit être apportée à la sécurisation d’un intranet qu'à celle d’un site internet “public”.

Comme la sécurité est l’affaire de tous, la prochaine fois que vous naviguez sur les sites internet ou intranet de votre entreprise, jetez un coup d’œil pour vérifier la présence du petit cadenas dans la barre d’adresse de votre navigateur.

Qu’est ce que j’entends ? Comment ça il n’y a pas de cadenas ?! Vous êtes prévenus désormais :) .content-article h3 { margin: 1.2em 0 0.1em; }