Entretien avec Werner Koch sur STEED et GnuPG

Introduction :

Le thème Sécurité des RMLL 2012 accueillera 2 conférences qui parleront de vie privée et de gestion des données personnelles sur Internet.

La première sera donnée par Jean-Yves Perrier de Mozilla. Jean-Yves présentera le projet Persona/BrowserID de Mozilla. La seconde conférence sera donnée par Werner Koch qui nous parlera de STEED, un projet STEED, un projet de simplification et de généralisation de l’usage du chiffrement et de la signature du courrier électronique.

Echangeons maintenant avec Werner, le créateur et développeur principal de GnuPG et fondateur de g10code.

Question : Bonjour Werner. Votre collègue, Marcus Brinkmann, est venu l’an passé aux RMLL 2011 donné une conférence débutant par "Pourquoi le chiffrement pour la messagerie a échoué" et a exposé les premières idées qui seraient derrière STEED, le projet que vous avez lancé en Octobre 2011. Pour les créateurs de GnuPG, le standard de fait du chiffrement pour la messagerie, une telle introduction est un message assez fort. Pouvez vous expliquer quelles sont vos idées là dessus et nous présenter le projet STEED ?

Werner Koch : Il y a quelque temps, Marcus et moi avons travaillé sur l’intégration de la cryptographie au sein de téléphones portables. Ce travail incluait de nombreux et longs voyages en train qui nous ont donné l’opportunité de parler de l’aspect inutilisable du chiffrement de bout en bout. Depuis que Phil (ndt : Philippe Zimmermann, créateur de PGP) est arrivé avec PGP il y a 20 ans, les bases techniques pour un bon chiffrement sont vraiment disponibles. Même aujourd’hui où la plupart des gens sont accros au net, l’utilisation du chiffrement pour les communications privées est pratiquement inexistante. Nous, les hackers, avons voulu rendre ce chiffrement aussi bon et sûr que possible, mais nous n’avions que les mathématiques et l’ingénierie à l’esprit. Nous avons négligé le monde réel de la communication : les attaques ciblées par courrier sont très rares pour la plupart des gens, il n’y a généralement pas d’interception de communication (ndt : "no man in the middle"). Ainsi, nous pouvons faire sans toutes les techniques pointues de sécurité auxquelles nous sommes habitués. Nous n’avons pas besoin de moyens ultra sécurisés pour communiquer avec quelqu’un que nous ne connaissons pas encore vraiment.

Nous avons examiné quelques idées existantes comme SSH et les infrastructures de clés publiques pour concevoir une système permettant de rendre le chiffrement la plupart du temps invisible. STEED est notre concept visant à faire fonctionner ces idées ensemble et à les intégrer aux logiciels de messagerie existants. L’idée de base est simple : si votre programme de messagerie voit que vous n’avez pas avoir une clé pour votre compte de messagerie actuel, il en crée une en arrière plan. La clé publique sera ensuite envoyée à une base de données mondiale. En fin de processus, vous recevez un mail de notification de cette base de données vous indiquant que votre clé est maintenant disponible mondialement. Désormais, lorsque vous êtes sur le point d’envoyer un mail, les logiciels de messagerie compatible Steed vont chercher la clé du destinataire dans cette base de données mondiale. Si une clé a été trouvée, le message sera chiffré, sinon, il est envoyé en clair. Plus tard, quand vous envoyez un autre mail, la base de données mondiale est interrogée comme d’habitude, mais le résultat sera également comparé avec une base de données locale, afin de vérifier si la clé renvoyée par la base globale correspond à celle utilisée lors de l’envoi précédent. Si ce n’est pas le cas, une alerte est émise et un court mesage d’explication expliquera qu’une possibilité d’interception type "man in the middle" existe.

Question : A quelle étape de votre feuille de route en êtes vous rendu : des premiers articles, des preuves de concepts, des échanges avec des fournisseurs d’identité du marché ?

Werner Koch : J’ai donné plusieurs conférences sur le projet et nous avons produit des versions revues de nos articles pour la conférence GUUG de ce printemps. LWN a publié un article sur elle et je suis heureux qu’à cette occasion nous ayons pu gagner un peu d’attention. Il n’y a pas pour l’instant beaucoup de nouveau code, parce que nous avons à peu près tout mis en œuvre dans GnuPG. La prochaine étape sera d’implémenter ce concept dans un client de messagerie. Cependant, avant que nous puissions le faire, nous avons besoin d’avoir un moyen de stocker les clés.

