Nadim Kobeissi : de Cryptocat à Peerio, du piratage au doctorat

Décryptage d'un explorateur du chiffrement 17
Accès libre
image dediée
Crédits : Frederic Jacobs (CC BY 2.0)
Securité
Par
le lundi 30 mars 2015 à 18:30
Guénaël Pépin

Passionné dès l’adolescence par la cryptographie, Nadim Kobeissi a créé certains des services de communication chiffrés les plus simples à utiliser, à l’image de Cryptocat. Mais il s’est aussi imposé comme un fervent défenseur des libertés en ligne. Désormais doctorant à Paris, il participe à l'aventure du projet Peerio. Nous sommes allés à sa rencontre.

Vous ne le connaissez peut-être pas, mais vous avez sans doute déjà utilisé l'un de ses outils. Nadim Kobeissi est en effet à l'origine de plusieurs services de chiffrement, dont le plus connu est Cryptocat, qui héberge des salons de discussion sécurisés. Il a été pionnier dans un domaine désormais connu et largement exploité, le chiffrement des données au sein du navigateur, en JavaScript, et a essuyé les plâtres pour un monde de la sécurité souvent difficile à convaincre.

Une passion pour le développement de tels outils un temps doublée d’une passion politique, par la défense de Wikileaks ou de Chelsea Manning. Nous l’avons rencontré afin de discuter de sa carrière et de ses passions.

Les premières expériences

Né en 1990 au Liban, il a commencé sa carrière tôt, via la racine des outils cryptographiques modernes : PGP (Pretty Good Privacy), le système de chiffrement créé par Phil Zimmermann en 1991. « J’ai commencé à utiliser PGP à 13, 14 ans, avant la guerre [au Liban en 2006, NLDR]. J’ai beaucoup aimé PGP parce que c’était super cool. C’était complètement naïf et enfantin. Je me prenais pour James Bond » nous explique-t-il. Puis l’intérêt intellectuel est venu. « Avec un ami, on se demandait comment c'était possible, surtout sans échanger de clés privées. Bien sûr, il y a un échange des clés publiques, mais pas de mot de passe. Le chiffrement sans disposer du mot de passe, c’était fascinant. C’était mon premier défi intellectuel de le comprendre » poursuit-il. Ce défi a été suivi par d’autres, comme le cassage d’empreintes MD5.

En 2008, il continue ses expériences lors de sa première semaine à l’université américaine de Beyrouth. Il s’introduit dans le réseau informatique de l’établissement, avant d’être pris à cause de l’erreur d’un ami. « Il était avec moi, j’ai brisé leurs sécurités informatiques, et on a vu tous les mots de passe administratifs, on a brisé toutes leurs empreintes. Il a utilisé l’imprimante du directeur pour imprimer un maudit document, un devoir avec son nom ! Ils l’ont interrogé, presque renvoyé... J’ai dû admettre que c’était moi » se souvient-il, toujours agacé.

Ce n’est pourtant pas pour ces faits d’arme que Nadim Kobeissi est passé à la postérité. Ce qui lui a valu l’attention de la communauté des cryptographes, c’est Cryptocat, un service en ligne de discussion sécurisé, lancé en 2011. Celui-ci permet d'héberger des salles de conversation, à la manière d’IRC, dans lesquelles les messages sont chiffrés et déchiffrés par le navigateur de l’utilisateur, via une bibliothèque en JavaScript. Il a été mis en ligne en plein printemps arabe, ce qui a suscité une certaine confusion sur ses motivations.

Cryptocat : quand une peine de cœur peut tout changer

« Tout le monde a cru que j’ai commencé parce que j’étais activiste, militant... Mais ce n’est pas du tout la raison » désamorce-t-il. « Je suis intéressé par la politique, c’est vrai. Je suis arabe, c’est vrai. Mais j’ai commencé parce que ma petite amie m’a quitté ! J’étais assez mécontent, donc j’ai voulu l’impressionner. Je réfléchissais sous la douche, et je me suis dit que j'allais faire un système de chiffrement super cool, avec des chats mignons dedans ! C’est la raison. »

