Les certificats SSL: pourquoi, comment ?

Article très largement inspiré (= repompé) de celui-ci : http://wiki.boum.org/Boum/CertificatSSL merci à Boum.org

Comment être sûr que les mots de passe que vous renseignez pour consulter vos mails ou phpmyadmin sont bien envoyés au serveur d’Open-web.fr et non de vilains pirates tentant de se déguiser ? C’est ce que tente d’expliquer simplement cet article.

Introduction

Lorsque vous vous identifiez sur Open-web.fr que ce soit pour lire les mails, consulter les statistiques, phpmyadmin, vous passez par une page reconnaissable à son adresse qui commence par https://. Le s est important, il signifie que les communications entre le serveur (c’est à dire la machine qui héberge les mails, les sites, les wikis…) et les utilisateurs (c’est à dire les ordinateurs qui se connectent) sont entièrement cryptées.

Mi-2008, cette sécurité a connu une fâcheuse faille qui permettait, pour faire vite, de lire les communications soit-disant cryptées. Juste pour dire que cette sécurité qui repose sur une technologie qui n’est pas infaillible. Néanmoins, il est vivement conseillé de suivre certaines procédures, pour s’assurer que les communications soient aussi dures que possible à déchiffrer.

Une des attaques classiques contre les communications cryptées est le Man In The Middle. Elle consiste à se mettre entre le serveur et l’utilisateur, et de se faire passer pour le serveur aux yeux de l’utilisateur, et réciproquement. Elle permet à l’attaquant de lire tout ce qui est échangé avec le serveur.

Une des manière de se protéger contre cette attaque (en priant pour que la technologie elle-même ne soit pas bugguée…), pour accéder aux services de Open-web.fr, est d’installer de bon certificats.

Qu’est-ce qu’un certificat ?

Un certificat permet de vérifier l’identité d’un ordinateur sur Internet, de façon à permettre des échanges « sécurisés ». C’est comme qui dirait une carte d’identité infalsifiable. Sans certificat, on ne peut jamais être sûr que l’ordinateur avec lequel on dialogue est le bon (en l’occurence ici Open-web.fr), et on court le risque d’offrir, sans le savoir, son mot de passe sur un plateau aux méchants. Les échanges numériques peuvent ainsi être interceptés, et leurs contenus espionnés.

Qu’est-ce qu’une autorité de certification ?

Un certificat est l’équivalent d’une carte d’identité. Contrairement à cette dernière, un certificat est normalement délivré par une entreprise privée, qu’on appelle autorité de certification (CA, pour Certification Authority). Open-web.fr ne voulant pas donner de sous à une autorité de certification commerciale (ça peut aller jusqu’à 2500 € par an), nous utilisons plutôt les services de CAcert, une autorité de certification plus sympa… et gratuite.

Chaque autorité de certification dispose d’un certificat racine (root certificate), sur lequel les logiciels se basent pour faire confiance aux certificats qu’elle a délivrés. Les certificats racine des autorités de certification commerciales sont intégrés dans la plupart des logiciels… mais ce n’est malheureusement pas le cas pour CAcert.

Il faut donc installer ce certificat soi-même, sur chaque nouvel ordinateur (dans un cybercafé, chez des ami-e-s, etc.). utilisé pour se connecter en crypté sur Open-web.fr, dans le logiciel utilisé (navigateur internet, client mail, etc.).

Note : De nombreux serveurs « amis » et/ou proches militants pour un internet libre et non un minitel 2.0 (boum.org, no-log.org, squat.net, etc.) utilisent l’autorité de certification CAcert. Ainsi, il suffit d’importer le root certificate de CAcert une seule fois, pour bénéficier de connexions « sécurisées » avec les serveurs susmentionnés.

Comment installer le « root certificate » ?

Il n’y a pas de méthode universelle pour installer un root certificate. Cependant, pour la plupart des navigateurs, il suffit de cliquer sur le lien suivant: installer le root certificate de cacert.org.

Pour ce qui est des logiciels de messagerie, et pour certains navigateurs, il faudra télécharger le fichier contenant le certificat de CAcert sur l’ordinateur, puis l’importer dans le logiciel.

Les choses peuvent se compliquer avec les logiciels Microsoft (Internet Explorer, Outlook…), ces logiciels n’étant pas conçus pour un usage « libre ». N’hésitez pas à consulter le wiki de CAcert : http://wiki.cacert.org/wiki/ImportRootCert

NB : si vous utilisez le logiciel de cryptage GnuPG, vous avez tout intérêt à vérifier l’intégrité du certificat précédemment téléchargé, en utilisant la signature cryptographique et les clefs GPG disponibles dans la section Root Certificate du site de CAcert.

Comment vérifier les certificats ?

Après, la question, c’est d’être sûr-e que l’on installe bien le bon certificat, et pas un certificat refilé par des méchants, placés entre l’ordinateur que l’on utilise et le serveur (soit près du serveur, soir près de l’utilisateur). D’où une certaine procédure :

  • vérifier que l’empreinte (fingerprint) des certificats correspond avec celle hébergée sur plusieurs serveurs amis :
  • vérifier cette empreinte depuis plusieurs endroits, en notant la fingerprint, c’est-à-dire le code qui représente le certificat, sur un bout de papier ou un ordinateur portable

Après, c’est possible d’avoir avec soi un petit papier avec la fingerprint du certificat, et ainsi de la regarder quand on utilise un nouvel ordinateur.

NB : on peut vérifier la fingerprint du root certificate de CAcert, et/ou la fingerprint du certificat de boum.org ; ce n’est pas exactement équivalent :

  • vérifier la fingerprint du root certificate de CAcert vous garantit, lorsque vous utilisez Open-web.fr, que c’est bien CAcert qui a délivré le certificat du serveur à qui vous « causez » ; mais si CAcert, pour X ou Y raison, a délivré un tel certificat à des méchants, ben c’est mort, les méchants peuvent mettre en place l’attaque Man In The Middle expliquée ci-dessus ; en d’autres termes, se contenter de vérifier la fingerprint du root certificate de CAcert, c’est donner beaucoup de confiance, pas forcément méritée, à CAcert et à ses procédures
  • vérifier la fingerprint du certificat de Open-web.fr évite de faire autant confiance à CAcert

Dans le doute, vérifiez les deux ;-)

Généalogie de cette documentation

Au commencement, cette page fût grandement inspirée de celle de poivron.org, qui fût elle-même largement pompée sur celle de riseup.net. Ouais, un jour, on essaiera de mettre en commun ces docs…

Tweet about this on TwitterShare on Google+0Share on Facebook0Email this to someone

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *