[libertés] Algorithme (endiablé) et loi Renseignement

Algorithme et traitement de données (parlons Big Data !)

[mis à jour le 16 mars 2016] Le projet de loi sur le renseignement (oui, encore…) nécessite une bonne compréhension d’un certain nombre de concepts techniques propres à l’informatique. Dans les épisodes précédents, nous avons vu le protocole TCP/IP et la notion de deep packet inspection, puis les métadonnées qui entourent les communications électroniques.

Voyons maintenant ce qu’il faut retenir de la notion d’algorithme. [mise à jour du 27 septembre 2018 : vous pouvez aussi voir ma présentation en BD sur le sujet]

Comme toujours, progressons pas à pas.

1 – Une définition technique abstraite

« Un algorithme, c’est … une façon de décrire dans ses moindres détails comment procéder pour faire quelque chose » nous apprend la page Wikipédia sur le sujet.

Même avec Wikipédia, il semble difficile d’échapper à la comparaison entre algorithme et recette de cuisine :

« Une recette de cuisine peut être réduite à un algorithme … :

– des entrées (les ingrédients, le matériel utilisé) ;

– des instructions élémentaires simples, dont l’exécution amène au résultat voulu ;

– un résultat : le plat préparé« .

Cela vous semble obscur et abstrait ? Ça l’est. Concrètement, un algorithme est une méthode mathématique dans laquelle on fait entrer des données (variables, par nature) et dont on attend un résultat.

Nous voilà bien avancés… Passons au droit ?

2 – Un objet juridique mal identifié

Le terme « algorithme » est utilisé dans le code général des impôts ici et (toujours cette approche très pragmatique des choses quand il s’agit pour l’Etat d’aller chercher de l’argent), le Code de l’éduction, le Code du sport, le Code monétaire et financier, le Code de l’action sociale et des familles, et enfin le Code de l’aviation civile.

Mais sans aucune définition.

Son statut d’objet juridique est défini implicitement (et par la négative) dans le Code de la propriété intellectuelle [art. L.611-10 CPI] :

  1. Ne sont pas considérées comme des inventions brevetables … notamment :
  2. a) Les découvertes ainsi que les théories scientifiques et les méthodes mathématiques ;

Les « méthodes mathématiques« , ce sont les algorithmes. Nous progressons (lentement…).

3 – Algorithme et logiciel

Lorsque l’on souhaite automatiser une méthode mathématique, il faut traduire la méthode mathématique (abstraite) en lignes de code informatique et demander à un ordinateur d’exécuter ce code. L’algorithme transposé dans un logiciel n’est alors qu’une série d’instructions dans un code source. C’est un élément, une brique d’un logiciel. Nous ne parlerons donc plus d’algorithme dans la suite de notre analyse, mais de logiciel (ou de « programme d’ordinateur » pour reprendre la terminologie de la directive communautaire du 23 avril 2009).

4 – Logiciel et projet de loi sur le renseignement

Le mot « algorithme » ne figure nulle part dans le projet de loi sur le renseignement, pas plus que celui de logiciel d’ailleurs. Le terme a été utilisé par le gouvernement lors de la présentation du projet de loi à la presse pour décrire ce qui se passe dans le « dispositif » que l’Etat imposera aux opérateurs télécom et aux FAI.

Le projet de loi [art. L.851-4 du futur Code de la sécurité intérieure] évoque un « dispositif destiné à détecter une menace terroriste sur la base de traitements automatisés« . Un « traitement automatisé » ? C’est bien un traitement d’informations par un logiciel. En droit pénal, la notion de « système de traitement automatisé de données » est connue depuis 1988 et désigne un système d’informations, c’est-à-dire les ordinateurs, les logiciels et les données qui y sont traitées.

Que savons-nous d’autre dans le projet de loi sur ce « traitement automatisé » ? Rien que ce que nous en dit l’article L.851-4 du futur CSI :