Cryptocat page d'accueil

C’est cette petite amie qui trouvera le nom « Cryptocat », même si leurs chemins se sont tout de même séparés peu après. Le service est aussi rapidement attaqué sur sa sécurité. Utiliser JavaScript pour chiffrer du contenu n'était pas très courant à l’époque, et Kobeissi n’était pas encore un expert dans le domaine. L’application open source est décortiquée par la communauté, parfois jusqu’à l’excès. Même le grand gourou de la sécurité informatique, Bruce Schneier, a critiqué jusqu’au concept derrière Cryptocat.

Il faut dire que le « chat chiffreur » a eu un véritable impact médiatique, faisant le bonheur de publications comme la nôtre, mais aussi d'Ars Technica et Wired. « Ce site de discussion mignon pourrait sauver votre vie et aider à renverser votre gouvernement » clamait ce dernier en juillet 2012. Un an plus tard, alors que l’application est utilisée par des activistes et des journalistes, une faille critique est découverte. Elle permet à un tiers de facilement déchiffrer les conversations de groupe, et ce depuis plusieurs mois. Elle est rapidement comblée, mais le mal est fait.

« C’était le premier projet de son type dans le monde et j’étais étudiant en deuxième année de philosophie » à Montréal, en 2011, lorsque Cryptocat a été lancé. « J’étais donc un débutant complet, et c’était une technologie super expérimentale. C’était clair qu'il pouvait y avoir beaucoup de failles » analyse le développeur. « C’était un projet très simple, dont la seule qualité était d’être très simple à utiliser. C’est par pure coïncidence qu’est arrivé le Printemps arabe » estime-t-il.

Des choix qui ont porté leurs fruits

 « Deux ans sont passés, il y a eu quelques failles, le projet a évolué... Vous connaissez l’histoire. Maintenant, c’est un outil plutôt mature, bien développé. Ça fait plus d’un an qu’il n’y a pas eu de grande faille. Il est recommandé par l’Electronic Frontier Foundation (EFF)... Je suis satisfait avec la version actuelle de Cryptocat, c’est bien utilisé et c’est sécurisé » clôt-il.

Les attaques contre Cryptocat n’ont pas eu un impact purement professionnel pour lui. « Il y a eu deux années super stressantes, j’ai eu un peu de « PTSD » (trouble de stress post-traumatique). C’était tellement moche... » nous explique-t-il. « Ce qui m’a beaucoup gêné, c’est que les gens ont dit que je n’ai pas traité les failles de manière responsable. C’est complètement faux. Il n’y a pas de projet dans le monde qui ait été aussi transparent, honnête et qui ait réparé les bogues aussi rapidement » défend le père du logiciel qui répond le plus souvent aux bugs déclarés sur GitHub et avait largement détaillé les problèmes rencontrés à l'époque. Mais cette période lui servira surtout à mieux préparer ses projets suivants. « Maintenant, je suis très fier de Cryptocat ! C’est un projet qui a évolué, c’est un bon outil. Depuis qu’on a commencé cette conversation, 2 000 personnes l'ont utilisé. À chaque moment, dans le monde, au moins 500 personnes l’utilisent ». Des statistiques auxquelles chacun peut accéder via cette page.

Le choix de JavaScript, très critiqué aux débuts, est désormais entré dans les mœurs. De plus en plus d’entreprises, comme Google ou Yahoo, adoptent le chiffrement des messages au sein même du navigateur, en commençant par les emails. Une victoire pour Kobeissi, qui estime avoir essuyé les plâtres pour tous. « Maintenant, il est très clair que c’était une excellente idée. Même les projets comme TextSecure [messagerie chiffrée et SMS sur Android, nommé Signal sur iOS] sont en train de développer un client pour navigateur en JavaScript » insiste-t-il.

Wikipédia, Wikileaks et la formation politique

