Surveillance
Self-Defense

Les notions essentielles du chiffrement

Dernière révision : 
26-11-2018
Cette page a été traduite de l’anglais. La version anglaise peut contenir des informations plus récentes.

Dans certaines circonstances, le chiffrement peut être relativement automatique et simple. Mais des embûches peuvent parfois survenir avec le chiffrement. Plus vous le comprendrez, plus vous serez à l’abri de telles situations. Nous vous recommandons de lire le guide « Que devrais-je savoir au sujet du chiffrement ? » en premier si ce n’est pas déjà fait.

Dans ce guide, nous examinerons cinq idées principales. Elles présentent des concepts importants pour comprendre le chiffrement en transit :

  • Un chiffre, une clé
  • Le chiffrement symétrique et asymétrique
  • Les clés privées et publiques
  • La vérification de l’identité pour les personnes (empreintes de clés publiques)
  • La vérification de l’identité pour les sites Web (certificats de sécurité)
 

Un chiffre, une clé Anchor link

Vous avez probablement déjà vu quelque chose qui était incompréhensible pour vous de prime abord. Cela ressemblait peut-être à une autre langue ou à du charabia. Il existait une sorte de barrière qui vous empêchait de le lire et de le comprendre. Cela ne veut pas nécessairement dire que c’est chiffré.

Quelle est la différence entre quelque chose qui est incompréhensible et quelque chose qui est chiffré ?

Le chiffrement est un processus mathématique qui est utilisé pour chiffrer une information afin qu’elle ne puisse être déchiffrée qu’avec une connaissance particulière.

Un chiffre est un ensemble de règles (un algorithme) pour chiffrer et déchiffrer. Ce sont des étapes bien définies qui peuvent être suivies comme une formule.

Une clé est un élément d’information qui indique au chiffre la façon de chiffrer et de déchiffrer. Les clés sont un des concepts les plus importants pour comprendre le chiffrement.

 

Une ou plusieurs clés ? Anchor link

Dans le chiffrement symétrique, il n’y a qu’une seule clé pour chiffrer et déchiffrer l’information.

Les anciennes sortes de chiffrement étaient symétriques. Pour le « chiffre de César » utilisé par Jules César, la clé pour chiffrer et déchiffrer un message était un décalage de trois. Par exemple, « A » serait « D ». Le message « LE CHIFFREMENT C’EST BIEN » serait chiffré en « OHFKL IIUHP HQWFH VWELH Q » en utilisant une clé de trois. La même clé serait utilisée pour le déchiffrer et obtenir le message original.

Le chiffrement symétrique est encore utilisé à notre époque. On le trouve souvent sous la forme de « chiffres continus » et de « chiffres en blocs » qui reposent sur des procédés mathématiques complexes pour rendre leur chiffrement difficile à pénétrer. De nos jours, le chiffrement comprend plusieurs étapes de brouillage des données pour rendre le contenu original difficile à découvrir sans la clé valide. Les algorithmes de chiffrement symétrique modernes tels que l’algorithme de la norme de chiffrement évolué (Advanced Encryption Standard [AES]) sont robustes et rapides. Le chiffrement symétrique est largement utilisé par les ordinateurs pour diverses tâches : chiffrement de fichiers, chiffrement de partitions sur un ordinateur, chiffrement intégral d’appareils et d’ordinateurs grâce au chiffrement du disque entier, et chiffrement de base de données telles que celles de gestionnaires de mot de passe. Pour déchiffrer ces informations chiffrées symétriquement, un mot de passe vous sera souvent demandé. C’est pourquoi nous recommandons d’utiliser des mots de passe robustes et que nous offrons des tutoriels sur la création de mots de passe robustes pour protéger ces informations chiffrées.

Il peut être particulièrement intéressant de n’avoir qu’une seule clé si vous êtes la seule personne qui doit accéder à ces informations. Mais n’avoir qu’une seule clé pose un problème : que faire si vous souhaitez partager avec un ami lointain des informations chiffrées ? Que faire si vous ne pouviez pas rencontrer votre ami en personne pour partager la clé privée ? Comment pourriez-vous partager la clé avec votre ami par une connexion Internet ouverte ?

