Journal d'investigation en ligne et d'information‑hacking
par Jef

Des utilisateurs fantômes et des portes-dérobées dans les messageries

On Ghost Users and Messaging Backdoors

Matthew Green est cryptologue et enseignant à l'Université John Hopkins. Il est revenu, sur son blog, sur la récente « proposition » de deux membres du GCHQ pour rendre le chiffrement « responsable ».

Matthew Green nous a aimablement autorisé à traduire et à reproduire son article, dont la version originale (non sous-titrée) peut être consultée sur son blog.

Les dernières années ont été fantastiques pour le déploiement du chiffrement. En une décennie, les connexions Web sécurisées sont passées du statut de nouveautés à celui de prérequis pour le fonctionnement d'un site Web moderne. Les fabricants de smartphones ont déployé le chiffrement par défaut du stockage sur des milliards d'appareils. Les messageries et les appels téléphoniques chiffrés de bout en bout sont dorénavant accessibles pour des milliards d'utilisateurs.

Si ce progrès est perçu comme passionnant pour les cryptoloques et les défenseurs de la vie privée, tout le monde ne l'entend pas de cette oreille. Quelques pays, comme le Royaume-Uni ou l'Australie ont passé des lois visant à accéder à ces données, et au moins une proposition est arrivée devant le Congrès américain. Le Département de la Justice [américain, NdT] a récemment ajouté son propre marketing au mélange, en demandant aux entreprises de la tech de déployer du « chiffrement responsable ».

Qu'est ce qu'est, exactement, le « chiffrement responsable » ? Et bien, c'est un peu là le problème. Dans ce débat, personne du côté du gouvernement n'a véritablement semblé vouloir faire preuve de précision à ce propos. En fait, dans un récent discours, le Procureur général adjoint des États-Unis, Rod Rosenstein, a imploré les cryptologues de se s'en débrouiller par eux-mêmes.

Dans ce contexte, un récent article par Ian Levy et Crispin Robinson du GCHQ apparaît comme une bouffée d'air frais. Au contraire de leur homologues américains, les britanniques du GCHQ — une sorte d'équivalent de la NSA au Royaume-Uni — semblent prêts à interagir avec les membres de la communauté technologique et à avancer des idées sérieuses. En effet, Levy et Robinson font dans l'article ci-dessus une proposition concrète : ils apportent une nouvelle solution conçue pour la surveillance de la messagerie et des appels chiffrés.

Dans cet article, je parlerai de cette proposition aussi honnêtement que je le puis — étant donné que je n'ai qu'une compréhension générale de leur idée. Dans un second temps j'évoquerai ce qui, je pense, pourrait tourner mal.

Une introduction brève et illustrée au chiffrement de bout-en-bout

La proposition du GCHQ traite des interceptions par les forces de l'ordre sur les systèmes de messageries et d'appels téléphoniques. Pour permettre d'aborder cette proposition de manière intuitive, je dois d'abord expliquer brièvement (et de manière ultra-simplifiée) comment ces systèmes fonctionnent.

L'idée de base dans tous les systèmes de communication chiffrés de bout-en-bout est que chaque participant chiffre les messages (ou les données audio ou vidéo) directement d'un appareil à l'autre. Cette couche de chiffrement réduit l'exigence de confiance dans le fournisseur de l'infrastructure — lignes téléphoniques, serveurs, câbles sous-marins, ce qui permet une meilleure protection contre les fournisseurs de service malveillant ou les pirates.

Si vous me pardonnez quelques illustrations idiotes, le résultat ressemble de premier abord à quelque chose comme ceci :

Si nous nous intéressons à une configuration de chat ou d'appel en groupe, le schéma change un peu, mais seulement un peu. Chaque participant chiffre les données pour les autres participants directement, sans intervention du fournisseur de service. Les détails (choix des algorithmes ou des clés) peuvent varier d'un système à l'autre, mais le concept reste le même.

Le problème avec les diagrammes simplifiés ci-dessus est qu'il y a en fait bien plus d'aspects dans les systèmes chiffrés de bout en bout que le seul chiffrement.

En pratique, l'un des problèmes les plus difficiles dans les systèmes de messagerie sécurisés réside dans le fait de récupérer la clé dont on a besoin pour effectuer le chiffrement. Cette problématique, généralement désignée comme celle de la « distribution de clés », est une préoccupation de longue date dans le domaine de la sécurité informatique. Et il y a de nombreuses façons dont les choses peuvent mal tourner.

Dans les jours anciens, nous avions coutume d'exiger des utilisateurs qu'ils gèrent et échangent leurs clés par eux-mêmes, puis qu'ils sélectionnent pour quels interlocuteurs ils souhaitaient chiffrer leurs messages. Le résultat fût terrible et tout le monde a fini par haïr ce principe. Les systèmes de chiffrement de bout-en-bout modernes sont devenus populaires auprès de leurs utilisateurs en partie parce qu'ils masquent cette complexité. Mais cela a un coût, celui d'une participation accrue de l'infrastructure opérée par les fournisseurs.

En pratique, des systèmes comme Apple iMessage, WhatsApp ou Facebook Messenger ressemblent davantage à ceci :