L’autre versant de son action est politique, ce que sa fiche Wikipédia raconte d’ailleurs en longueur. « Je n’aime pas du tout ma fiche Wikipédia ! J’espère que quelqu’un l’enlèvera très prochainement. Ça me fait tellement honte. C’est tellement prétentieux » déclare l’intéressé. Si les informations sont justes, la page le décrirait trop aisément en « icône » des libertés individuelles. Son engagement politique est pourtant bien réel, né de la guerre du Liban, en 2006. « Des bombes ont aplati tout le quartier. Ça m’a donné une conscience politique. C’est super clair. J’avais 15 ans. C’est impossible de ne pas avoir de conscience politique après ça » explique-t-il.

Le lien avec le développement est venu bien plus tard. « J’étais plus intéressé par le côté technique, en fait. Avant la politique, je voulais devenir un développeur de jeux vidéo. J’ai décidé de ne plus vouloir faire de jeux vidéo, mais de la cryptographie. C’est ça la décision politique. Nécessairement, la cryptographie est politique. Donc je vais m’intéresser au côté technique, essayer de devenir un vrai cryptographe. Et quoi que je fasse, ce sera politique. Le côté politique s’occupe de lui-même » juge Kobeissi.

Nadim Kobeissi speech
Crédits : Jim Killock (licence: CC by SA 2.0)

Son travail sur Cryptocat lui a valu des ennuis très concrets, notamment lors de ses voyages aux États-Unis en 2012. Il a été arrêté plusieurs fois et questionné sur la sécurité de son logiciel. Le FBI a même tenté de passer par le hacker Sabu (qui leur a livré le groupe LulzSec, proche d’Anonymous) pour le piéger, sans succès. En 2011, alors qu’il était étudiant à Montréal, il a organisé et contribué à des marches en défense de Wikileaks. Son engagement politique était donc très clair. « Il y a une époque où j’étais très pro-Wikileaks. Je ne le suis plus. Je regrette en fait. Je ne suis pas anti-Wikileaks pour autant... Il y a un temps où j’étais un peu trop naïf, où j’ai fait beaucoup de marches » résume-t-il.

Dans les faits, son soutien n’allait pas tant à Wikileaks qu’à Chelsea Manning, la militaire américaine qui a fourni la vidéo « Collateral murder », montrant le bombardement de civils dans une opération américaine. « C’est exactement ce qui m’est arrivé et je pensais que les Américains ne comprenaient pas. Ils ne savaient pas ce qui se passait. C’est la seule raison de mon soutien à Wikileaks ». En 2011 et 2012, Nadim Kobeissi a travaillé de manière proche avec le groupement, ce qui l’a aidé à s’en éloigner. Pour lui, Julian Assange était « un grand fou », difficile à soutenir. « Je pense que ce qui est arrivé à Manning est mal. Je crois qu’elle doit être pardonnée et qu’elle doit sortir de prison » mesure l’hacktiviste. Il ne soutient plus Wikileaks, mais soutient l’idéal, incarné aujourd’hui par Edward Snowden, l'ancien prestataire de la NSA qui a révélé les programmes de surveillance américains.

« Ce qu’Edward Snowden a fait est beaucoup plus légitime. Snowden a gardé son esprit politique honnête, pragmatique. Il est dans un débat raisonnable quand il parle de ses actions. Le soutenir est beaucoup plus simple et raisonnable, et je le soutiens à 100 % » déclare-t-il. « Quand je développe des outils cryptographiques, c’est dans l’idée de combattre ce genre de choses, la surveillance extrême, de maintenir la vie privée sur Internet. Ma perspective politique sur ces sujets est devenue beaucoup plus nuancée que du temps où j’organisais des manifestations ».

Développer le prochain PGP

