Ce site est un site officiel de l’ODERSA. Voici comment le savoir

Le domaine officiel

L’adresse de ce site se termine par odersa.org. Chaque service de l’association vit sur un sous-domaine de odersa.org et nulle part ailleurs. Si l’adresse dans la barre de votre navigateur ne finit pas par odersa.org, ce site n’est pas le nôtre.

Gratuit, et sans compte

Tout est ouvert tout de suite. Aucune inscription, aucun compte, aucun mot de passe, aucun abonnement, aucune publicité. Rien n’est réservé à qui paie, puisque rien ne se paie.

Aucune donnée collectée

Ce site ne vous suit pas : ni mouchard, ni mesure d’audience, ni cookie de traçage. Vous n’avez pas à nous croire : ouvrez les outils de développement de votre navigateur, onglet Réseau, et rechargez la page. Vous verrez la liste complète de ce que le site demande. Tout vient de odersa.org, rien ne part ailleurs.

Contenus libres

Les contenus sont publiés sous licence CC BY 4.0. Vous pouvez les copier, les traduire, les imprimer et les redistribuer, pour vos cours comme pour vos proches, à la seule condition de citer l’ODERSA.

Les filigranes

Deux mécanismes portent le nom de « filigrane », et on les confond sans cesse. Ce chapitre en fabrique un de chaque sorte sous vos yeux, dans un texte puis dans une image, et détruit le second devant vous pour en montrer la vraie limite.

Information

Tout se calcule dans votre navigateur. Le texte est engendré par un modèle jouet appris sur cet appareil, l’image est dessinée sur un canvas local, et le message qu’elle cache n’est jamais envoyé nulle part. Ouvrez l’onglet Réseau de votre navigateur et manipulez la démonstration : aucune requête ne part.

Deux mécanismes qu’on confond

On appelle « filigrane » deux mécanismes très différents, et cette confusion coûte cher. Le premier déclare l’origine d’un fichier dans ses métadonnées, comme une étiquette collée dessus. Le second modifie discrètement le contenu lui-même, comme une texture tissée dans le tissu. Un fichier peut porter l’un, l’autre, les deux, ou aucun des deux.

Ce chapitre fabrique le second mécanisme sous vos yeux, dans un texte puis dans une image, parce qu’il se calcule. Le premier ne se calcule pas : il se déclare, ou il ne se déclare pas. Vient ensuite la comparaison des deux, avec ce que chacun survit et ce qu’aucun des deux ne remplace.

Un filigrane à liste verte, posé sur un texte

À chaque mot qu’il engendre, le modèle jouet de ce site calcule une liste de candidats possibles. Une clé secrète, combinée au mot qui précède, désigne une moitié de cette liste comme « verte ». Le tirage est ensuite légèrement poussé vers cette moitié. Réglez la clé et la force de cette poussée, puis engendrez un texte : chaque mot produit s’affiche avec l’étiquette que la clé lui donne à cet instant.

Un mot ou un nombre. La même clé doit être réemployée pour retrouver le filigrane ensuite. Un service réel la garde secrète ; ici, elle reste visible pour que le calcul se vérifie.
3,0
À zéro, aucune poussée : le tirage ignore la liste verte. Plus la force monte, plus il la favorise, au prix d’un texte plus contraint.
Le modèle complète cette amorce, comme au chapitre le prochain mot.

Le texte engendré s’affichera ici, mot par mot, avec la couleur que la clé lui donne.

Le texte ci-dessus se mesure avec la même clé, et n’importe quel autre texte aussi : collez-en un, ou modifiez celui qui vient d’apparaître, puis mesurez. Le résultat n’est jamais « filigrané » ou « pas filigrané » : c’est une proportion, à comparer à ce qu’elle vaudrait sans filigrane.

Pré-rempli par le texte engendré ci-dessus. Remplacez-le par n’importe quel autre texte pour le mesurer à son tour, avec la même clé saisie plus haut.

La proportion de mots en liste verte, et sa lecture, s’afficheront ici.

Un filigrane dans les bits de poids faible d’une image

Une image numérique est une grille de nombres, un par canal de couleur et par pixel, de zéro à deux cent cinquante-cinq. Changer le bit le plus faible d’un seul de ces nombres modifie sa valeur d’au plus un : rien qui se voie. Cette démonstration dessine une image, y cache un message dans exactement ces bits-là, le retrouve, puis vous laisse le détruire.

Détermine le dessin de fond. La même graine redonne toujours la même image, sur n’importe quel appareil.
Quelques dizaines de signes tiennent sans peine dans une image de cette taille.