– l’autorisation du Premier ministre « précise le champ technique de la mise en œuvre de ces traitements » ;

– cette mise en œuvre ne permet pas le recueil « d’autres données que celles qui répondent aux critères de conception des traitements automatisés » ;

– la CNCTR « émet un avis sur … les critères des traitements automatisés« , « dispose d’un accès permanent [aux traitements automatisés]« , « est informée de toute modification apportée [aux traitements automatisés] et peut émettre des recommandations« .

Vous n’avez rien compris, vous non plus ?

Peut-être y verrons-nous plus clair en partant de la fin : les finalités du logiciel.

************ INTERMEDE ***************************************

Pour vous détendre, allez regarder « la loi sur le renseignement expliquée aux patates« . Ce film dure 5 minutes et vous éclairera sur l’ensemble du dispositif légal qui se prépare.

*********** FIN DE LA PAUSE ************************************

5 – A quoi va servir le logiciel ?

Citons les propos de notre Ministre de l’intérieur lors de son audition le 12 mai 2015 devant la Commission du Sénat« [le logiciel] vise à sélectionner les données pertinentes en matière de prévention du terrorisme à l’opposé d’un stockage massif de métadonnées« .

Alors, sélection ciblée ou stockage massif de données ? C’est en mélangeant les deux notions et en insistant bien fort sur la lutte contre le terrorisme que nos ministres noient (habilement ?) le poisson.

(i) la « sélection de données pertinentes« , c’est l’article L.851-3 CSI pour pister les personnes déjà identifiées (suspectées de terrorisme). Pas de problème, ce n’est pas de la surveillance de masse puisque le « dispositif » vise des personnes préalablement ciblées.

(ii) le « stockage massif de métadonnées« , c’est l’article L.851-4 CSI, le « dispositif destiné à détecter une menace terroriste sur la base de traitements automatisés« .

Or, l’un ne va pas sans l’autre (M. Cazeneuve, arrêtez de nous prendre pour des dindons !).

En fait, la vraie phrase du Ministre, celle qui dit la vérité (technique) aurait dû être « sélectionner les données pertinentes en matière de prévention du terrorisme à l’opposé d’un APRES stockage massif de métadonnées ET  ANALYSE LOGICIELLE« .

Et il faut savoir qu’aujourd’hui (en 2016), avec des données collectées en masse, il est possible de poursuivre trois buts, trois applications diraient les techniciens.

5.1 –  La recherche « classique »

A partir d’un gros volume de données, il est relativement simple de faire des recherches de type mots-clés. Il suffit de faire de la détection sur les flux de données transitant par exemple sur Internet ou chez un opérateur de communications électroniques (pour savoir où placer utilement la boite noire, lire le très bon  blog de Jean-Baptiste Favre).

Cette méthode de collecte et d’analyse classique nécessite de rentrer dans les contenus, de faire du deep packet inspection, dans les adresses emails ou les pages web visitées (voire leur contenu), les images ou les vidéos visionnées, etc.

C’est exactement l’inverse de ce que fait un moteur de recherche comme Google, qui indexe d’abord massivement les contenus sur Internet pour ensuite répondre à des requêtes sur des mots ou expressions clés.

Or, avec l’article L.851-4 CSI, il s’agit pour les services spécialisés de renseignement de paramétrer par avance une liste de ces mots ou expressions clé et d’écouter le plus possible de trafic (Internet ou mobile) pour détecter les personnes qui consultent les contenus identifiés.

C’est une méthode très imprécise (du fait – déjà – du volume de données dont l’analyse est nécessaire) qui implique surtout un nombre important d’erreurs, car la simple consultation d’un contenu (qualifié a priori comme « terrorisme ») ne pourra suffire en soi à détecter le caractère « terroriste » de celui qui le consulte. Le journaliste qui consulte une vidéo de décapitation sera détecté par le logiciel, qui collectera et stockera l’ensemble des données le concernant, et fera a priori de ce journaliste un suspect de « terrorisme ». Mais les données auront été collectées et resteront stockées 5 ans.