Aujourd’hui, la mission qu'il se donne est de rendre le chiffrement disponible pour tous. « Avant Cryptocat, le choix n’était pas disponible ! Si on voulait de la vie privée sur Internet, il était nécessaire d’être un expert » estime le développeur, pour qui la fascination des débuts pour le système de chiffrement PGP, vieux de 24 ans, a laissé place à la crainte. « PGP c’était fascinant il y a dix ou vingt ans. Depuis quelques années, ça devient très dangereux en fait. La manière d’utiliser les ordinateurs a complètement changé. PGP est conçu pour les usages des années 80, 90 » explique-t-il. Une période où les documents étaient gérés en local, sur l’ordinateur lui-même, et où la simplicité d’utilisation n’était pas une fin en soi, loin de là. Depuis sont arrivés le « cloud », les applications web et l’obsession du design et de la simplicité.

 « On doit réaliser que PGP ne marche plus et qu’on doit développer de nouveaux protocoles et de nouvelles approches, spécifiquement pour les nouveaux cas utilisateurs » estime-t-il. C’est ce qu’accomplit l’équipe derrière TextSecure avec son protocole de messagerie sur mobile ou l’équipe avec laquelle Kobeissi travaille sur son dernier projet : Peerio. Mais développer de tels systèmes nécessite du temps, et de l'argent. Ce dernier point, il l'a d'ailleurs expérimenté lors de la mise en place en juin 2014 d'une campagne de financement participatif pour le développement des versions mobiles de Cryptocat. Un échec complet : sur les 45 000 dollars canadiens demandés à l'époque, seuls 5 501 ont été enregistrés. Le projet n'a donc pas été financé.

Un premier projet entièrement commercial, Peerio

Entre temps, il avait commencé à développer pour lui BlueNote, un gestionnaire de notes chiffrées pour OS X qu'il a ensuite vendu sur le Mac App Store. Une aventure qui a duré un an et lui a permis de tester la création d'un outil à vocation commerciale.

Depuis, il travaille en parallèle sur Cryptocat et Peerio, sa première application pensée avec un modèle économique en tête. Disponible sur le web, elle permet d'échanger des messages mais aussi de stocker des fichiers de manière sécurisée. L’application se présente un peu comme un client email simpliste, aussi capable de gérer les transferts de données. « Peerio, c’est un projet super business. Il y a une entreprise enregistrée au Canada, un PDG, un responsable financier, un avocat, un comptable... On maintient l’approche open source transparente et ouverte » explique-t-il. L’application sera gratuite pour tous, mais augmenter le stockage disponible sera payant, à cinq ou dix dollars par mois. Le support pour les entreprises sera également payant.

Comme Cryptocat, elle a déjà eu les honneurs d’un article dans Wired. Pour se prémunir des critiques sur le chiffrement, Kobeissi a publié la base cryptographique, baptisée « miniLock », quelques mois avant l’application (voir notre analyse). « J’ai commencé Peerio juste en même temps que miniLock, en juin. J’ai écrit miniLock en un mois. J’ai décidé de publier la spécification cryptographique seule pour que la communauté puisse l’analyser indépendamment du produit, pour que quand Peerio sort, on puisse dire qu’on a une base prouvée » déclare-t-il.

Une méthode issue de ses déboires rencontrés avec Cryptocat, qu'il estime être une réussite. Le but était de fournir dès le départ un code source audité, exploitable, proposé sous licence AGPL v3 et accompagné de tests unitaires.

Peerio

L’entreprise siège à Montréal, avec un noyau de cinq personnes, dont trois développeurs. Kobeissi s’occupe du développement côté client, sûrement la partie la plus sensible, car elle gère directement le chiffrement du contenu. Peerio, qui a déjà eu droit à de nombreuses améliorations, doit encore évoluer dans les prochaines semaines, avec une gestion des dossiers pour les fichiers, un visionnage sans téléchargement ou une meilleure gestion des contacts.

Les applications mobiles (Android et iOS) doivent arriver d'ici deux mois si tout va bien. Les conversations audio et vidéo, elles, seront intégrées après 2015. Pour le moment, 20 000 personnes se seraient inscrites sur le nouveau service, reste à voir combien l'utilisent au quotidien mais la petite équipe compte bien développer son usage en faisant la promotion de son outil auprès de ceux qui pourraient en avoir le besoin.

La transparence, le prochain combat du chiffrement

