Le chiffrement bout‑en‑bout pour tous

Bonjour à tous !

Aujourd'hui on s'attaque à un gros bout, le chiffrement de d'un bout à l'autre du réseau pour tous les utilisateurs.

(Dans tout ce qui suit, on ne parlera pas des mécanismes de "décryptage", ou de cassage de cryptographie, seulement de chiffrement (avec clef), et de déchiffrement (toujours avec clef). Un aspect important de cet article est de savoir qui possède la clef, et d'où à où le message est chiffré.)

Je vais donc décrire rapidement différents types de chiffrement, puis expliquer la problématique derrière le chiffrement pour tous.

Qu'est-ce que le chiffrement de bout-en-bout ?

Sur le réseau, l y a deux types de chiffrement :

  • le chiffrement de bout en bout, pour lequel l'ordinateur A chiffre la donnée (page web, mail, clavardage XMPP, irc...), puis l'envoie sur le réseau, puis est reçue par B, qui la déchiffre, avec sa clef ;
  • le chiffrement "par le réseau". L'exemple type est le mail. Quand vous utiliser Gmail, Yahoo, Outlook, Orange mail, etc. vous pouvez y accéder sur leur site web, via un webmail, ou à l'aide d'un client lourd, comme Thunderbird. Dans ce cas, les mails sont en clair sur les bases de données de Google, Yahoo, Microsoft, Orange... mais cependant les mails traversent le réseau de manière chifrée. Pour schématiser, ce sont les serveurs de mails qui s'occupent du chiffrement, de serveur en serveur, jusqu'à arriver à la boîte mail du destinataire.

Dans le second cas, la donnée chiffrée n'est pas accessible au plus grand nombre, mais ce mécanisme implique une confiance accordée aux tiers qui gèrent vos données. (Tiers dont le nombre se multiplie).

Dans la suite, on va parler de iMessage de Apple pour fixer les idées.

Le problème qu'on s'est fixé est : peut-on généraliser le chiffrement de bout en bout pour la majorité, et si oui, comment ?

Le mécanisme que iMessage utilise est du chiffrement de bout en bout, c'est-à-dire le premier mécanisme, ou le message est chiffré par une clef appartenant à l'utilisteur, puis passe sur le réseau, où personne ne peut le déchiffrer, puis est reçu par le destinataire, qui seul peut le déchiffrer.

Le problème, c'est que l'utilisateur ne gère pas ses clefs. Cela a des avantages et des inconvénients. L'avantage principal :

  • plus de gens peuvent utiliser le chiffrement de bout en bout, un chiffrement de meilleur qualité que le mail, puisque pour le mail, il est possible qu'il ne soit pas toujours chiffré sur tout le trajet...

Les inconvénients (plus ou moins subtil) :

  • les gens ne savent pas quel type de chiffrement ils utilisent, ou si le chiffrement est de bonne qualité ;
  • il faut faire confiance à un tiers ;
  • la partie la plus importante de cette article : je pense que cette crypto admet facilement une backdoor.

Je m'explique. Prenons Alice et Bob, qui veulent dialoguer, et Ève, qui veut espionner. Ève peut être n'importe quelle tierce personne, à l'inclusion de l'État, une entreprise...En effet, l'avantage du chiffrement de bout en bout, c'est que personne d'autre que les deux partis de la conversation n'y prend part. Autoriser l'État ou une entreprise revient à dire qu'on ne fait plus du chiffrement de bout en bout.

Pour qu'Alice chiffre un message, il faut qu'elle possède "la clef" de Bob. Problèmes :

  • celle-ci est gérée par Apple ;
  • s'il y en a plusieurs (une par appareil supportant iMessage, iPad, iPhone, iMac...), il faut qu'Alice les récupère toutes.

Vous m'avez vu arriver à des kilomètres.

Il est tout à fait possible qu'une mauvaise clef -- n'appartenant pas à Bob -- soit donnée à Alice. Je ne pense pas que ce soit ce qui se passe, puisqu'il faut alors changer le chemin que prend le message, le stocker sur un serveur, puis le rechiffrer avec la clef de Bob. C'est possible, mais il y a franchement plus simple.

Lorsque Alice envoie un message à Bob, iMessage récupère pour elle toutes les clefs de Bob. Il est tout à fait possible que iMessage récupère les n clefs de Bob, plus une clef appartenant à Ève. Ça y est. Sans avoir presque rien fait, on a backdooré iMessage, sans surcoût, sans grande difficulté, sans qu'Alice ni Bob ne s'en aperçoive.

C'est pourquoi je crains qu'il soit très difficile de mettre en place une solution de chiffrement de bout en bout pour le grand public.

Voilà, un petit tour du côté du chiffrement, de la manière dont on crée l'architecture des systèmes de chiffrement, et le problème reste ouvert pour comment avoir du chiffrement de bout en bout pour tous.

Bonne journée !

Motius