Si vous êtes inquiet après la lecture de ce premier paragraphe, prenez la peine de vous asseoir avant celle des deux suivants.

5.2 – La cartographie des relations sociales

Avec l’ensemble des données dont disposeront les services spécialisés de renseignement, même strictement limitées aux données techniques de connexion (les fameuses « métadonnées »), il sera possible d’établir une cartographie des relations sociales, un « graphe« .

L’illustration ci-dessous (Slate.fr du 9 juillet 2013 « Métadonnées: voilà à quoi ressemble ce que la DGSE peut savoir de vous« ) vaudra tous les discours du monde :

graphe

Vous visualisez mieux le problème, sachant que dans le projet de loi sur le renseignement, les métadonnées sont sensées être collectées de manière anonyme ?

Tous les professionnels de l’intelligence artificielle et les chercheurs de l’Institut national de recherche en informatique et automatisme (INRIA) sont formels : un graphe (par exemple pour rechercher « qui » gravite dans l’entourage d’une personne – suspecte ou non) nécessite une collecte et un stockage massifs de données (car un tel traitement est aujourd’hui apparemment difficile en temps réel – ce n’est qu’une question de temps ?).

C’est une forme de fichage particulièrement efficace, puisque la technique permet un traitement de ces données sans limitation théorique de volume et de temps. C’est juste une question de capacité technique de collecte, de traitement et de stockage des données entrant dans le logiciel.

Evidemment, le danger des graphes, une fois qu’ils sont constitués, est surtout que ses données soient réutilisées pour faire – par exemple – du renseignement à large échelle, en créant un “modèle” de population (de ses opinions…), alors que les données ont été par exemple (au hasard) collectées pour lutter contre le terrorisme. Au hasard…

Ne partez pas, il reste une troisième application connue.

5.3 – Le logiciel « prédictif »

Le concept est le suivant :

1) écrivez un programme d’ordinateur (un algorithme) destiné, par exemple, à opérer des classifications (de comportement…). Ce type de logiciel est initialement neutre, il ne « sait » rien faire.

2) nourrissez-le d’un « jeu de données » pour qu’il s’entraîne. Lors de cette étape, dite d’apprentissage, on laisse le logiciel interpréter les données d’entrée pour produire un résultat « test ». Ce résultat est comparé à celui qui est attendu (espéré ?) par ses concepteurs, et les erreurs sont réinjectées dans le logiciel avec une fonction correctrice de sorte que le logiciel à son tour corrige, petit à petit, son fonctionnement pour s’approcher des résultats attendus.

3) une fois l’apprentissage achevé, le logiciel détermine des « patterns » (des motifs de classification) que lui seul connaît. Et il est quasiment impossible, avec une grande quantité de données, de comprendre quels sont les critères précis qui lui ont permis de détecter les « patterns« . Alors, et alors seulement, des données réelles peuvent être utilisées dans le logiciel. Analysez le résultat (étape plus ou moins humaine) et infirmez ou confirmez les résultats du logiciel.

4) reprenez à l’étape 2, avec un jeu de données enrichi (de nouvelles données fraichement collectées). Plus les données sont nombreuses, plus le logiciel affinera ses résultats, diminuant son taux d’erreurs (les « faux-positifs« ) de 90 % à 10 %, puis à 5 %, etc.

Les cinéphiles adeptes de science-fiction feront le rapprochement avec le film Minority Report (Steven Spielberg en 2002) et sa détection pré-crime. Pourtant, cette technique de traitement des données n’est plus de la science fiction, mais bel et bien une réalité technique, au point que le Conseil d’Etat a rendu un rapport en septembre 2014 sur le sujet. On y trouvera de longs développements sur les « algorithmes prédictifs » et vous en trouverez une synthèse (de qualité – comme toujours) sur le site Next INpact dont est extraite l’illustration ci-dessous.