Question : Dans votre article initial, la base de données utilisée pour stocker les clés était le DNS. Avez-vous été en mesure d’échanger avec certains fournisseurs de DNS pour voir s’ils seraient enclins à ouvrir leur infrastructure afin de permettre à leurs utilisateurs de stocker ce genre d’information ? Avez-vous besoin de plus de contacts avec des fournisseurs d’infrastructure ?

Werner Koch : Malheureusement, je n’ai pas eu de succès dans cette entreprise. J’ai parlé à certains fournisseurs, mais la tendance générale semble être : aucune expérimentation. Ils attendent à un effet direct en termes de retour sur investissement et ne voient pas comment le chiffrement pourrait y aboutir. Pour être honnête, je comprends cette position. Au cours de ces 15 dernières années, la promesse a été que le chiffrement serait bientôt utilisé de manière banalisée pour le courrier électronique. Nous savons tous que cela ne s’est pas produit. C’est comme la promesse depuis 25 ans d’aboutir à une organisation en entreprise zéro papier. Nous avons besoin de changer de stratégie. Si il n’y a aucun moyen direct d’obtenir l’attention des fournisseurs de messagerie, nous devons fournir une infrastructure de secours agissant en tant que fournisseur d’identité proxy, infrastructure qui serait gérée par nous.

Question : Pour l’architecture Persona/BrowserID de Mozilla qui va également être présentée aux RMLL 2012, Mozilla gère un service BrowserID.org qui contribue à l’amorçage du projet et donc, pour ne pas avoir à attendre l’ouverture généralisée de l’infrastructure des fournisseurs d’identité (dans leur cas, les fournisseurs de messagerie). Serait-ce une idée intéressante pouvant être réutilisée pour STEED ? Si oui, de quelle manière ?

Werner Koch : Exactement. J’ai réfléchi à l’idée de mettre en place un groupe de fournisseurs d’identité sous le domaine gnupg.net où chacun pourrait s’occuper d’un groupe entier d’adresses mail. Cela pourrait se faire en hachant l’adresse, en encodant ce hash en Base32 et en utilisant cela comme clé dans le DNS. Nous aurions besoin d’écrire un système facile à installer pour fournir cette infrastructure et la déléguer à des personnes de confiance. Évidemment, Mozilla, confrontée aux mêmes problématiques, a eu la même idée. Je suis heureux que vous m’ayez orienté vers browserid.org ; il est beaucoup plus simple de se greffer sur un système comme celui-ci que de commencer à concevoir un programme similaire. Il donne même une meilleure expérience utilisateur. BrowserID pourrait être une incitation à essayer STEED. Techniquement, nous pourrions implémenter cela en interrogeant un champ spécial aurpès du fournisseur de messagerie qui permettrait de savoir si le fournisseur est compatible STEED. Si le résultat est négatif, nous nous reposerions sur une base de données des clés publiques basée sur browserid.org.

Question : Quel genre d’aide avez vous vraiment besoin de la part de la communauté afin d’accélérer le développement du projet ?

Werner Koch : Tout d’abord, dites à vos amis que le chiffrement des messages est important, même à l’âge de Facebook. Ils regretteront peut-être plus tard d’avoir négligé de prendre un peu de soin de leur vie privée. Deuxièmement, s’impliquer à partir du moment où l’outillage sera développé. J’entends par là, d’utiliser effectivement le système et d’aider à l’intégrer au sein d’autres clients de messagerie. Nous avons également besoin d’idées pour faire face au spam de manière décentralisée.

Question : Quelle est votre prochaine étape dans ce projet ?

Werner Koch : Trouver un moyen de financer la maintenance et le développement de GnuPG. C’est une condition sine qua non à l’implémentation de STEED.

Dernière question : vous venez aux RMLL 2012. Qu’attendez-vous d’une présentation dans un événement comme les RMLL où les participants viennent d’horizons très éclectiques (militants du logiciel libre, des développeurs noyaux, des administrateurs système, etc) ?

Werner Koch : Les concepts soutenant STEED ne sont pas encore assez connus. Je suis heureux d’avoir l’occasion de présenter STEED à une grande conférence technique et nous espérons attirer l’attention d’autres personnes créatives. Parler en personne est souvent mieux qu’échanger uniquement par courrier électronique. Je suis allé aux RMLL 3 ou 4 fois dans le passé et je me rappelle de bons échanges avec d’autres personnes intéressantes. Il est dommage que je ne puisse rester que 2 jours.

Interview de Werner Koch réalisée par email en Juin 2012 par Christophe Brocas, co-responsable du thème Sécurité des RMLL 2012.