Le chiffrement asymétrique, aussi appelé chiffrement par clé publique, règle ces problèmes. Le chiffrement asymétrique implique deux clés : une clé privée (pour le déchiffrement) et une clé publique (pour le chiffrement).

Chiffrement symétrique

Chiffrement asymétrique

  • Rapide
  • Lent
  • Exige peu de puissance de traitement
  • Exige beaucoup de puissance de traitement
  • Utile pour chiffrer des messages courts et longs
  • Utile pour chiffrer des messages courts
  • Exige de partager la clé pour le chiffrement et le déchiffrement
  • La clé de déchiffrement n’a pas à être partagée, seule la « clé publique » est partagée pour le chiffrement
  • Ne peut pas être utilisé pour vérifier des identités (authentification)
  • Peut être utilisé pour vérifier des identités (authentification)

Le chiffrement symétrique et le chiffrement asymétrique sont souvent utilisés de concert pour chiffrer des données en transit.

 

Le chiffrement asymétrique : des clés privées et publiques Anchor link

Les clés privées et publiques viennent par paires appariées, car la clé privée et la clé publique sont reliées entre elles mathématiquement. Pensez à une pierre divisée en deux. Tenues ensemble, les deux moitiés forment le tout. Aucune autre moitié de pierre ne fera l’affaire. Il en est de même pour les fichiers de la clé publique et de la clé privée. Ils sont en fin de compte composés de représentation de très grands nombres assimilables par des ordinateurs.

 

Bien qu’elle soit appelée « clé publique », se représenter la clé publique comme une clé réelle pour ouvrir des choses peut porter à confusion. Telle n’est pas vraiment sa fonction. Pour des renseignements approfondis sur les clés publiques et privées, consultez la présentation approfondie du chiffrement de bout en bout d’ACS.

Une clé publique est un fichier que vous pouvez donner à n’importe qui ou publier publiquement. Si quelqu’un veut vous envoyer un message chiffré de bout en bout, cette personne aura besoin de votre clé publique pour le faire.

Votre clé privée vous permet de déchiffrer ce message chiffré. Dans la mesure où votre clé privée vous permet de lire des messages chiffrés, il devient très important de la protéger. De plus, votre clé privée peut être utilisée pour signer des documents afin que les autres puissent confirmer qu’ils proviennent bien de vous.

Comment votre clé privée est en fait un fichier sur un appareil qui a besoin de protection, nous vous encourageons à protéger par mot de passe l’appareil où la clé privée est stockée et à le chiffrer. Dans Autodéfense contre la surveillance, nous offrons des guides sur les mots de passe robustes et le chiffrement des appareils.

Clé publique

Clé privée

  • Un fichier qui peut être largement partagé (peut être partagé facilement par Internet)
  • Un fichier qui doit être conservé en lieu sûr et protégé
  • L’expéditeur a besoin de la clé publique pour chiffrer les informations pour le destinataire
  • Utilisée pour déchiffrer les messages chiffrés destinés à la clé publique correspondante
  • Représentée par une « empreinte de clé publique » qui est utilisée pour vérifier les identités (authentification)
  • Utilisée pour les signatures numériques. Elle offre une manière de vérifier l’identité d’un expéditeur (authentification)
  • Peut être publiée facultativement dans des bases de données permanentes et accessibles publiquement telles que les « serveurs de clés » (les serveurs de clés sont essentiels pour les courriels chiffrés avec PGP)
 

À certains égards, vous pouvez comparer l’envoi d’informations en transit à l’envoi d’une carte postale. Dans l’illustration de carte postale située à gauche (ci-dessous), un expéditeur écrit : « Salut ! :-) » L’expéditeur l’adresse au destinataire du message. Ce message n’est pas chiffré et toute personne qui acheminera le message pourra le lire.

Sur la droite se trouve la même carte postale, avec le message chiffré entre l’expéditeur et le destinataire. Le message communique encore « Salut ! :-) », mais il ressemble maintenant à un bloc de charabia chiffré aux yeux des autres.

Comment cela fonctionne-t-il ? L’expéditeur a trouvé la clé publique du destinataire. L’expéditeur adresse le message à la clé publique du destinataire, ce qui chiffre le message. L’expéditeur a aussi inclus sa signature pour prouver que le message chiffré provient bien de lui.