L’image fabriquée, et le message retrouvé dessus, s’afficheront ici.

Choisissez maintenant une opération banale, de celles qu’un envoi par messagerie ou un partage sur un réseau applique tout seul, et regardez si le message survit.

Quatre choix, aucun conçu pour effacer un filigrane : ce sont des gestes ordinaires.

L’image après l’opération choisie, et ce qu’il reste du message, s’afficheront ici.

La méthode

Le filigrane à liste verte, pas à pas

  1. Pour le mot en cours, obtenir la liste des candidats possibles et leur probabilité, exactement comme au chapitre le prochain mot.
  2. Combiner la clé secrète et le mot qui précède immédiatement, puis en tirer un nombre entre zéro et un par une fonction de hachage. En dessous d’un demi, le candidat est vert ; au-dessus, il est rouge. La moitié du vocabulaire est verte à chaque étape, mais jamais la même moitié : elle change avec le mot qui précède.
  3. Ajouter la force choisie au logit de chaque candidat vert, avant la température et le tirage : c’est le biais que le modèle jouet accepte à cette étape précise.
  4. Tirer normalement dans cette distribution corrigée. Un mot vert a maintenant plus de chances d’être choisi, sans qu’aucun mot ne devienne impossible ; et quand tous les candidats de ce pas partagent la même couleur, le biais ne change rien, faute de choix à départager.
  5. Répéter pour le mot suivant : le mot qui précède a changé, donc la liste verte aussi.
  6. Pour mesurer un texte, refaire le calcul de l’étape deux sur chacun de ses mots, avec la même clé, et compter la part de mots verts. Sous la clé qui a servi à engendrer, cette part dépasse nettement la moitié ; sur un texte quelconque, ou sous une autre clé, elle reste proche de la moitié.
  7. Comparer cette part mesurée à la moitié attendue par un calcul d’écart réduit : plus l’écart est grand, plus la proportion observée serait rare dans un texte qui n’aurait pas reçu ce filigrane. Ce nombre ne devient jamais un verdict.

Cacher un message dans les bits de poids faible, pas à pas

  1. Dessiner l’image et lire ses pixels : pour chacun, trois nombres de zéro à deux cent cinquante-cinq, un par canal de couleur.
  2. Écrire la longueur du message, en nombre d’octets, sur les trente-deux premiers bits disponibles.
  3. Écrire chaque octet du message à la suite, huit bits chacun.
  4. Pour chaque bit à écrire, prendre le nombre suivant dans la grille des canaux de couleur, effacer son bit le plus faible et y mettre le bit du message. Le nombre change d’au plus un, sur une échelle de deux cent cinquante-cinq : aucun oeil ne voit la différence.
  5. Pour retrouver le message, relire les mêmes bits dans le même ordre, reconstituer la longueur puis les octets, et les convertir en texte.
  6. Une opération qui recalcule les pixels, une recompression ou un redimensionnement, recalcule aussi leur bit le plus faible, sans se soucier de ce qu’il portait. Le message ne survit que si cette valeur reste identique, au bit près.

Deux façons de marquer un contenu

Les deux essais ci-dessus donnent leur juste place aux deux mécanismes que ce chapitre distingue.

La provenance déclarée : lisible, et fragile

Une norme technique publique, C2PA, dit comment attacher à un fichier des informations signées sur son origine et son historique : quel appareil ou quel logiciel l’a produit, quelles modifications il a subies. Une application qui lit cette norme affiche ces informations en clair, sous le nom de Content Credentials. C’est une étiquette, au sens propre : elle dit d’où vient le fichier, elle ne touche à rien dans le fichier lui-même.

Une étiquette se décolle. La norme elle-même le reconnaît : ses informations de provenance peuvent être séparées du fichier, ce qui les rend perdables par une simple capture d’écran ou une réédition du fichier. Un envoi par messagerie qui recompresse une image, une capture d’écran qui ne recopie que les pixels affichés, un export vers un format qui ignore ce bloc de métadonnées : aucun de ces gestes n’est une attaque, et chacun suffit à effacer la provenance sans laisser de trace de l’effacement.

C’est là le contresens le plus répandu : une image sans provenance déclarée n’est pas une image qui cache quelque chose. C’est peut-être une image dont l’étiquette est simplement tombée en chemin, ce qui arrive à la quasi-totalité des images qui circulent.

Le filigrane statistique : discret, et plus résistant, pas invincible