Si le client de Peerio est open source, le serveur ne le sera pas. « Si on peut avoir confiance dans le client, il n’y a aucune raison d’avoir confiance dans le serveur » estime-t-il. Le serveur gère pourtant les métadonnées des messages, qui se veulent réduites au minimum nécessaire (expéditeur, destinataire et heure). Les fichiers, eux, sont stockés sur un serveur séparé, avec pour seule information leur taille. « Si on vole les serveurs, on ne peut pas les identifier, ni savoir à qui ils appartiennent » assure le développeur. Pour référence, le serveur de Cryptocat n’est pas open source non plus. Il est tout de même possible de créer le sien, en exploitant XMPP avec du chiffrement TLS.

Ce type de question se pose d’autant plus que de nombreuses entreprises y vont de leur propre protocole. Aucun PGP moderne n’a encore pris de première place. « Tout le monde a développé sa  solution pour remplacer PGP, moi compris. J’ai commis cette faute, mais c’était nécessaire. Je crois que ça va devenir un problème dans le futur, mais je ne le vois pas comme un grand problème actuellement. On s’en occupera dans les cinq ans à venir » pense-t-il.

En attendant, chacun y va de sa solution, de la plus sérieuse à la plus légère, en attendant que le choix des utilisateurs fasse le tri. Tout est question de transparence. « Si Apple ou Google veulent des systèmes de chiffrement de bout en bout, ça doit être avec des bases vérifiées. Même chez WhatsApp, qui dit avoir adopté le chiffrement de Signal, il y a de grandes failles. On ne peut rien authentifier, ni même vérifier que le chiffrement est actif » (voir son avis plus détaillé sur la question dans ce billet de blog).

« Maintenant, les entreprises font du chiffrement. C’est bien vrai qu’ils le font, mais ce n’est pas la bonne technique. Ce n’est pas sûr et vérifiable. Ils appliquent un chiffrement quelconque, pour dire qu’ils sont chiffrés, et la plupart des gens les croient immédiatement. Mais quand les experts analysent le système, ce n’est pas tout à fait sûr » attaque-t-il encore. Même dans le cas où le protocole qui sous-tend le logiciel est à l’épreuve des balles, comme ceux de Peerio ou de TextSecure, Kobeissi rappelle que rien n’est entièrement sûr. « Le protocole c’est bien, mais il peut y avoir des failles dans l’implémentation, le logiciel, l’ordinateur de l’utilisateur (par exemple avec un keylogger)... Donc on ne sait jamais. C’est pour ça qu’on doit avoir des logiciels faciles à utiliser. On élimine ce genre de bogues. C’est ça la vraie question » juge le développeur.

La cryptographie, un milieu concurrentiel

Ce qu’il a surtout retenu de ses premiers projets, c’est la compétition constante qui règne dans le monde de la cryptographie. Plutôt que de s’aider de manière désintéressée, les équipes ont tendance à s’attaquer entre elles, estime-t-il. « La communauté cryptographique est très compétitive, très critique des autres projets. Je n’aime pas ça, parce que j’en ai beaucoup souffert avec Cryptocat et que je ne vais pas le faire subir à quelqu'un d'autre ».

L’une des dernières applications à faire les frais de cette compétition acharnée est Telegram, un service de messagerie sur mobile, dont la sécurité des sessions privées a été mise à mal plusieurs fois par des chercheurs. Pour lui, même si le protocole de chiffrement n’est pas aussi bon que celui de son dernier projet, Peerio, ou de TextSecure, régler les problèmes majeurs serait simple. Il suffirait pour Telegram d’imposer le chiffrement par défaut et de permettre de lancer une conversation chiffrée quand l’un des deux contacts est hors ligne. Des changements « qui prennent au maximum un mois » mais qui n’ont pas encore été entrepris.

« Le protocole est open source. Il n’est pas excellent, mais il n’est pas laid. D’autres le critiquent beaucoup, en disant qu’il est cassé, nul... Mais c’est parce qu’ils le voient comme un compétiteur » nous explique-t-il. Pour lui, même un service comme iMessage, entièrement géré par Apple, peut être suffisant pour discuter avec sa famille, tout comme Telegram. L’important, au fond, étant de connaître le niveau de sécurité de ce qu’on utilise. « Au lieu d’attaquer Telegram en disant qu’il doit mourir, parce que dans Cryptocat ou Signal nous faisons mieux, on peut dire qu’ils ont beaucoup d’utilisateurs et qu’ils peuvent améliorer leur sécurité en faisant deux changements très simples » juge-t-il.

