Entretien avec Geoffroy Couteau, chargé de recherche au CNRS, qui a obtenu un financement pour son projet ERC


Geoffroy Couteau, jeune chargé de recherche ambitieux, vient d'obtenir un prestigieux financement pour une bourse ERC. Entretien avec celui qui espère être de ceux qui rendront un jour les usages d'Internet complètement sécurisés.

“[…] d'un côté on est extrêmement conscient du fait que notre vie privée doit le rester, que quand on communique, on doit communiquer de façon sécurisée mais d’un autre côté, dès lors qu'on utilise des applications, des réseaux sociaux, ou qu'il y a des algorithmes impliqués, on abandonne notre vie privée. Parce qu'on ne sait pas faire autrement.”


J’ai candidaté au projet ERC pour plusieurs raisons. La principale, la plus naturelle, c'est que cette bourse me permet d’avoir accès à des fonds pour faire avancer mes travaux de recherche, d’embaucher et de superviser une équipe de doctorant·e·s et de post-doctorant·e·s. C'est quelque chose que j'aime beaucoup faire.

Un autre avantage non négligeable, c'est que cela permet des retombées pour le laboratoire, puisqu’une partie des fonds revient également aux tutelles, notamment le CNRS. Ça me donne l'impression de contribuer à mon niveau.

L'idée clé est la suivante : j'aimerai qu'un jour on puisse utiliser Internet, ou un équivalent, qui soit complètement sécurisé. Aujourd'hui, Internet l’est, mais uniquement lorsqu’on l'utilise dans une communication d’information. Si on va sur un site web et qu’il y a un « s » dans le « https » de l’adresse du site, ça veut dire que toutes les données envoyées du site vers l’internaute ou inversement, telles que ses données d'authentification, sa requête, ses recherches, sont chiffrées. Elles sont impossibles à découvrir pour une personne qui écouterait la conversation avec une antenne par exemple.

“Dès qu’il y a un usage d’Internet dans lequel on utilise nos données privées dans un calcul comme avec les exemples précédemment expliqués, il n'y a plus de sécurité des données.”