Remarquez que les métadonnées (qui expédie et qui reçoit le message), ainsi que des renseignements supplémentaires comme l’heure d’envoi et de réception, sa route, etc., sont encore visibles. Nous pouvons voir que l’expéditeur et le destinataire utilise le chiffrement, nous pouvons déterminer qu’ils communiquent, mais nous ne pouvons pas lire le contenu de leur message.

 

Pour qui chiffrez vous ? La personne est-elle vraiment celle qu’elle prétend être ? Anchor link

Maintenant, vous pourriez vous demander : « Je comprends que ma clé publique permet à quelqu’un de m’envoyer un message chiffré et que ma clé privée me permet de lire ce message chiffré. Que se passerait-il si quelqu’un se faisait passer pour moi ? Et si cette personne créait une nouvelle clé publique et une nouvelle clé privée et usurpait mon identité ? »

C’est là que le chiffrement par clé publique est particulièrement utile : il vous permet de vérifier votre identité et celle de votre destinataire. Examinons de plus près les atouts de la clé publique.

 

En plus de vous permettre de lire des messages chiffrés qui sont envoyés à votre clé publique, votre clé privée vous permet de poser des signatures numériques infalsifiables sur les messages que vous envoyez aux autres, comme pour dire « Oui, c’est bien moi qui ai rédigé ceci ».

Votre destinataire verra votre signature numérique avec votre message et pourra la comparer aux renseignements provenant de votre clé publique.

Examinons comment cela fonctionne concrètement.

 

La vérification de l’identité pour les personnes : les empreintes de clés publiques Anchor link

Quand nous envoyons n’importe quelle sorte de message, nous nous fions à la bonne foi des personnes qui participent. C’est comme dans la réalité : par exemple, nous ne nous attendons pas à ce que la personne qui livre le courrier en regarde le contenu. Nous ne nous attendons pas à ce que quelqu’un intercepte la lettre qu’un ami nous envoie, l’ouvre et la modifie pour nous l’envoyer ensuite comme si rien n’avait été changé. Mais le risque que cela puisse arriver existe.

Les messages chiffrés sont exposés au même risque d’être modifiés. Cependant, la cryptographie par clé publique nous offre une manière de revérifier si les informations ont été altérées en comparant l’identité numérique de quelqu’un à son identité réelle.

La clé publique est un très grand bloc de texte dans un fichier. Elle est aussi représentée sous la forme d’un résumé interprétable par l’utilisateur, appelé empreinte de clé.

Le mot « empreinte » couvre bien des acceptions différentes dans le domaine de la sécurité informatique.

Une de ces acceptions est l’« empreinte de clé », une chaîne de caractères, par exemple « 65834 02604 86283 29728 37069 98932 73120 14774 81777 73663 16574 23234 », qui devrait vous permettre de vérifier de façon unique et sûre que quelqu’un, sur Internet, utilise la bonne clé privée.

Dans certaines applis, cette information peut être représentée sous la forme d’un code QR que vous et votre ami balayez de vos appareils respectifs.

Vous pouvez revérifier que l’identité numérique de quelqu’un correspond à l’identité prétendue de la personne grâce à une « vérification d’empreinte ».

Il est préférable d’effectuer une vérification d’empreintes lors d’une rencontre physique. S’il vous est possible de rencontrer votre ami en personne, ayez l’empreinte de votre clé publique avec vous et laissez votre ami revérifier que chaque caractère de l’empreinte de votre clé publique correspond à l’empreinte de clé publique qu’il a pour vous. Vérifier une longue chaîne de caractères telle que « 342e 2309 bd20 0912 ff10 6c63 2192 1928 » est fastidieux, mais cela en vaut la peine. S’il vous est impossible de vous rencontrer en personne, vous pouvez transmettre votre empreinte par une autre voie de communication sûre. Cela peut être un autre système de messagerie ou un dialogue en ligne, tous deux chiffrés de bout en bout, ou en la publiant sur un site HTTPS.