Algorithme

Dans la loi sur le renseignement, le logiciel (l’algorithme) « prédictif » devra nécessiter de gros volumes de données pour apprendre.

Pour le dire autrement, il serait nécessaire aux services spécialisés de renseignement de posséder de données sur un échantillon massif de population pour donner des résultats un tant soit peu utilisables. Or, les spécialistes de l’intelligence artificielle sont unanimes : ce type de logiciel est efficace pour identifier des « patterns » (les motifs de classification) souvent rencontrés, mais pas pour détecter de nouveaux comportements.

Or, nos ministres nous expliquent qu’ils souhaitent précisément détecter de « nouveaux comportements« . Par définition, cela ne fonctionnera donc pas.

De plus, les terroristes cibles ont un comportement qui échappe aux classifications puisqu’ils s’adaptent en permanence pour échapper à une détection de type « modèle connu ». Cela ne fonctionnera donc (vraiment) pas.

5.4 – Le problème du taux d’erreur : les « faux-positifs »

Le premier problème de ce type de logiciel dit « prédictif » est son taux d’erreur (les « faux-positifs« , les bonnes réponses qui n’en sont pas). Prenons l’exemple d’un logiciel, avec un taux de « faux-positifs » de 1%. Rapporté aux 63 millions d’habitants pour la France, cela voudrait dire une première population de faux-positifs de 630.000 personnes. Dont les données, malgré leur inutilité, resteront stockées 5 ans ?

Voici sur ce point précis ce que les chercheurs de l’INRIA écrivent dans une note révélée par la presse le 13 mai 2015 :

« Le paradoxe statistique des « faux-positifs » doit être parfaitement compris lors du traitement automatique d’information. Ce paradoxe conduit à devoir effectuer le plus souvent des traitements intrusifs de masse, formellement inopérants en pratique et pouvant conduire à des erreurs de classification avec des conséquences potentielles sérieuses« .

Avec seulement 1% d’erreurs, ce seraient donc 630.000 personnes dont les données seraient collectées et analysées. Et conservées 5 ans. Mais une fois que les données seront stockées, qui sait à quoi elles pourraient être réutilisées ?

Il est bien évident que la technique informatique permettra à terme (si ce n’est pas déjà le cas aujourd’hui) de combiner les données des 3 applications pour obtenir des résultats encore plus probants…

5.5 – Une collecte de données dont l’analyse viole le secret des correspondances et ne permet aucun anonymat

Le second problème des logiciels « prédictifs » tourne autours de la collecte de données, en principe anonymes selon le projet de loi. Or techniquement, professionnels et chercheurs sont tout aussi définitifs : ce type de traitement ne peut pas porter sur des données « anonymes« .

Une des conclusions de la note de l’INRIA révélée par la presse le 13 mai 2015 pointe également ce problème (euphémisme) :

« L’anonymisation est un problème de recherche largement ouvert et il n’existe pas aujourd’hui de technique d’anonymisation sûre. Un texte de loi ne devrait donc pas se fonder sur la notion de donnée anonyme ou anonymisée mais plutôt utiliser les notions de données pseudo-anonymes ou encore de données personnelles« .

Par nature, le « dispositif destiné à détecter une menace terroriste sur la base de traitements automatisés » de l’article L.851-4 du futur CSI nécessitera une collecte massive de données (« ce que l’on cible« ) et techniquement, aboutira à un stockage massif des données de ceux que l’on cible (« ceux » = tout le monde).


Il s’agit donc bien techniquement de collecter et de stocker les données du plus grand nombre (les « innocents« ) puis de les traiter pour identifier un résultat espéré satisfaisant (les « suspects« ).


Selon M. Cazeneuve, lors de son audition le 12 mai 2015 devant la commission du Sénat dont j’ai pris attentivement note : « Il n’y a pas de surveillance de masse prévue par ce projet de loi »… « Je dirai même que ce projet de loi interdit la surveillance de masse » … « c’est le contraire d’une surveillance de masse… ».

