Skip to content

Quésaco, was ist das.... Mystery Cache

Hidden : 4/20/2021
Difficulty:
4 out of 5
Terrain:
2 out of 5

Size: Size:   micro (micro)

Join now to view geocache location details. It's free!

Watch

How Geocaching Works

Please note Use of geocaching.com services is subject to the terms and conditions in our disclaimer.

Geocache Description:


De la cryptographie à la stéganographie

En grossissant un peu le trait, et avec les acceptions modernes, nous dirions volontiers que la cryptographie consiste en une écriture secrète (au sens d’indéchiffrable), tandis que la stéganographie consiste en une écriture discrète (au sens d’indiscernable). Si la notion de « clef secrète » est commune à la cryptographie et à la stéganographie, leur différence essentielle réside dans le fait que, pour la cryptographie, la clef secrète empêchera celui qui n’en a pas la connaissance de déchiffrer le message, alors que la stéganographie empêchera de suspecter son existence même.

Sans doute convient-il d’appuyer dès maintenant sur une implication majeure de cette différence : la cryptographie est une écriture secrète mais nue, alors que la stéganographie est une écriture discrète : elle nécessite une couverture, un contenu dans lequel vivre, tel un espion qui n’est pas vraiment celui qu’on croit. En d’autres termes, un message crypté est immédiatement perçu comme incompréhensible, alors qu’un message stéganographié n’est pas même immédiatement perçu comme existant. Le lecteur conviendra aisément que l’important pour un assiégé est bien qu’on ne puisse pas soupçonner ses communications plutôt qu’on ne puisse les déchiffrer. Ainsi donc, nous distinguons l’écriture secrète de l’écriture indiscernable, qui nous intéresse ici. De fait, rien n’interdit de cacher un message préalablement crypté. Les deux disciplines n’ont jamais été concurrentes, mais sont plutôt complémentaires.

 

De la stéganographie au tatouage

De nos jours, la stéganographie continue de faire l’objet de recherches intenses, et elle doit partager la scène, peut-être victime d’une trop grande proximité apparente, avec une autre discipline : le tatouage.

L'historien grec Hérodote (484-445 av. J.-C.) rapporte une anecdote qui eut lieu au moment de la seconde guerre médique. 

Dans un  passage de son œuvre, il fait référence à la stéganographie : au paragraphe 35 du livre V, Histiée incite son gendre Aristagoras, gouverneur de Milet, à se révolter contre son roi, Darius, et pour ce faire,

« Il fit raser la tête de son esclave le plus fidèle, lui tatoua son message sur le crâne et attendit que les cheveux eussent repoussé ; quand la chevelure fut redevenue normale, il fit partir l'esclave pour Milet."

 

 

Ainsi donc, ces deux domaines de recherche peuvent paraître semblables car ils ont la même exigence d’indiscernabilité (de l’existence du message) ; pourtant, leur différence est fondamentale : la stéganographie recherche une indiscernabilité statistique, alors que le tatouage recherche une indiscernabilité perceptuelle.

Au tournant des années 2000, des techniques utilisant l’information adjacente ont permis de décupler les performances des méthodes proposées. On considère aujourd’hui que l’utilisation de l’information adjacente est une des caractéristiques qui fondent les domaines de la stéganographie et du tatouage comme autonomes par rapport à d’autres domaines plus classiques, comme par exemple les communications numériques.

 

Le tatouage numérique ou l’art du camouflage

Le tatouage par lui-même a aussi connu sa petite histoire, indépendante de celle de la stéganographie. On dirait aujourd’hui que, outre la nature de l’indiscernabilité visée (statistique ou perceptuelle), les deux branches de l’écriture discrète diffèrent par leur but.

Revenons un instant encore sur ces fines distinctions entre cryptographie, stéganographie et tatouage. La cryptographie, en tant qu’écriture nue, immédiatement incompréhensible, qui n’a pas besoin de camoufler son caractère indéchiffrable, peut très bien se satisfaire des propriétés calculatoires des nombres pour être (redoutablement) efficace. Seul celui qui partage la clef secrète va pouvoir résoudre le problème d’arithmétique posé par le cryptogramme qu’il reçoit.

Il en va tout autrement pour la stéganographie ou le tatouage. Tous les deux ont besoin de cette couverture pour se camoufler. La stéganographie cherchera à faire en sorte qu’aucun test statistique ne puisse discerner de différence entre la couverture avant et après enfouissement du message caché. Le tatouage, de son côté cherchera à ce que le système perceptuel humain ne puisse discerner de différence sur la couverture avant et après enfouissement du message caché. Pour la stéganographie comme pour le tatouage, la clef secrète servira à mettre en évidence le message caché.

D’un côté, nous avons donc les propriétés algébriques et arithmétiques des nombres (un calcul cryptographique qui se révèle vrai ou faux suivant qu’on partage ou non la clef secrète), et de l’autre, nous nous intéressons à une distorsion de la couverture, statistique (pour la stéganographie) ou perceptuelle (pour le tatouage). Il faut alors maintenant terminer de séparer la stéganographie du tatouage : la première fera appel à des grandeurs issues de la théorie de l’information (pour les statistiques), alors que le second devra intégrer les données, parfois fluctuantes, de la physiologie (pour la perception humaine). Nous continuons notre propos en faisant l’hypothèse qu’une machine numérique, un ordinateur, est utilisée pour le décodage du tatouage. Plus particulièrement, nous faisons référence aux méthodes tant de calcul arithmétique que d’estimation de signal qu’un ordinateur moderne peut supporter.

 

Précisons cette notion de couverture : nous voulons en réalité cacher un tatouage dans une image, un son, un objet 3D, un texte, un programme informatique, etc. Ce que nous appelons couverture est en fait le medium qui servira de canal de transmission pour notre tatouage. Il convient donc de ne pas (trop) abîmer la couverture. On parle alors de distorsion due à l’enfouissement du tatouage. En effet, cacher un tatouage nécessite de modifier la couverture, mais on veut que cette dernière reste utilisable par un humain. On ne veut pas que le tatouage rende l’image détestable ou le son insupportable. La plupart du temps, on se donne un budget de distorsion, une quantité de distorsion que l’on s’autorise à infliger à la couverture, qui reste dans les limites de l’imperceptible.

On peut donc voir le tatouage comme un bruit, une perturbation, que l’on ajoute à la couverture. On veut que ce bruit reste imperceptible. Pour cela, on jouera tant sur sa puissance que sur les faiblesses du système perceptuel humain (on parlera alors de masquage psycho-perceptif). Il est important de considérer tant la couverture que le tatouage comme des signaux : un ensemble d’intensités lumineuses sur un écran, une suite d’échantillons du son, etc. C’est nornalement le parti que prennent les chercheurs travaillant en compression : un fichier MP3 n’est qu’une suite d’échantillons sonores auxquels on a retiré les signaux que l’oreille n’est pas censée percevoir. Le tatouage est cependant un signal d’un genre particulier, pour deux raisons : il est censé « ressembler » à la couverture, et il doit également être généré à partir de la clef secrète.

 

Quelques techniques rendues possibles par l'ordinateur aujourd’hui

Message transporté dans une image

L'idée est de prendre un message et de le modifier de manière aussi discrète que possible afin d'y dissimuler l'information à transmettre. Le message original est le plus souvent une image. La technique de base dite LSB pour least significant bit consiste à modifier le bit de poids faible des pixels codant l'image : une image numérique est une suite de points, que l'on appelle pixels, et dont on code la couleur à l'aide d'un triplet d'octets, par exemple pour une couleur RGB sur 24 bits. Chaque octet indique l'intensité de la couleur correspondante rouge, vert ou bleu (Red Green Blue) par un niveau parmi 2561. Passer d'un niveau n au niveau immédiatement supérieur (n+1) ou inférieur (n-1) ne modifie que peu la teinte du pixel, or c'est ce que l'on fait en modifiant le bit de poids faible de l'octet.

Ces techniques de stéganographie très basiques s'appliquent tout particulièrement au format d'image BMP, format sans compression destructive, avec codage des pixels entrelacé sur 3 octets comme énoncé. Réciproquement, tout procédé de compression-décompression d'images avec pertes ou de redimensionnement de l'image est susceptible de détruire un message stéganographique codé de ces façons. On parle alors de stérilisation. Un pays totalitaire pourrait stériliser à tout hasard toute image BMP entrant ou sortant de son territoire, moyennant les ressources techniques nécessaires.

 

            

 

Manipulation de la palette de couleurs d'une image

Certains formats graphiques tels que GIF ou PNG permettent le stockage des couleurs de l'image par référence à une palette de couleurs insérée dans le même fichier.

Ainsi, au lieu de stocker bleu, blanc, rouge dans une image du drapeau français, on trouve dans un format de fichier la description de l'objet la suite couleur1, couleur2, couleur3 ainsi qu'une palette qui définit que couleur1 est le bleu, couleur2 le blanc et couleur3 le rouge.

La même image peut-être stockée de la façon suivante : couleur2, couleur3, couleur1 avec une palette qui définit que couleur2 est le bleu, couleur3 est le blanc et couleur1 est le rouge.

Ces deux images sont visuellement identiques, mais leur stockage est différent. Pour une image contenant 256 couleurs uniques dans sa palette, on a factorielle 256 ({\displaystyle 256!}256!) façons de stocker cette image. En utilisant un code connu entre l'émetteur et le récepteur de l'image, on peut donc communiquer un message de petite taille {\displaystyle log2(256!)}log2(256!), soit un peu moins de 1 684 bits caché dans la permutation des couleurs de la palette de l'image.

    

 

Message caché dans les choix de compression d'une image