La vérification de l’empreinte de clé de quelqu’un vous donne davantage de certitude quant à son identité réelle. Mais ce n’est pas la solution parfaite. Si les clés privées sont copiées ou volées (disons qu’un programme malveillant se trouve sur votre appareil ou que quelqu’un a accédé physiquement à votre appareil et a copié le fichier), quelqu’un d’autre pourrait utiliser la même empreinte. Pour cette raison, si une clé privée est volée, il vous faudra générer une nouvelle biclé publique et privée, et donnez ensuite votre nouvelle empreinte de clé publique à vos amis.

 

Résumé : Les atouts du chiffrement par clé publique Anchor link

En règle générale, l’utilisation du chiffrement par clé publique peut apporter aux utilisateurs :

Confidentialité : un message chiffré par cryptographie par clé publique permet à l’expéditeur de créer un message secret afin que seul le destinataire prévu puisse le lire.

Authenticité : le destinataire d’un message signé par cryptographie par clé publique peut vérifier que le message a bien été rédigé par l’expéditeur s’il possède la clé publique de l’expéditeur.

Intégrité : Un message signé ou chiffré par cryptographie par clé publique ne peut en général pas être altéré. S’il l’était, le message ne serait pas déchiffré ou sa vérification échouerait. Cela signifie que même la perturbation involontaire d’un message (p. ex. en raison d’un problème réseau temporaire) sera détectable.

La vérification de l’identité pour les sites Web et les services : les certificats de sécurité

Vous pourriez vous demander : « Je peux vérifier les empreintes de clés publiques, mais quel est l’équivalent pour le Web ? Comment puis-je vérifier que j’utilise un service qui est vraiment le service qu’il prétend être ? Comment puis-je être certain que personne n’interfère avec ma connexion au service ? »

Quelqu’un qui utilise le chiffrement de bout en bout partage largement sa clé publique afin qu’autrui puisse vérifier qu’il est bien la personne qu’il prétend être. De même, si le chiffrement de la couche de transport est utilisé, votre ordinateur effectue une vérification pour confirmer si la clé publique d’un service est celle qu’elle prétend être, et qu’elle chiffre pour le service prévu. C’est ce qu’on appelle un certificat de sécurité.

Ci-dessous se trouve un exemple du certificat de sécurité pour ACS (ssd.eff.org), affiché dans un navigateur Web générique. On peut généralement accéder à ces renseignements en cliquant sur le verrou HTTPS dans votre navigateur Web et en affichant les renseignements détaillés du certificat.

Someone using end-to-end encryption shares their public key widely so others can verify that they are who they say they are. Similarly, when using transport-layer encryption, your computer automatically checks to confirm whether a public key for a service is who it really says it is, and that it is encrypting to the intended service: this is called a security certificate.

Below, you can see an example of the security certificate for SSD from a generic Web browser. This information is often accessible by clicking the HTTPS lock in your Web browser and pulling up the certificate details.

Le navigateur Web de votre ordinateur peut établir des connexions chiffrées vers des sites qui utilisent HTTPS. Les sites Web utilisent souvent des certificats de sécurité pour prouver à votre navigateur que vous avez une connexion sûre vers un site authentique, et non vers quelque système qui manipule frauduleusement votre connexion. Les navigateurs Web examinent les certificats pour vérifier les clés publiques des noms de domaine (tels que www.google.com, www.amazon.com ou ssd.eff.org). Les certificats sont un moyen de tenter de déterminer si vous connaissez la bonne clé publique pour une personne ou un site Web, afin de communiquer avec eux en toute sécurité. Mais comment votre ordinateur connaît-il la bonne clé publique des sites que vous visitez ?

Les navigateurs et les systèmes d’exploitation modernes incluent une liste d’autorités de certification de confiance (AC). Les clés publiques de ces AC sont intégrées quand vous téléchargez le navigateur ou achetez un ordinateur. Les autorités de certification signent les clés publiques de sites Web après avoir vérifié qu’ils exploitent un domaine (tel que www.exemple.com) en toute légitimité. Quand votre navigateur visite un site HTTPS, il vérifie que le certificat retourné par le site a bien été signé par une AC en laquelle il a confiance. Cela signifie qu’un tiers de confiance a vérifié que le site est effectivement ce qu’il prétend être.

