Connexion Sécurisée
Sur le web, l'accès à certaines pages peut être « sécurisé », c'est à dire
que la connexion entre votre ordinateur et le serveur est chiffrée (on dit
parfois improprement « cryptée », ou « codée »).
Il arrive que lors de l'accès à certaines de ces pages, votre navigateur vous
alerte que « cette connexion n'est pas certifiée » (le message exact varie
selon votre navigateur).
Cette page a pour but de vous présenter le fonctionnement général des connexions chiffrées pour expliquer dans quels cas ce type d'alerte a lieu, pourquoi il est important d'y réagir avec discernement, et comment contourner ces alertes de manière sûre.
Quelques questions
Comment identifier une connexion chiffrée ?
Une connexion chiffrée est une connexion à une page web dont l'URL (qui s'affiche dans la barre d'adresse en haut de la fenêtre de votre navigateur) commence par « https ». Les navigateurs internet les identifient par plusieurs méthodes: couleur différente de la barre d'adresse, petit cadenas à côté de l'URL et/ou en bas de la fenêtre, etc.
On appelle parfois ce type de connexion une « connexion SSL », « SSL » désignant le protocole de chiffrement des données (ça signifie « Secure Sockets Layer », qu'on pourrait s'aventurer à traduire approximativement par « couche de connecteurs sécurisés »). Depuis 2001, ce protocole devrait être appelé « TLS », « Transport Layer Security », c'est à dire « Sécurité de la couche Transport ».
On l'appelle aussi parfois « connexion sécurisée » car elle permet de s'assurer à la fois du fait que les données transitant sur le réseau ne pourront pas être lues par un tiers (contrairement aux connexion normales dites « en clair »; à ce sujet, voir aussi le paragraphe « Les enjeux de ces alertes de connexion non certifiée » ci-dessous), et de l'identité du serveur. Notez toutefois qu'en informatique, le terme « sécurisé » n'est jamais absolu; il faut garder à l'esprit qu'un système ou une connexion informatique n'est jamais à 100% sécurisé.
À quoi servent les certificats utilisés dans les connexions chiffrées ?
Les connexions chiffrées ont deux avantages: d'une part, on s'assure qu'un tiers ne pourra pas lire les informations transitant sur le réseau entre votre navigateur et le serveur web, et d'autre part, on s'assure que le serveur web est bien celui qu'on croit (il serait inutile de s'assurer que les informations ne peuvent être lues par personne sur réseau si elles arrivent sur le serveur web d'un inconnu).
Le rôle des certificats est de certifier l'identité du serveur web (on l'appellera donc ici un « certificat serveur »). Il fait partie intégrante de l'établissement d'une connexion chiffrée vers le serveur web.
Concrètement, ce certificat est un petit ensemble de données (quelques centaines de caractères dans un fichier) dans lequel sont conservées quelques informations, dont, en particulier, le nom du serveur web.
Les données formant le certificat ont des propriétés mathématiques permettant à votre navigateur de reconnaître leur authenticité à l'aide d'un système de certification par des « tiers de confiance « possédant des « certificats racine ». Reportez-vous à la question « Pourquoi mon navigateur m'avertit parfois d'un danger lorsque j'accède à un site en https ? » ci-dessous pour une description de ce système.
Lors de l'établissement d'une connexion sécurisée vers un serveur web, le navigateur vérifie que le serveur web est bien celui qu'il prétend être en vérifiant son certificat (qu'on appelle le « certificat serveur »).
Cette vérification s'effectue en vérifiant que les données figurant dans le certificat serveur (en particulier le nom du serveur web) ont été vérifiées par un tiers de confiance. Pour cela, le navigateur dispose dès son installation des signatures de quelques tiers de confiance (ces signatures sont appelées des « certificats racines » stockées dans ce qu'on appelle un « magasin de certificats »), et il vérifie que les données du certificat serveur ont bien été signées (et donc vérifiées) par le tiers de confiance.
Concrètement, cette vérification s'appuie sur les propriétés mathématiques du certificat serveur, qui doit avoir été en quelques sortes dérivé de la signature du tiers de confiance.
Lorsque vous accédez à une page web par une connexion chiffrée et que votre navigateur ne peut reconnaître la signature d'aucun des tiers de confiance qu'il a en magasin, il affiche alors une page vous alertant du danger que vous courez : vos données ne pourront certes pas être interceptées par un tiers lorsqu'elles transiteront par le réseau, mais elles seront délivrées à un serveur dont vous ne pouvez pas garantir l'identité du propriétaire.
Lorsqu'ils vous alertent du danger d'une connexion non certifiée (c'est à dire dont le certificat du serveur web n'est pas reconnu), les navigateurs vous proposent soit d'accéder tout de même au site web sans plus de précaution via un lien marqué « déconseillé » (comme le fait Internet Explorer), soit imposent de passer par une procédure d'acceptation du certificat serveur qui vous permet d'examiner ce certificat avant de l'accepter si vous le souhaitez jusqu'à fermeture du navigateur, ou même indéfiniment.
Dans le cas le plus simple, il suffit donc soit de suivre un lien « déconseillé » par votre navigateur, soit d'accorder sa confiance au certificat du serveur, pour pouvoir accéder à la page web en gardant à l'esprit que l'identité du serveur web n'a pu être établie, et qu'il convient donc d'être très prudent sur les informations qu'on enverra au site web, notamment lorsqu'on remplit un formulaire (il est donc vivement conseillé de saisir un identifiant et un mot de passe sur ce type de serveur).
Il existe cependant des cas de figures assez différents qui peuvent empêcher votre navigateur de reconnaître le certificat du serveur web, et la meilleure solution à adopter varie selon ces cas.
Cas des certificats dits « autosignés »
Certains serveurs web utilisent des certificats qui ne sont signés par aucun tiers de confiance, déclenchant donc systématiquemet l'alerte de votre navigateur à moins d'accorder définitivement votre confiance à ce certificat. C'est, dans ce cas, la seule solution à adopter si vous devez absolument accéder à ce site web, mais la prudence voudrait que vous ne lui communiquiez aucune information sensible, car vous n'avez aucune garantie sur l'identité du propriétaire du site (et, même si vous croyez la connaître, il est toujours possible qu'une personne malveillante ait détourné l'accès au site et récupère ainsi les informations que vous lui enverrez).
Cas des certificats signés par un tiers inconnu
D'autres serveurs web peuvent avoir fait certifier leur certificat serveur par un tiers de confiance qui a vérifié son identité et qui la garantit, mais il arrive que la signature de ce tiers de confiance (leur « certificat racine ») ne soit pas incluse dans le magasin de certificats de votre navigateur.
Ceci peut arriver pour différentes raisons (voir la question « Qui sont les tiers de confiance qui signent les certificats serveur ? »). Dans ce cas, la meilleure solution est d'envisager l'importation du certificat racine du tiers de confiance si vous décidez de lui accorder votre confiance (c'est une décision qui doit se faire en connaissance de cause puisqu'elle conditionne votre confiance dans les sites web que vous visitez et dont le certificat serveur aura été signé par ce tiers de confiance).
Si vous décidez d'importer ce certificat racine, vous devez au minimum le récupérer sur le site de cette autorité, jamais sur le même serveur web que celui qui a provoqué l'alerte de certificat non reconnu, sinon vous courez le risque que ce certificat n'ait été créé que pour vous amener à faire confiance au certificat serveur d'un site malveillant.
L'idéal est d'ailleurs de ne faire confiance qu'à des certificats racine pour lesquels vous avez eu la preuve qu'ils sont authentiques par un moyen non informatique (puisque, par définition, rien ne peut prouver informatiquement l'authenticité de ce type de certificat). Le minimum est de vérifier l'empreinte numérique du certificat que vous importez: cette empreinte est généralement publiée sur le site web du tiers de confiance, et permet de s'assurer dans une certaine mesure que le certificat auquel vous vous apprêtez à faire confiance est bien celui émis par ce tiers.
Qui sont les tiers de confiance qui signent les certificats serveur ?
Les tiers de confiance qui permettent d'authentifier les certificats serveur sont également appelés des « autorités de certification ».
Il s'agit la plupart du temps de grosses entreprises multinationales, parfois proches du milieu bancaire, qui proposent des services de signature de certificats serveurs, et d'autres services similaires, tout en garantissant généralement la sécurité des échanges effectués sur les connexions utilisant des certificats qu'ils ont signés (jusqu'à un plafond qui dépend du type de certification acheté).
Les propriétaires de site web peuvent également faire appel à des sociétés intermédiaires qui disposent d'un autre type de certificat également signé par l'autorité de certification qui permet lui aussi de signer les certificats serveurs pour qu'ils soient reconnus par les navigateurs. Les navigateurs doivent alors vérifier toute la chaine de signature des certificats.
Dans le milieu des autorités de certification, la concurrence est difficilement envisageable car, pour être utile, il faut que leur certificat racine soit inclus par défaut dans le plus grand de navigateur internet.
Cette procédure d'inclusion est longue et difficile, car les auteurs des navigateurs internet doivent avoir une entière confiance dans l'autorité de certification puisque la sécurité des données de leurs usagers en dépend.
Il existe également des solutions d'autorité de certification alternatives aux solutions commerciales, comme par exemple CAcert.org.
Qui est ce tiers de confiance CAcert.org ?
CAcert.org est une organisation communautaire à but non lucratif qui permet de signer des certificats serveur pour des personnes physiques ou morales dont l'identité est vérifiée.
CAcert.org est une autorité de certification alternatives aux solutions commerciales.
Cliss XXI utilise ses services car nous estimons que ce type de services peut être assumés tout aussi bien par une communauté que par une entité commerciale, et qu'il peut même être dangereux de laisser ce type d'infrastructure uniquement à des organisations commerciales, particulièrement à cause des tendances facilement monopolistiques de ce secteur dûes à la nécessité d'inclure les certificats racines dans le plus grand nombre de navigateurs web.
Nous vous invitons à en apprendre plus sur CAcert.org en parcourant son site web (en anglais), [http://wiki.cacert.org/ son wiki] proposant de nombreuses informations, en partie en français, ou encore la page wikipédia dédiée à CAcert (en anglais uniquement).
Comment importer les certificats racine de CACert.org ?
Si vous décidez de faire confiance aux certificats serveurs authentifiés par CAcert.org, vous pouvez vous rendre sur la page de leur site proposant les certificats racine, et importer les certificats racines « root » et « intermédiaire » dans votre navigateur.
Pour cela, cliquez sur « Root Certificate (PEM Format) », et acceptez de lui accorder votre confiance : ceci dépend de votre navigateur :
- sous Firefox, cocher simplement les case et cliquez sur le bouton « Voir ». Vérifiez que les empreintes numériques affichées sont bien celles reproduites ci-dessous (également affichées sur le site de CAcert, puis fermez cette fenêtre, puis validez l'importation en cliquant sur le bouton « OK ».
Fingerprint SHA1: 13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33
Fingerprint MD5: A6:1B:37:5E:39:0D:9C:36:54:EE:BD:20:31:46:1F:6B
- Sous Internet Explorer, cliquez sur le bouton « Ouvrir », puis « Installer le certificat » et suivez la procédure jusqu'au bout. Vérifiez que l'empreinte numérique présentée est bien celle reproduite ci-desous, puis validez l'installation du certificat en cliquant sur le bouton « Oui »
13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33
Une fois cette procédure effectuée, votre navigateur fera confiance aux certificats serveur qui ont été signés par CACert.
Les enjeux de ces alertes de connexion non certifiée
Comme on l'a évoqué dans les questions ci-dessus, votre navigateur affiche une alerte lorsqu'il n'est pas capable de reconnaitre la signature d'un tiers de confiance dans le certificat du serveur web.
Ceci implique donc que l'identité du serveur web n'est pas vérifiée, et que les données que vous pourriez être amenés à lui communiquer peuvent atterir en de mauvaises mains.
Il faut garder à l'esprit que plus qu'un simple problème technique, dans de rares cas ces alertes de connexion non certifiée peuvent cacher une véritable usurpation d'identité: certaines techniques de détournement informatique peuvent être mises en place pour vous amener à vous connecter sur un serveur web ne correspondant pas au lien sur lequel vous avez cliqué, voire parfois ne correspondant pas à l'adresse affichée dans la barre d'adresse de votre navigateur.
C'est en particulier le cas dans les techniques dites de « Hameçonnage » (ou « Phishing » en anglais) qui tentent de vous extorquer vos identifiant et mot de passe (utilisés sur un site bancaire, ou simplement pour lire vos mails) à des fins mailveillantes (détournement bancaire, ou simplement envoi de spam en utilisant votre compte, etc.).
Ces techniques sont de plus en plus utilisées, et il est important d'être conscient des quelques mesures simples de précautions qui permettent d'éviter de tomber dans ce type de piège (voir la section ci-dessous).
Le système des certificats serveurs fait partie intégrante des mesures de protections contre le détournement de vos données puisqu'ils permettent à la fois d'éviter l'interception des données lors de leur passage sur le réseau et d'identifier le propriétaire du site web auquel vous les envoyez.
Nous vous conseillons donc de ne communiquer des données sensibles uniquement via une connexion chiffrée qui aura permis l'identification du serveur web, et de traiter avec la plus grande attention les alertes de votre navigateur lorsque la connexion n'a pas pu être authentifiée.
La meilleure protection contre les tentatives de détournement des données sensibles reste la prise de conscience et la compréhension de chacun d'entre nous de ces problèmes et des solutions à notre disposition.
La bonne gestion des alertes de certificats permettra de conserver les avantages d'un web plus sûr, et nous espérons que cette page vous aura permis de comprendre le rôle important des certificats utilisés lors des connexions chiffrées dans l'identification des serveurs web auxquels vous vous connectez, ainsi que l'importance de cette identification.
Pour en savoir plus
Vous pouvez consulter les pages suivantes pour en savoir plus sur le fonctionnement des certificats
- La page Wikipédia sur les tiers de confiance;
- La page Wikipédia sur les certificats électroniques (plus large que ces informations présentées dans cette page);
- La page Wikipédia sur le protocole TLS permettant le chiffrement des connexions