La pomme qui figure en haut du schéma représente le « service d'identité » d'Apple, une grappe de serveurs tournant dans l'un des différents datacenters d'Apple. Ces serveurs prennent en charge de nombreuses tâches, mais ils jouent notamment le rôle d'un annuaire permettant de chercher les clés de chiffrement des personnes avec lesquels vous souhaitez échanger. Si ce service fait un raté et vous donne la mauvaise clé, les meilleurs algorithmes de chiffrement du monde n'y changeront rien. Vous serez en train de chiffrer à destination de la mauvaise personne.

Ces services d'identité font plus que la recherche de clés. Dans certains systèmes de messagerie de groupe comme WhatsApp ou iMessage, ils contrôlent également l'appartenance des membres à une conversation de groupe. Dans des systèmes mal conçus, le serveur peut ajouter ou supprimer des utilisateurs d'une conversation à volonté, même si aucun des participants ne l'a demandé. C'est comme si vous aviez une conversation dans un salon privé, mais que la porte était déverrouillée et que le gestionnaire du bâtiment décidait de qui pouvait entrer et vous rejoindre.

(Une précision technique : bien que ces deux aspects des systèmes d'identité poursuivent des objectifs différents, ils sont souvent étroitement liés. Par exemple, dans de nombreux systèmes il n'y a que peu de différence entre une conversation de "groupe" et une autre "à deux participants". Dans les systèmes qui autorisent plusieurs appareils à se connecter au même compte utilisateur, comme l'iMessage d'Apple, chaque appareil attaché au compte est traité comme un participant distinct à la conversation. Si l'on part du principe que chaque partie possède plus d'un appareil sur son compte [par exemple un iPod et un iPad], vous pouvez vous représenter chaque conversation iMessage comme une conversation de groupe.)

La plupart des systèmes de bout-en-bout disposent de mesures contre les mauvais comportements du service d'identité. Par exemple, les applications client vous alerteront généralement lorsque qu'un nouvel utilisateur rejoint un chat de groupe, ou quand quelqu'un ajoute un nouvel appareil sur votre compte iMessage. De façon similaire, WhatsApp comme Signal affichent des « numéros de sécurité » qui autorisent les participants à vérifier qu'ils ont bien reçu les bonnes clés cryptographiques, ce qui permet un contrôle contre les fournisseurs de service malhonnêtes.

Mais ces contre-mesures ne sont pas parfaites, et tous les services ne les offrent pas. Ce qui m'amène à la proposition du GCHQ.

Ce que veut le GCHQ

L'article de Levy et Robinson sur Lawfare ne présente pas la proposition du GCHQ en grand détail. Heureusement, les deux auteurs ont passé l'essentiel de l'été en tournée aux États-Unis, donnant plusieurs conférences à propos de leur idées. Ayant eu le privilège d'échanger avec eux plus tôt cet été quand ils ont visité John Hopkins, je pense avoir un aperçu de ce qu'ils ont en tête.

Dans les grandes lignes, ce qu'ils proposent est extrêmement simple. Le but est de tirer parti des faiblesses existantes dans les systèmes de gestion d'identité des chats de groupes et des systèmes d'appel. Cela permettrait aux forces de l'ordre — avec la participation du fournisseur d'un service — d'ajouter un « utilisateur fantôme » (ou, dans certains cas, un « appareil fantôme ») à un groupe existant ou à un appel. Dans les systèmes où l'appartenance à un groupe peut être modifié par le fournisseur de l'infrastructure, cela pourrait être mis en œuvre principalement via des changements au composants côté-serveur du système de ce fournisseur.

J'ai écrit que cela pourrait être mis en œuvre principalement côté-serveur, parce qu'il y a un problème. Même si vous modifiez l'infrastructure du fournisseur pour ajouter des utilisateurs illégitimes à une conversation, la plupart des systèmes sécurisés de bout-en-bout notifient les utilisateurs quand un nouveau participant ou (un nouvel appareil) rejoint une conversation. De manière générale, l'apparition soudaine d'un étranger dans une conversation est une excellente façon d'avertir des criminels que quelque chose se trame, il faudra donc absolument bloquer cet avertissement.

Bien que la proposition du GCQH ne s'étende pas sur les détails, il semble donc que toute solution envisageable requièrera que les fournisseurs suppriment ces avertissements sur l'appareil de la cible. Cela signifie que la proposition nécessitera des changements au niveau de l'application client tout autant qu'au niveau de l'infrastructure côté-serveur.