Le seul fait que le certificat de sécurité d’un site a bien été signé par une autorité de certification ne signifie pas nécessairement que le site est sûr. Il y a des limites à ce qu’une AC peut vérifier ; elle ne peut pas vérifier qu’un site Web est honnête et digne de confiance. Par exemple, un site Web pourrait être sécurisé en utilisant HTTPS, mais quand même héberger des fraudes et des programmes malveillants. Soyez vigilant et apprenez-en davantage en lisant notre guide sur les programmes malveillants et l’hameçonnage.

De temps en temps, vous verrez sur le Web des messages d’erreur concernant les certificats. Le plus couramment, ils sont causés par le réseau d’un hôtel ou d’un café qui essaie d’intercepter votre connexion à un site Web afin de vous rediriger vers son portail de connexion avant d’accéder au Web. Il peut aussi s’agir d’une erreur administrative dans le système de certificats. Mais occasionnellement, cela peut-être causé par un pirate, un voleur, la police ou un service de renseignements qui pénètre la connexion chiffrée. Malheureusement, il est extrêmement difficile de différencier ces différents cas.

Cela signifie que vous ne devriez pas ignorer un avertissement de certificat s’il est relatif à un site où vous détenez un compte ou si vous lisez des informations de nature délicate.

Combiner le tout : les clés symétriques, les clés asymétriques et les empreintes de clés publiques.

L’exemple d’établissements de liaison qui utilisent la sécurité de la couche de transport

Quand le chiffrement de la couche de transport est utilisé, le navigateur de votre ordinateur et l’ordinateur du site Web que vous visitez utilisent tous les deux à la fois des algorithmes symétriques et asymétriques.

Examinons un exemple concret de combinaison de ces idées : qu’arrive-t-il quand vous vous connectez à ce site Web HTTPS (https://ssd.eff.org/) ?

Si un site Web utilise HTTPS, un ensemble d’interactions rapides a lieu entre votre navigateur et le serveur du site Web, ce que l’on appelle l’« établissement d’une liaison ». Votre navigateur, Chrome de Google, Firefox de Mozilla, le Navigateur Tor, etc. parle au serveur (un ordinateur) qui héberge notre site Web https://ssd.eff.org.

Lors de l’établissement de la liaison, le navigateur et le serveur s’échangent d’abord des informations qui leur permettent de savoir s’ils ont des préférences communes quant aux algorithmes de chiffrement (aussi appelés « suites de chiffres »). Vous pouvez vous imaginer que votre navigateur et notre serveur ssd.eff.org conversent brièvement : ils s’interrogent mutuellement sur les méthodes de chiffrement qu’ils connaissent et devraient utiliser pour communiquer, mais aussi sur les méthodes de chiffrement qu’ils préfèrent. (« Savons-nous tous les deux utiliser un algorithme asymétrique tel que RSA, combiné à un algorithme symétrique tel qu’AES ? Oui, très bien. Si nous ne pouvons pas utiliser cette combinaison d’algorithmes de chiffrement, quels autres algorithmes de chiffrement connaissons-nous tous les deux »).

Votre navigateur utilise ensuite un chiffrement asymétrique : il envoie un certificat de clé publique à ssd.eff.org pour prouver que vous êtes la personne que vous prétendez être. Le serveur du site compare ce certificat de clé publique à votre clé publique, afin de prévenir l’interception de votre connexion par un ordinateur malveillant.

Une fois que votre identité est confirmée, le serveur du site utilise un chiffrement symétrique : il génère un nouveau fichier clé secret symétrique. Ensuite, il chiffre asymétriquement la clé publique de votre navigateur et l’envoie à votre navigateur. Votre navigateur utilise sa clé privée pour déchiffrer ce fichier.

Si cette clé symétrique fonctionne, votre navigateur et le serveur du site Web l’utilisent pour chiffrer le reste de leurs communications. (Cet ensemble d’interactions est l’établissement d’une liaison avec sécurité de la couche de transport [TLS].) Ainsi, si l’établissement d’une liaison s’effectue sans problème (page en anglais), votre connexion à ssd.eff.org apparaît comme sécurisée, avec https à côté de ssd.eff.org.

Nous vous suggérons de lire ensuite notre guide ACS sur le chiffrement par clé publique où vous trouverez une présentation approfondie sur les clés publiques et privées, ainsi que sur la vérification.

JavaScript license information