« Il y a beaucoup de débats sur le thème « ma cryptographie est sûre, pas la tienne ». Ce sont des bêtises au final. C’est la stratégie du FUD (Fear, Uncertainity and Doubt). Il y a tellement de FUD, de compétition, de politique... C’est mieux de réaliser que si un projet est développé de manière responsable et en open source, que le développeur veut améliorer, il n’y a pas de raison de croire que c’est un mauvais projet ou que le sien est meilleur » pèse-t-il.

Cette philosophie, il l’a appliquée quand il a (vertement) critiqué la sécurité de MEGA, le successeur de MegaUpload, en 2013. Dans un article de Forbes, il pointait  le manque de sécurité dans l’envoi du code qui doit chiffrer le contenu. Une critique auparavant faite à Cryptocat, qui livre désormais son code sous forme d’extension pour navigateur, certifiée. « Quand j’ai commencé à les critiquer, leur première réponse était très impolie. Puis nous avons beaucoup débattu, ils ont amélioré leur chiffrement et maintenant c’est sûr ! »

De développeur amateur à doctorant

La plupart des détracteurs de Kobeissi seraient revenus vers lui, une fois ses choix éprouvés. « Il y a toujours quelques personnes qui disent que mon travail est mauvais, que je détruis la cryptographie, que je suis pire que la NSA... », même si elles deviennent rares, affirme-t-il. De son dernier voyage aux États-Unis, il a d’ailleurs ramené un badge du musée de la NSA. La maison-mère du renseignement américain rend un hommage involontaire à son premier service, via une mascotte : Cryptocat.

Pour tourner la page, son doctorat lui est précieux. « Mener des études dans le domaine, c’est la chose la plus importante de toute ma vie. C’est l’accomplissement dont je suis le plus fier. La légitimité académique, c’est mon rêve. Je veux être un vrai chercheur en cryptographie » affirme-t-il. Depuis janvier, il mène un doctorat en cryptographie à l'INRIA (Institut national de recherche en informatique et en automatique) à Paris. Son sujet de thèse : le développement de systèmes cryptographiques pour le web, qui sont prouvables mathématiquement. En clair, il poursuit son travail sur des outils sûrs pour le web, faciles à utiliser.

« J’apprends énormément, surtout sur la base mathématique » affirme le spécialiste, pour qui les querelles entre projets sont d’autant plus futiles face au travail des universitaires. « Toutes les super découvertes en cryptographie sur lesquelles on écrit des billets de blog, les chercheurs les connaissent depuis dix ans. Il y a des chercheurs qui travaillent sur de la cryptographie pour vingt ans dans le futur, dont l’industrie ne connaît rien. C’est ce que je suis en train de réaliser ».

C’est surtout une nouvelle balance pour lui, entre doctorat et travail sur un logiciel commercial. « Je suis très occupé avec mes études. Ça me laisse 20 heures par semaine, week-end inclus. Je travaille tout le temps : 40 heures par semaine sur le doctorat et 20 heures sur Peerio » détaille Nadim Kobeissi. « C’est le moment dans ma vie d’avoir un vrai travail. J’ai rencontré une bonne équipe à Montréal avant de venir ici. Si Peerio décolle, je resterai et j’espère avoir un salaire » poursuit-il.

Son rêve, pourtant, est de l’autre côté. « Ma vision de la politique est devenue plus nuancée, mais pas mon approche de la cryptographie. Ce sera comme ça pour la vie. Mon rêve, c’est d’enseigner en université le cours introductif à la cryptographie, pas les cours avancés. C’est là qu’on peut montrer aux élèves à quel point c’est intéressant » et initier de nouveaux esprits, affirme-t-il.


chargement
Chargement des commentaires...