Le filigrane statistique ne s’ajoute pas à côté du contenu : il modifie le contenu lui-même, de façon minime et répartie. Dans un texte, en poussant le tirage vers une liste de mots choisie par une clé, comme la démonstration plus haut vient de le faire. Dans une image, en modifiant des pixels d’une façon qui peut être bien plus discrète que les bits de poids faible employés ici pour rester explicable.

Cette différence de nature change tout pour la résistance. Une étiquette de métadonnées disparaît d’un seul geste, parce qu’elle n’est jamais que des données à côté des données. Un filigrane statistique doit être défait dans le contenu lui-même : recopier un texte à la main ne change rien à sa liste verte, et une image conserve parfois un filigrane à travers des opérations qui effaceraient sa provenance sans effort.

Cette résistance a deux limites, et les deux viennent de se voir plus haut. La première : un filigrane suppose que le fabricant l’ait posé au moment de la création. Rien n’oblige un service à le faire, et rien ne le prouve après coup si le contenu a circulé sans lui. La seconde : un filigrane n’est pas invincible non plus. Un travail cité au chapitre une image fabriquée montre qu’une attaque de régénération, qui ajoute du bruit à une image puis la reconstruit, retire les filigranes invisibles au niveau du pixel en préservant la qualité visuelle. La recompression ou le redimensionnement que vous venez de choisir plus haut en est la version élémentaire, appliquée à un mécanisme différent mais à la même idée : recalculer les pixels efface ce qui s’y cachait.

  • Un filigrane statistique modifie le contenu lui-même, donc il voyage avec des copies qu’une étiquette de métadonnées ne suit pas.
  • Sa détection rend une proportion et un écart mesurés, jamais un mot pour trancher.
  • Des filigranes de cette famille sont réellement déployés et publiés, évalués par les pairs.
  • Il ne se pose pas tout seul : sans un fabricant qui choisit de l’appliquer, il n’y a rien à détecter.
  • Il ne résiste pas à tout : une opération assez appuyée, même banale, en vient à bout.
  • Il ne dit jamais si un contenu est vrai ou faux, seulement s’il porte la marque d’une fabrication donnée.

Ce que la recherche a mesuré

Une norme technique publique définit comment attacher à un fichier des informations vérifiables et signées sur son origine et son historique de modification, et reconnaît elle-même que ces informations sont séparables du fichier, donc perdables par une capture d’écran ou une réédition, sans que rien ne signale la perte.

Insérer dans un texte engendré un filigrane statistique invisible à l’oeil, en favorisant légèrement certains mots à chaque étape, puis le détecter par un test statistique : c’est exactement le mécanisme que la démonstration plus haut vient de faire tourner. Un mécanisme de cette famille, intégré à l’échantillonnage d’un service réel, a été publié et évalué par les pairs dans la revue Nature : ce que cette page simplifie à des fins pédagogiques est déployé ailleurs à une tout autre échelle.

Le geste à garder

Devant un fichier dont l’origine compte, deux réflexes se substituent trop souvent à un jugement. Le premier : chercher une provenance déclarée et, faute de la trouver, conclure que le fichier cache quelque chose. La norme elle-même dit le contraire : l’absence de provenance est l’état normal de la quasi-totalité des fichiers qui circulent, pas une preuve. Le second : demander à un outil de détection un verdict, sur un texte ou sur une image. Une évaluation indépendante de quatorze outils de détection de texte, y compris des outils employés dans l’enseignement, conclut qu’aucun n’est à la fois fiable et précis ; le fabricant de l’un des plus utilisés a lui-même retiré son outil six mois après son lancement, en invoquant un taux de fiabilité trop faible pour être utile.

La démonstration de filigrane à liste verte plus haut s’applique cette même prudence à elle-même : son résultat est une proportion et un écart réduit, jamais un mot pour trancher. Devant un contenu dont l’origine compte réellement, la question utile reste toujours la même : qui l’a publié en premier, à quelle date, et est-ce corroboré ailleurs. Un indice technique documente un doute, il ne le remplace jamais.

Pour aller plus loin

Le mécanisme que ce chapitre laisse de côté, celui qui repère la trace involontaire d’une fabrication plutôt qu’un filigrane posé exprès, est traité aux chapitres une image fabriquée et une voix fabriquée. Le tirage que le filigrane de texte vient biaiser est expliqué en détail au chapitre le prochain mot. Les situations où aucun de ces outils ne suffit sont réunies dans quand ne pas s’en servir. Toutes les démonstrations du site sont réunies à la page démonstrations, et le sommaire du cours à la page comprendre.

Sources