(Certaines applications comme Signal ont d'ores-et-déjà été quelque peu durcies contre ces changements, car l'initialisation par les clients d'une conversation de groupe est elle-même chiffrée de bout-en-bout et authentifiée. Cela interdit au serveur d'insérer de nouveaux utilisateurs sans l'approbation de l'un des participants. À ce jour, néanmoins, WhatsApp et iMessage semblent toutes deux vulnérables à l'approche envisagée par le GCHQ.)

En raison de ces modifications extensives côté-client et côté-serveur, la proposition du GCHQ représente en réalité un changement très significatif dans la conception des systèmes de messagerie. Il est probable que les modifications apportées au code des applications clientes devront être déployées pour tous les utilisateurs, dans la mesure où il est impossible de faire des mises à jour logicielles ciblant uniquement les criminels. (Ou plus exactement, si vous pouviez vous appuyer sur des mises à jours ciblées, vous pourriez utiliser cette seule capacité au lieu de ce que propose le GCHQ.)

Ce qui nous amène au dernier morceau : comment inciter les fournisseurs de service à accepter tout cela ?

Bien que l'optimisme et la coopération soient bonnes en principe, il est fort peu probable que les fournisseurs de service de communication insèrent volontairement une puissante capacité d'interception dans leurs service chiffrés, ne serait-ce que parce que cela signifierait une modification très importante et risquée. On peut donc présumer que le gouvernement aura à exiger une telle coopération. Une direction potentielle pourrait être d'utiliser les Technical Capability Notices de l'Investigatory Powers Act britannique. Ces dispositions permettent de forcer un fournisseur à offrir du déchiffrement en temps-réel pour des ensembles d'utilisateurs allant d'une à 10 000 personnes et, de plus, de faire en sorte que les fournisseurs aient à concevoir leurs systèmes de telle sorte que cette capacité reste disponible.

Et voilà où réside le problème.

Les fournisseurs sont en train de combler la brèche

Le vrai problème avec la proposition du GCHQ est qu'elle vise une faiblesse dans les systèmes de messagerie ou d'appel qui est déjà fort bien connue des fournisseurs. Il s'agit de plus, d'une brèche que les fournisseurs de service s'évertuent à combler — peut-être parce qu'ils sont inquiets que quelqu'un comme le GCHQ (ou probablement, quelqu'un de bien pire) essaye de l'exploiter. En faisant cette proposition, les gars du GCHQ ont virtuellement garanti que ce fournisseurs vont aller beaucoup, beaucoup plus vite sur cette question.

Et ils ont pas mal d'options à leur disposition. Ces dernières années, les chercheurs ont proposé différents approches de conception qui apportent de la transparence aux utilisateurs quant aux clés qu'ils obtiennent du service d'identité d'un fournisseur. Ces systèmes fonctionnent en s'assurant que le service d'identité s'engage vis-à-vis des clés associées aux différents utilisateurs, de telle sorte qu'il est très difficile pour le fournisseur de changer les clés d'un utilisateur (ou d'ajouter un appareil), sans que tout le monde sur la planète ne soit au courant.

Comme mentionné plus haut, les messageries avancées comme Signal ont « immergé » la gestion des chats de groupe dans le flux de communication chiffré, de sorte que le serveur ne peut ajouter de nouveaux utilisateurs sans l'approbation numériquement authentifiée des participants existants. Ce genre de design, si il était porté dans des services plus populaires comme WhatsApp, tuerait la proposition du GCHQ dans l'œuf.

Évidemment, ces solutions mettent en valeur la nature épineuse de la proposition du GCHQ. Notez que, de sorte à tirer avantage des vulnérabilités existantes, le GCHQ va devoir forcer les fournisseurs à changer leurs systèmes. Et bien sûr, une fois que vous avez ouvert la porte en forçant les fournisseurs à changer leurs systèmes, pourquoi s'arrêter à de petites modifications ? Qu'est-ce qui empêchera le gouvernement du Royaume-Uni de, disons, pousser les choses un peu plus loin, en utilisant la force de la loi pour contraindre les fournisseurs à ne pas endurcir leurs systèmes contre ce type d'attaques ?

Ce qui nous amène au réel problème avec la proposition du GCHQ. Pour autant que je puisse en juger, il y a deux issues probables. Dans la première, les fournisseurs de service durcissent rapidement leurs systèmes — ce qui est bien ! — et ce faisant tuent les vulnérabilités qui rendent la proposition du GCHQ viable (ce qui est mal, en tout cas pour le GCHQ). Plus les gouvernements expriment d'intérêt pour cette proposition, plus cette première issue devient probable. Dans la seconde hypothèse, le gouvernement britannique, peut-être accompagné par d'autres gouvernements, résoud le problème en forçant les fournisseurs de service à laisser leurs systèmes vulnérables. C'est cette issue qui m'inquiète.

Plus concrètement, il est vrai que les systèmes actuels incluent des failles faciles à exploiter. Mais cela ne signifie pas que nous devrions graver leur existence dans le marbre. Chose que nous aurons effectivement faite une fois que les forces de l'ordre auront commencé à dépendre de ces vulnérabilités. Au fil du temps, ce qui semblait une « modeste proposition » utilisant des failles existantes deviendra une influence ossifiante qui maintiendra les anciennes failles en place. Dans le cas de l'issue la plus défavorable, nous aurons fait des agences comme le GCHQ les ultimes architectes des systèmes de communication d'Apple et de Facebook.

Ce ne serait pas un bon résultat. En fait, c'en serait un qui ralentirait sûrement la course du progrès pour les années à venir.

1 Commentaire
Une info, un document ? Contactez-nous de façon sécurisée