Étant donné que l'on doit nécessairement donner une place moindre au message qu'à la couverture, il est naturel de penser que la stéganographie est incompatible avec des compressions avec perte. En réalité, il est bien plus avantageux d'utiliser le format JPEG, qui est bien plus utilisé et permet plus de discrétion, même si cela se fait aux dépens de la capacité d'insertion.

En effet, les algorithmes de compression avec pertes vont nécessiter une série de choix, qui peuvent résulter en des dégradations de l'image originelle. On peut se servir de ces choix pour cacher l'information que l'on souhaite transmettre.

Le format JPEG fait intervenir deux compressions. La première consiste à découper l'image en blocs de 8 fois 8 pixels et de leur appliquer la transformée en cosinus discrète (DCT). Cela permet en particulier de séparer les composantes de l'image les plus importantes de celles qui se voient le moins. On retire alors plus ou moins de détail, suivant la place que l'on souhaite gagner. Cette compression introduit des pertes et la DCT induit des erreurs d'arrondi, mais celles-ci seront souvent difficilement perceptibles par l’œil humain. Une fois tous les blocs transformés, on peut y insérer l'information que l'on souhaite cacher, par exemple dans le cas de la méthode Jsteg, avec la méthode des LSB expliquée plus haut. On applique alors diverses méthodes de compression sans perte (RLE, code de Huffmann...) pour réduire encore l'espace nécessaire au stockage de l'image.

Le résultat est une image qui peut présenter quelques artéfacts, mais pour un adversaire, il est difficile de savoir si ceux-ci sont dus à de la stéganographie ou à des choix de compression.

 

Message transporté dans un texte

Décaler une lettre de quelques pixels ne pose aucun problème sur une imprimante à laser et c'est pratiquement invisible à l'œil nu. En jouant sur les interlettrages d'un texte très long et à raison de deux valeurs d'espacement correspondant à 1 et 0, il est possible de transmettre un message sous forme papier, qui ne révélera son vrai sens qu’une fois analysé par un scanner ayant une bonne précision.

Historiquement, le procédé fut utilisé dès les années 1970 en utilisant non pas des imprimantes laser, mais des imprimantes à marguerite Diablo, qui permettaient de jouer sur l'espacement des caractères au 1/120e de pouce près.

 

 

Marquage de caractères

Une technique similaire, mais plus facilement détectable, consiste à marquer certains caractères d'un document. Des points peuvent par exemple être placés sous les lettres d'un texte afin de dissimuler un message. Étalées sur un texte de plusieurs pages, ces marques peuvent s'avérer relativement efficaces vis-à-vis d'un œil non-averti. Un ordinateur n'est pas indispensable à la mise en œuvre de cette technique.

          

 

Codage sous forme d'une apparence de spam

N'importe quel texte de spam peut servir de base à de la stéganographie, sur la base d'un codage binaire simple de quasi synonymes. Par exemple pactole = 1, fortune = 0 ; richesse = 1, aisance = 0 ; succès = 1, réussite = 0 ; etc. Des sites du Web proposent à titre de curiosité ce genre de codage et de décodage3. Des textes écrits en langue de bois ou en style administratif se prêtent particulièrement bien à l'exercice.

 

Message transporté dans un son

Dans les formats sonores, il existe à peu près les mêmes possibilités de cacher des messages que dans les images. Dans un fichier sonore au format MIDI, il n'existe pas de palette de couleurs mais bien différentes pistes qui peuvent être permutées.

Dans un fichier sonore avec compression sans perte, on peut cacher de l'information dans des variations imperceptibles du son, les bits faiblement significatifs. Toutefois, la baisse de qualité peut être davantage perceptible dans un fichier audio que sur une image.

Dans un fichier sonore avec compression avec perte, on peut cacher de l'information dans les choix de compression.

Il est possible de coder un message sous la forme d'une image et de convertir cette dernière en son. En analysant le son à l'aide d'un spectrogramme, le message peut être visualisé. 
 

 

Certaines entreprises se servent de sons émis dans des fréquences inaudibles par l'oreille humaine (ultrasons) pour pister les utilisateurs de leurs produits. L'entreprise indienne Silverpush a ainsi mis en place un système où à chaque fois qu'une publicité de la marque était visualisée sur ordinateur, un ultrason était émis. Captés par une application sur le téléphone portable de l'internaute, ces sons permettent de retracer précisément les usages et les habitudes de cette personne sans qu'elle ne s'en rende compte. De manière plus générale, il est possible de transmettre des données (une image, un document, un fichier audio...) en les convertissant en un signal audio dans des fréquences inaudibles, et en les mélangeant à un fichier audio en apparence anodin (une chanson par exemple).

 

Autres possibilités

Il est aussi possible de cacher des informations dans bien d'autres types de fichiers couramment échangés sur des réseaux telle la vidéo ou bien dans des textes (ce fut une des premières formes de la stéganographie) ou encore dans des zones d'un disque dur inutilisées par le système de fichiers.

Plus d'infos complémentaires sur le Net...

 

Additional Hints (No hints available.)