90% de nos communications sur Internet sont chiffrées, donc d'une façon générale, nos données privées transitent toujours de manière protégée sur Internet. Par conséquent, on fait attention à notre vie privée quand on communique sur Internet. Il y a eu des décennies d'efforts pour en arriver là. Mais aujourd’hui, les usages ont évolué. Il y a environ 15 ans, on utilisait internet quasiment exclusivement pour échanger des données (aller sur un site, recevoir des informations d'un site, etc.), maintenant, plus du tout, il y a tout un tas d'usages nouveaux du web. Les sites nous ajoutent de la publicité ciblée choisie en fonction de notre historique de navigation, on va utiliser des applications de santé quand on fait du sport, qui nous donnent notre rythme cardiaque, on va utiliser des applications de dating pour trouver l'amour, il y aura des outils de recommandations qui vont nous suggérer des achats, des vidéos à regarder, le prochain film que l'on va vouloir regarder sur Netflix. A chaque fois, pour tous ces usages modernes d'Internet, à de la communication s’ajoute aussi du calcul.
Quand tu fais une recherche, ton historique de navigation est envoyé au site web en question, c'est une donnée qui contient toutes les informations privées sur ce que tu cherches sur Internet, pour que le site puisse faire tourner un algorithme dessus et calculer quelle est la pub qui a le plus de chances de t'intéresser et qu'il devrait par conséquent t'afficher.
De même, quand tu utilises un réseau social et qu’il te fait des suggestions d'amis, quand il y a un fil d’actualité, il le calcul en fonction de tes centres d'intérêts à partir de toutes les informations privées qu'il a sur ton usage du ledit réseau social, tes préférences, les choses que tu as liké ou non, etc.

Dès qu’il y a un usage d’Internet dans lequel on utilise nos données privées dans un calcul comme avec les exemples précédemment expliqués, il n'y a plus de sécurité des données. C'est à dire qu'au moment où j'utilise une application de dating et que je défini mes préférences romantiques pour qu'on puisse trouver des profils qui me correspondent, je révèle toutes mes préférences romantiques aux personnes qui maintiennent l'application. A chaque fois que je publie des informations sur Facebook, je les donne à Facebook et derrière on sait que ces informations sont régulièrement revendues et utilisées, pour faire, entre autres, du machine learning.

“[…] l'objectif de mon projet est de partir du fait que scientifiquement, il n'y a pas d’impossibilité mathématique à ce qu’un algorithme soit exécuté sur des données, sans que les données ne soient visibles.”

Et ça, pour moi, c'est un peu paradoxal, car d'un côté on est extrêmement conscient du fait que notre vie privée doit le rester, que quand on communique, on doit communiquer de façon sécurisée mais d’un autre côté, dès lors qu'on utilise des applications, des réseaux sociaux, ou qu'il y a des algorithmes impliqués, on abandonne notre vie privée. Parce qu'on ne sait pas faire autrement. Pourtant, si tu vas sur un site qui n'est pas « https », ton navigateur te prévient “attention ce site est dangereux, est-ce que c'est une tentative de fishing, êtes-vous sûr de vouloir aller vers cette page?” donc quelque part on a vraiment conscience du fait qu'il ne faut pas faire transiter des données privées sans les protéger. Mais, les utilisateurs ont envie que Netflix leur recommande la nouvelle série à voir, donc en échange, ils acceptent que Netflix ait toutes les informations sur nos préférences et sache de quelle heure à quelle heure on regardait un film, probablement même avec qui, qui d'autre s'est connecté à notre compte, etc.

Et justement, pour utiliser ces plateformes de façon sécurisée, l'objectif de mon projet est de partir du fait que scientifiquement, il n'y a pas d’impossibilité mathématique à ce qu’un algorithme soit exécuté sur des données, sans que les données ne soient visibles.

On pourrait imaginer que Netflix ne voit jamais nos préférences en matière vidéo, qu'il les reçoive comme les site web les reçoivent, c'est à dire de façon chiffrée, protégée par un système de chiffrement inviolable qui ne leur donne aucune information sur les données mais qu'il puisse quand même exécuter un algorithme dessus. L’algorithme prendrait ces données, enverrait la suggestion vidéo, et l’utilisateur la recevrait sans que Netflix n'ait eu accès à ses préférences.
C'est mathématiquement tout à fait concevable et le champ de la cryptographie qui étudie ça s'appelle le calcul sécurisé qui cherche à comprendre comment faire des calculs sur des données privées sans les voir.
Le milieu hospitalier est un autre exemple d'application. Pour le cas de patients qui ont eu un cancer par exemple, les hôpitaux ont une grande quantité de données, comme leurs profils, leurs dates, leurs âges, s’ils étaient fumeurs, s’ils étaient en situation d'obésité, quel profil génétique ils avaient, est-ce qu'ils avaient pris tel ou tel médicament, et bien d’autres. Ce serait merveilleux pour la recherche en cancérologie de pouvoir les envoyer à des chercheurs en statistiques et qu'ils puissent savoir quels sont les liens entre l'obésité et tel cancer, entre le tabagisme et tel cancer. Ils découvriraient peut-être que d’avoir pris un certain médicament a diminué un peu le danger du cancer et donc, de nouveaux médicaments seraient peut-être mis au point. Ce serait très utile, mais aujourd'hui c'est illégal, parce que ce sont des données extrêmement privées. Par conséquent, le calcul sécurisé est une méthode qui permettrait de faire des calculs sur ces données sans jamais les voir.

J’ai pour ambition de développer des méthodes de calculs sécurisés avec comme cible principale leur usage sur Internet, avec les contraintes que ça implique. Quand on va sur un site web, le temps de latence autorisé est de 10 millisecondes. Si Netflix doit nous afficher une préférence vidéo, personne n’attendra 1 minute qu'il calcule avec un algorithme (qui fonctionne avec des données cachées) la préférence vidéo. Dans un système où des gens communiquent par le wifi, avec une bande passante limitée, ils veulent avoir le résultat d'un calcul potentiellement complexe en un temps très court, de l'ordre de quelques millisecondes, pour beaucoup de personnes à la fois, en passant de Netflix, à un réseau social, puis juste après, à une autre application. La possibilité théorique du calcul sécurisé est connue depuis les années 80. On a des algorithmes qui permettent de le faire, mais l'efficacité pratique est encore très loin de permettre l'usage que j'aimerai que l'on puisse atteindre un jour, et il me semble nécessaire d’y arriver, pour qu'Internet devienne vraiment sécurisé.

L'objectif de mon projet est donc que j'identifie un certain nombre de barrières d'efficacité en partant des méthodes existantes et en essayant de comprendre pourquoi elles sont bloquées à certains niveaux. Je vais essayer de développer de nouvelles approches, qui permettront peut-être de contourner ces barrières et d'atteindre de nouveaux records d'efficacité. Et si ça fonctionne, ça permettra plus tard, après une période de développement et de standardisation, qu'il y ait une vraie sécurisation des données sur Internet.

Est-ce que la technique du zero knowledge, que tu as notamment développé avec Pierre-Évariste Dagand dans l’article du Monde sur le contrôle de l'accès aux sites web pour adultes, peut être justement utilisée dans ton cas d'étude ?

C'est l'un des trois grands axes de mon projet ERC, le deuxième pour être exact, qui s'intéresse justement à ces preuves zero knowledge. Son grand cas d'application, c'est l’authentification anonyme. Quand tu prends le métro par exemple, à chaque fois que tu utilises ton pass navigo, la SNCF vérifie que tu payes bien la souscription. Mais tu donnes en fait beaucoup plus d'informations. Tu dis à la SNCF que tu es en train de passer telle borne, à telle station, et à quelle heure, ce qui est très invasif d'une certaine manière.

Une preuve zero knowledge permettrait de démontrer à la SNCF que ton identité appartient bien à la liste d'identité des personnes qui payent le pass navigo. Cette liste est publique, puisque tu es identifié au moment où tu payes. Ensuite, le pass navigo contiendrait une version chiffrée de ton identité et plutôt que de la révéler, tu révèlerais seulement le fait qu'elle appartient bien à une certaine liste publique, ce qu'on appelle une preuve de white listing. Tu prouves une information, l'identité dans cette liste, sans la révéler précisément. Si tu fais ça, tu permettrais à la SNCF de vérifier que les utilisateurs ont bien payés, sans compromettre leur vie privée. Et il est possible de le faire avec des preuves zero knowledge. C'est aussi beaucoup développé dans le cas des transactions anonymes, pour pouvoir faire des paiements sur Internet sans révéler son identité, puisqu’au moment où on le fait, il faut quand même prouver qu'on est bien propriétaire d'un compte en banque qui contient la somme suffisante pour faire le paiement.

Les scientifiques rendent possible certaines choses et communiquent sur ce qu’aujourd'hui, informatiquement, scientifiquement, on peut faire et ils en informent les législateurs. Dès qu’il y a création de technologies, le législateur peut imposer leurs usages. Aujourd'hui, par exemple, il y a des lois, comme le GDPR ou des équivalents aux États-Unis, qui imposent le respect de la vie privée. Les méthodes n’étant pas encore utilisables, le législateur ne peut qu’imposer l'anonymisation des bases de données. S’il y a une base de données avec toutes tes informations personnelles, on va retirer ton nom, ton prénom, et ton âge par exemple. Sauf qu’on sait que ça ne marche pas du tout parce que de nombreux algorithmes qui prennent en entrée une base de données anonymisée, sont capables de retrouver un individu à partir de plusieurs informations sur la personne en les croisant à partir d’informations publiques qui se trouvent sur Internet.

“Quand on te fait croire que tout est gratuit, c’est que la marchandise, c’est toi”

Il y a des lois sur le respect de l'anonymat, mais le législateur n'impose que ce que les sites sont légalement obligés de mettre en place. Et aujourd'hui, c'est restreint à l'anonymisation des bases de données dont on sait que ça échoue. Le jour où les méthodes seront algorithmiquement développées, il y aura un besoin qui va se créer, puisqu'il y a des gens qui cherchent à protéger leur vie privée. Des entreprises vont s'en emparer, vont développer des solutions, peut-être même la communauté libre va développer des solutions libres, des organismes de standardisation vont standardiser certaines de ces méthodes pour universaliser leur usage et dès que tout cet écosystème sera réuni, le législateur pourra les imposer.

“La transition se fait quand la technologie est prête.”

Et à ce moment-là, Netflix, Facebook, toutes ces plateformes qui sont pointées régulièrement du doigt pour les violations de la vie privée, dont ils disent aujourd'hui qu'elles sont inévitables pour leur fonctionnalité (et d'une certaine manière elles n'ont pas tort, même si elles en sont bien contentes), on pourra leur imposer d’utiliser ces nouvelles solutions. Il y aura inévitablement des répercutions plus larges, il est possible que certains, comme Netflix, augmentent le prix de leur souscription, puisqu’ils se faisaient de l'argent sur les informations privées des utilisateurs. Mieux vaut dire aux gens combien coûte leur sécurité, plutôt que de faire comme aujourd'hui, prétendre que tout est gratuit. “Quand on te fait croire que tout est gratuit, c’est que la marchandise, c’est toi”.

C'est un projet long terme, un ERC s’étale sur 5 ans, certains des objectifs en sont à leur balbutiement théorique donc peut-être qu'il y aura eu des avancées dans 5 ans, peut-être que certaines choses ne se développeront que bien plus tard, et ensuite la transition vers l'écosystème et vers le législateur pourra également prendre quelques années. Aux débuts d'Internet, rien n'était chiffré. Puis les méthodes de chiffrement ont été mis en place dans les années 90, elles sont devenues vraiment efficaces, elles ont été standardisées et depuis les années 2010, elles sont imposées partout. Désormais, le « httpps » qu'on ne voyait que très peu vers la fin des années 90 sur Internet, est universel sur tous les sites web. La transition se fait quand la technologie est prête.

Le calcul sécurisé fonctionne par ce que j’appellerai des paradigmes, c'est à dire qu'on a une approche globale pour comprendre comment on va faire un calcul de protocoles sécurisés et une méthode pour calculer sur des données sans les voir.

“[…] l'objectif est de s'extraire de ces paradigmes et d’en mettre en place de nouveaux qui vont permettre de dépasser ces barrières, de briser cette limite de la communication […]”

On peut le penser comme une recette générale qui, si on la suit, nous permet de réaliser un protocole. En fait, on peut se placer à haut niveau, étudier ces paradigmes en tant que tel, pas seulement des protocoles concrets mais les paradigmes généraux dans lesquels ils s'inscrivent et montrer que, tant qu'un protocole s'inscrit dans ce paradigme, il aura telle limitation.
Par exemple, quand on fait tourner un algorithme sur des données, fondamentalement, la seule chose qu'on est censé avoir besoin de communiquer, ce sont les données. Si tu as un algorithme énorme que tu veux faire tourner sur des données, j'ai juste à t'envoyer mes données et tu me renvoies le résultat. Mais certains paradigmes de calculs sécurisés font que quand on veut justement les rendre sécurisés, la communication entre nous deux va grossir, pas juste avec la taille des données sur lesquelles on veut calculer, mais aussi avec la taille de l'algorithme lui-même. C'est comme si, pour pouvoir calculer ces données de façon sécurisé, tu ne peux plus juste garder ton algorithme dans l'ordinateur, tu es obligé pour chaque mot clé dans la description du code de l'algorithme qu'il y ait un certain nombre de messages échangés, et ça, ça peut devenir gigantesque.

En génétique par exemple, on cherche à trouver la distance entre deux génomes pour repérer des mutations ou des maladies par exemple. Si on prend la description d'un gène qui va faire disons 4000bits, soit un demi kilobit à envoyer, ce n'est pas grand-chose. La taille de l’algorithme qui va calculer la distance d'édition (également appelé distance de Levenshtein), se compte en milliards de portes logiques. Pour exécuter ce calcul de façon sécurisé, la communication dans les paradigmes actuels de calculs sécurisés, se compte elle en giga-octets. D'un coup, on se retrouve à communiquer parfois jusqu’à cent mille fois plus que ce qui est fondamentalement nécessaire.

Donc là, l'aspect rupture, c'est que j'identifie les limites de ce paradigme et l'objectif est de s'extraire de ces paradigmes et d’en mettre en place de nouveaux qui vont permettre de dépasser ces barrières, de briser cette limite de la communication qui doit grossir avec la taille de l'algorithme sur lequel on calcul.

Concernant l'excellence scientifique, nous allons travailler à repousser les frontières de la connaissance et pour le mesurer, on va chercher à obtenir des résultats qui vont être validés par la communauté internationale, donc en étant publiés dans les meilleures conférences scientifiques du domaine.

J'ai commencé par faire une évaluation autour de ma capacité d’encadrement. L'équipe, telle qu'elle est prévue, sera composée de 4 doctorant·e·s et de 4 post-doctorant·e·s répartis sur les 5 années du projet. L'idée est qu’il y ait toujours deux à trois doctorant·e·s et un à deux post-doctorant·e·s, pour former un socle d'équipe. Ce socle de 5 personnes est ce que j'estime être ma capacité raisonnable d'encadrement, c'est à dire qui me permette de rester disponible pour avoir des activités et des réunions régulières avec eux.

Et ensuite, autour de cette équipe, il y a un réseau de collaborateurs avec qui je travaille et avec qui les doctorant·e·s et post-doctorant·e·s seront amené-e-s à collaborer.

En terme de types de profils, je fais une distinction entre doctorant·e et post-doctorant·e. Un·e doctorant·e, je le·la recrute d'abord sur un projet qui s’inscrit dans un des axes du projet ERC. Ce dernier est divisé en objectifs de recherche, chacun divisés en plusieurs axes, et certains de ces axes sont regroupés comme étant un projet de thèse qui s'intéressera par exemple à cette barrière que j'ai mentionnée plus tôt de « comment est-ce qu'on peut communiquer moins que la taille de l'algorithme quand on veut calculer de façon sécurisée un algorithme ? ».

Un·e post-doctorant·e, c'est assez différent, parce qu’il a déjà un bagage, il a déjà fait une thèse, il a une excellence scientifique et des résultats. Donc un projet avec un post-doctorant·e se construit en accord lui·elle, avec ses compétences et son excellence. L’objectif sera donc de trouver des post-doctorant·e·s qui par leur bagage scientifique peuvent contribuer à ce projet et qui pourront peut-être même étendre ce que j'avais défini, en allant plus loin.

Alors dans le monde beaucoup, en France pas vraiment, parce que je suis un des tout premiers à porter ce sujet. A l'époque, mon directeur de thèse m'avait mis sur un sujet qui était émergent en France, sujet que j’ai fait évolué et que je porte depuis. Au Danemark, à l’université d’Aarhus, il y a beaucoup de recherche dans ce domaine-là et je collabore activement avec eux. En Belgique également, il y a pas mal de recherche autour de ce sujet, dans une version plus appliquée : ils prennent les paradigmes existants de calculs sécurisés, plutôt que d’en chercher de nouveaux. Ils s'intéressent notamment à des questions d’implémentation, à développer des bibliothèques de code à destination d'entreprises pour pouvoir utiliser dès aujourd'hui les méthodes qui ont déjà été développées. Je n'ai pas de collaboration active avec eux, mais justement, dès que le projet aura avancé, ça ferait tout à fait sens que je me rapproche d'eux pour une transition vers une recherche plus appliquée vers l'industrie.

Et sinon pour les aspects théoriques de ma recherche, j'ai énormément de collaboration avec des chercheurs en Israël, qui est un centre très actif de la recherche théorique, avec 5 ou 6 université Israéliennes, ainsi qu’avec un certain nombre d'université aux États-Unis et dans d'autres pays.

J'ai fait une école d'ingénieur puis une thèse en cryptographie à Paris, à l'ENS, sur un sujet proche. Je m'intéressais justement plus spécifiquement aux preuves zero knowledge. Ensuite j'ai fait un post-doctorat de deux ans en Allemagne, à Karlsruhe, proche de Strasbourg.

C'est à partir de 2018, avec un ensemble de co-auteurs, que l’on a développé un nouveau paradigme de calcul sécurisé, dont l'idée générale flottait depuis quelque temps. Personne n’avait réussi à construire de protocole efficace dans ce paradigme, et on y a introduit en 2018 le premier protocole efficace. Ça a donc brisé l'une des barrières qui faisait que le calcul sécurisé n'était pas assez efficace à l'époque. Il en reste d'autres, il y a des limitations, il y a pleins de raisons qui font qu'aujourd'hui, il y a encore des années, des décennies de recherche avant que tout ne soit résolu mais c’est ça qui m’a vraiment fait rentrer dans ce sujet. Avant, je faisais de la recherche très théorique et j’ai compris qu’aujourd'hui on peut réellement briser ces barrières, introduire des nouveaux paradigmes, ce qui permet d'avoir des protocoles de calculs sécurisés qui soient extrêmement efficaces, qui fassent des choses que l'on n'imaginait pas possible autrefois.

“Pour moi, l'endroit où on en a le plus besoin, c'est sur Internet”

Mon papier de recherche a eu beaucoup d'influence, sur le domaine et sur ma carrière, parce qu’il a, je dirai, ouvert les vannes d’un champ de recherche dans lequel je me suis engouffré. Je pense qu’un gros tiers de ma production scientifique a émergé à partir de ce papier, peut-être une quinzaine. C'est ça qui m'a donné mes galons, c'est à partir de ces résultats et des fruits qui en ont découlé que je me suis fait reconnaître dans la communauté internationale en cryptographie et que j'ai pu commencer à attirer des doctorant·e·s, des posts-doctorant·e·s, monter des projets de recherche, des collaborations internationales. C'est ce qui a permis de briser une des barrières qu'il y avait et d’avoir un nouveau paradigme.

Désormais, je cherche à savoir ce qu'il reste à faire et pour répondre à cette question je me demande « où est-ce qu’on a besoin du calcul sécurisé ? ». Pour moi, l'endroit où on en a le plus besoin, c'est sur Internet parce que le calcul sécurisé vise à protéger notre vie privée, et la vie privée d'un patient à l'hôpital c'est crucial, la possibilité pour une entreprise de cacher ses comptes ou ses informations secrètes, c'est crucial mais quelque part ça touche des entités plus restreintes. La vie privée sur Internet, c'est celle qui touche absolument tout le monde et c’est pour moi un désastre à grande échelle de ne pas le regarder assez en face. Tout le monde laisse circuler des informations extrêmement privées, les internautes ne mesurent pas l'ampleur de leur utilisation des applications. Et donc, c'est en nous posant la question de « où est-ce qu'il y avait vraiment un besoin du calcul sécurisé aujourd'hui » que je me suis intéressé à ce cas d'application précis et que j'ai commencé à orienter toute ma recherche sur comprendre quelles sont les barrières qui persistent pour rendre le calcul sécurisé utilisable dans ce contexte-là. Et c’est de là qu'est né ce projet. Les premiers balbutiements du projet sont nés 2019 quand j’ai déposé un projet ANR en arrivant à l’IRIF, qui s’intéressait à un aspect restreint de ce sujet mais qui était plus dans la lignée de ce nouveau paradigme.

Aujourd’hui, le projet ERC vise à s’attaquer frontalement au problème dans son ensemble et par toutes les directions nécessaires pour pouvoir enfin faire du calcul qui soit sécurisé sur Internet.

European Research Council : Financement ERC Starting Grant
Article du Blog Binaire, 28/05/2023 : Contrôler l’accès aux sites web pour adultes : est-ce possible ?