Selon M. le Drian (même audition) : [Le logiciel] c’est un ciblage mais c’est un ciblage qui ne porte pas sur des individus, mais sur des modes de communication que les services ont pu identifier comme étant caractéristique de l’activité de personnes impliquées dans l’action terroriste » … [c’est] « un tri mathématique« 

En synthèse, il faut donc surveiller tout le monde pour identifier quelques suspects (cherchez le coupable parmi les innocents) et, techniquement, cette collecte et ce traitement de données ne peuvent pas – par nature – être anonymes.

Affirmer le contraire – comme le font nos Ministres de l’intérieur et de la défense – c’est soit se tromper, soit mentir.

Et comme l’écrit justement la journaliste Andréa Fradin : « Quel que soit l’algorithme choisi, la surveillance est massive. Manuel Valls et Bernard Cazeneuve ont beau répéter que ce n’est pas le cas, la technique les fait mentir« .

6 – L’illusion du contrôle du logiciel par la CNCTR

Le plus attristant dans ce débat reste l’affirmation du prétendu pouvoir de contrôle de la future Autorité de contrôle. La CNCTR, composée de parlementaires et de hauts fonctionnaires détachés de leur fonction judiciaire d’origine, devrait contrôler « toute modification apportée [aux traitements automatisés]« .

Pensez-vous sérieusement que la CNCTR pourra auditer le logiciel, sa logique, les centaines de milliers de lignes de ses codes source et identifier les « patterns » ?

Les spécialistes de l’intelligence artificielle confirment unanimenent que le contrôle du fonctionnement du logiciel sera impossible car le logiciel effectuera des corrélations dont les « raisons » seront impossible à établir par une démarche analytique.

Pensez-vous sérieusement que la CNCTR disposera des connaissances et des capacités techniques pour procéder à ces contrôles ?

Et pensez-vous que les ressources financières suivront ?

Pour ma part, je travaille avec l’industrie du logiciel depuis plus de quinze ans, et je suis incapable d’expliquer ce que veut dire « le champ technique de la mise en œuvre de ces traitements« . Mais je sais qu’un audit de codes source, ce n’est pas facile et ça coûte cher…

Ces dispositions du projet de loi sont un leurre pur et simple. Aucun contrôle ne sera en réalité possible sur ce logiciel.

La CNIL ne dit pas autre chose dans sa délibération du 5 mars 2015 et lors d’un colloque organisé le 20 mai 2015 à l’occasion duquel sa Présidente a déclaré qu’il y a « une forme de déséquilibre entre le contrôle amont de la donnée que le gouvernement et le Parlement veulent robuste, et son contrôle en aval qui aujourd’hui est inexistant. Nous avons dit que ce dispositif n’est pas raisonnable, et nous souhaitons que la CNIL puisse être chargée du contrôle des fichiers en aval, alimentés via ces nouvelles techniques de collecte« .

Triste conclusion

Quoi qu’en disent nos ministres, le logiciel contenu dans le « dispositif » qui sera imposé aux opérateurs télécom et aux FAI sera parfaitement opaque.

Le « dispositif » du futur article L.851-4 CSI permettra de collecter massivement des données qui n’auront rien d’anonyme. Et ces données devront nécessairement être analysées en profondeur, en violation du principe du secret des correspondances.

Ce que j’ai aimé dans Minority report ? A la fin, le système de détection « pré-crime » est abandonné à cause de ses failles.

Mais chacun sait que les happy end, c’est seulement dans les films.


PS : [16 mars 2016] je relis cet article. Vous pouvez remercier Jef Mathiot (@TouitTouit). Sans ses explications techniques, impossible de démêler le vrai du faux.


00 Ledieu avocat contrat nouvelles technologies web logiciel SaaS web données personnelles métadonnées renseignement surveillance #1.21 [31-08-2016].004