stéganographie - serveur campus des écoles hes genevoises

Transcription

stéganographie - serveur campus des écoles hes genevoises
STÉGANOGRAPHIE
Jenny DENTAND
Travail de diplôme 2005
Sous la direction de :
Peter DAEHNE, professeur HES
Haute École de Gestion de Genève (HEG-GE)
Jenny Dentand
Stéganographie
Table des matières
Introduction...................................................................................................................................3
Méthodologie .................................................................................................................................3
État de l’art.....................................................................................................................................3
Définition...................................................................................................................................3
Historique ..................................................................................................................................3
Formes possibles ........................................................................................................................3
Buts, intérêts ..............................................................................................................................3
Principes généraux et caractéristiques........................................................................................3
Techniques d’insertion de données...........................................................................................3
Sécurité...........................................................................................................................................3
Impact d’une large diffusion de cette technologie sur la sécurité..............................................3
Sécurité.......................................................................................................................................3
Liens avec d’autres technologies ....................................................................................................3
Watermarking (Filigranes) .........................................................................................................3
FingerPrinting ............................................................................................................................3
Cryptographie ............................................................................................................................3
Combinaison de ces technologies..............................................................................................3
Inventaire des logiciels existants ....................................................................................................3
Critères obligatoires ...................................................................................................................3
Critères d’évaluation..................................................................................................................3
Matrice de préférence ................................................................................................................3
Logiciels étudiés .........................................................................................................................3
Analyse multicritères..................................................................................................................3
Prototype ........................................................................................................................................3
Conception ................................................................................................................................3
Notions acquises lors de la conception......................................................................................3
Utilisation du prototype ............................................................................................................3
Conclusion de la réalisation ......................................................................................................3
Conclusion.....................................................................................................................................3
Bibliographie..................................................................................................................................3
Glossaire.........................................................................................................................................3
Annexe 1 ........................................................................................................................................3
Annexe 2 ........................................................................................................................................3
Annexe 3 ........................................................................................................................................3
Annexe 4 ........................................................................................................................................3
2 / 44
Jenny Dentand
Stéganographie
Introduction
L’explosion des réseaux de communication, l’arrivée d’Internet et l’engouement de la
population pour les nouvelles technologies a fait naître une grande circulation de l’information
(image, texte, son, vidéo,…) et par là même une importante voie pour l’utilisation de la
stéganographie.
Depuis 1996, non seulement son utilisation a augmenté d’une façon significative, mais de
nombreuses publications, recherches ainsi que de nouvelles techniques ont été inaugurées. Par
conséquent, cet art de cacher de l’information dans une autre, contrairement à de nombreuses
idées, n’est pas un système poussiéreux.
Ce mémoire a donc pour but de nous sensibiliser à cet art, d’en présenter son état, les logiciels
disponibles et son application dans le cadre d’un prototype. Mais avant toute chose, il met en
avant l’importance des techniques et formes possibles, celles-ci pouvant avoir un impact sérieux
sur la façon de sécuriser un système.
3 / 44
Jenny Dentand
Stéganographie
Méthodologie
La constitution de ce dossier s’est déroulée de la manière suivante :
Recherche d’informations et rédaction du rapport en simultané avec la lecture. Dans une
deuxième étape, une recherche de logiciels existants a été effectuée ainsi que l’analyse de leur
code pour permettre la création du prototype et la rédaction relative à celui-ci.
Lors de la recherche d’informations, j’ai pu constater que très peu d’ouvrages existaient dans ce
domaine précis. Ma recherche s’est basée essentiellement sur les leaders dans cette technologie,
principalement PetitColas et Jean-Luc Dugelay mais aussi sur différents sites Internet très
explicites.
Pour tous mots ou expressions supplémentaires, un glossaire est à disposition dans les dernières
pages de ce mémoire.
4 / 44
Jenny Dentand
Stéganographie
État de l’art
Définition
La stéganographie est un art utilisé depuis des siècles pour faire passer un message de manière
inaperçue.
Ce mot est issu du grec « Stéganô », qui signifie Je couvre et « Graphô » qui veut dire J’écris.
Ainsi, on dissimule les informations que l’on souhaite transmettre confidentiellement dans un
ensemble de données d’apparence anodine afin que leur présence reste imperceptible.
Contrairement à la cryptographie, les informations sont cachées mais pas nécessairement
chiffrées. Une fois la méthode de dissimulation connue, tout le monde est capable de lire le
message secret.
Bien que considérées comme deux disciplines différentes, il est possible d’intégrer la cryptologie
dans un message ; ainsi, la communication n’est pas seulement dissimulée mais également
brouillée.
Historique
La stéganographie est un art exploité et connu depuis l’Antiquité. Vous trouverez ci-dessous
quelques dates et utilisations de cette discipline. Il est bien entendu que cette description n’est
pas exhaustive.
Sa première mention est relatée en 440 avant JC. Hérodote relate le fait qu’Histiée rasa la tête
d’un esclave fidèle afin d’y tatouer un message et attendit la repousse des cheveux, rendant ainsi
le message invisible. Suite aux instructions de l’esclave, Aristagoras pu lire le message qui lui
donnait le signal de la révolte contre la Perse.
Au fils du temps, la stéganographie a été très souvent employée et s’est ouverte à un grand
nombre de formes. Une représentation chronologique, illustrée à la page suivante, retrace
certaines de ses utilisations dans l’histoire. Certaines d’entres-elles seront détaillées par la suite.
5 / 44
Jenny Dentand
Stéganographie
2001
Messages potentiellement
cachés dans des images
informatiques.
Auteur : Al Qaeda
484 avant JC
Message écrit à même
le bois et enduit de
cire.
Auteur : Démarate
440 avant JC
Transmission d’un
message au travers
d’un tatouage sur le
crâne rasé d’un
esclave.
Auteur : Histiée
1685 - 1750
Code inséré dans de
la musique.
Auteur : JS Bach
1er siècle avant JC
Description de la
réalisation d’un
message à l’encre
invisible.
Auteur : Pline
l’Ancien
1833
Echange de poèmes
utilisant des
sémagrammes.
Auteurs : Georges
Sand et Alfred de
Musset
1997
Micropoints dans les
billets de banques
suisses.
Auteur : Jörg
Zintzmeyer
1939 - 1945
Transmission
d’informations grâce
à des nœuds dans
les mailles de pulls.
Auteurs : l’armée
allemande
2004
Petites annonces pour
l’obtention d’une rançon au
travers d’un langage
convenu
Auteur : AZF
1950
Transmission de
pensées grâce à la
stéganographie pour
des tours de magie.
Auteurs : Myr et
Myroska
6 / 44
Jenny Dentand
Stéganographie
Formes possibles
La stéganographie peut être classée en deux catégories : la stéganographie linguistique et la
stéganographie technique. La première comprend toutes les formes de styles possibles, jeux de
langue ou utilisation de repères au niveau des caractères. La seconde regroupe les moyens de
transmissions purement physiques.
1. La stéganographie linguistique
− Sémagramme
La forme la plus connue en stéganographie linguistique est le sémagramme. De cette
manière, le système stéganographique échappe totalement à l’observateur. Alfred de
Musset est l’utilisateur le plus connu de ce procédé puisqu’il a entretenu une relation
secrète avec Georges Sand (entre 1833 et 1834) au travers de poèmes1 qu’il lui envoyait.
− Acrostiche
Ce procédé permet de transmettre des données au travers de lettres initiales dans
chaque vers de poème et qui, lues de haut en bas, forment un mot ou une expression.
Elle a de nombreuses variantes (mot placé dans des vers ou des chapitres,…).
− Ponctuation
L’utilisation de points, hauteur de lettres et virgules par les prisonniers de guerre a
également permis de transmettre des messages à leur famille.
− Nulles
Les codes camouflés, aussi appelés les nulles, consistent à marquer d’un signe particulier
certaines lettres d’un texte (par des piqûres d’aiguilles sur ou sous les lettres). Il suffit
alors de rassembler les lettres marquées pour former un mot.
− Insertion d’erreurs
Mise en valeur de l’information au travers d’erreurs ou de formes de style dans un texte.
− Tricot
Pendant la seconde guerre mondiale, un procédé a été réalisé par les agents allemands
en Angleterre qui envoyaient des pulls en Allemagne contenant des nœuds dans la
laine. Les tricots étaient démaillés à leur arrivée. Sur un mur sur lequel se trouvait
l’alphabet sous la forme d’une règle, ils posaient l’extrémité du fil à un point et regardait
la position du nœud. Grâce à l’emplacement du nœud sur la règle, ils retrouvaient petit
à petit le message caché.
Ces différents procédés restent néanmoins difficiles et longs à réaliser et laissent vite suspecter
la possibilité d’un message dissimulé. De nombreuses censures ont été ainsi appliquées afin de
limiter l’usage de ces techniques. En effet, les journaux, les patrons des couturières étaient très
strictement vérifiés pendant les périodes de guerre.
1 Annexe 1 : Correspondances entre Georges Sand et Alfred de Musset
7 / 44
Jenny Dentand
Stéganographie
2. La stéganographie technique
− Encres invisibles
Les encres invisibles peuvent être faites à base de sucs de fruits ou de lait, le message
réapparaissant grâce à la chaleur d’une bougie. Des produits chimiques comme le
chlorate de soude peuvent également être utilisés ; l’écriture apparaît en passant sur
l'encre sèche une petite éponge trempée dans une solution de vitriol de cuivre. Cette
technique a également permis de remplacer les trous faits à l’aiguille pour marquer les
lettres par des points invisibles. Elle reste encore très utilisée, puisque des encres
ultraviolettes sont déposées notamment sur les billets, les certificats, les travellerschèques. Ce système crée une réaction en cas de photocopies en inscrivant le mot
« Void » contribuant à la lutte contre la contrefaçon.
− Camouflage physique
Cette catégorie comprend tout objet ou parties du corps. Les ourlets d’habits contenant
un message caché à l’intérieur furent couramment utilisés comme lieu sûr au fil du
temps.
− Cardan
Utilisé aujourd’hui comme outils de sécurité par certaines banques, le cardan permet de
décoder un message grâce à un masque composé de trous que l’on applique sur un
ensemble de données2.
− Bandes magnétiques
Cette technique se base sur le fait que les données ne sont visibles qu’au travers des
machines et non pas par l’homme. C’est donc le cas pour les cartes de crédit et de
téléphone, où les bandes magnétiques ainsi que les numéros de séries sont difficiles à
lire et de se fait, à reproduire. Ces technologies ne servent pas uniquement à la sécurité,
mais également aux softwares, pièces de rechanges mécaniques, produits
pharmaceutiques, habits de marques…
− Micropoints
Cette méthode consiste à réduire un texte ou une image en un point d’un millimètre ou
moins. Celui-ci est ensuite disposé dans un texte ou une image normale. Ce procédé a
été utilisé dans les billets de banque suisses3 et est également évoqué dans la bande
dessinée de Blake et Mortimer4.
− Audio
Afin de transmettre de l’information de manière cachée dans du son, différentes
techniques existent et se basent sur le fait qu’un son affecte la perception d’un autre :
¾ Un son plus fort peu en cacher un autre.
¾ Un son peut être caché temporairement lorsqu’il est moins fort et qu’il est placé
avant ou après un son plus fort mais peut être plus facilement détectable.
2
Annexe 2 : Grille de cardan
3 Annexe 3 : La stéganographie dans les billets de banque
4 Annexe 4 : Blake et Mortimer : stéganographie
8 / 44
Jenny Dentand
Stéganographie
Il est également possible de cacher des données en utilisant la représentation des notes.
Prenons comme exemple un livre de Gaspar Schott, Schola Steganographica, où il
explique que des messages ont été cachés dans de la musique, chaque note
correspondant à une lettre. J.S Bach, lui, utilisait le nombre d’occurrences de notes qui
apparaissait. John Wilkin a même démontré que deux musiciens discutaient au travers
de leur musique comme si leurs instruments parlaient.
− Formes géométriques
Les formes géométriques peuvent elles aussi transmettre de l’information : les points, les
fins de lignes et les angles de la figure peuvent permettre de déterminer une lettre.
− Anamorphisme
L’anamorphisme peut être considéré comme un système stéganographique : suivant la
position et les angles où l’on se situe, on peut voir les œuvres d’art ou les images
différemment. Les illusions optiques en sont un exemple très connu.
− Autres voies
Il est également possible de communiquer une information en dissimulant un message
(ou un fichier) dans les parties inutilisées d'un disque ou d'une disquette.
− Images, vidéo
Enfin, une image ou une vidéo peuvent également contenir un message. Une image est
constituée de pixels. Il est possible d’insérer des lettres ou des chiffres à l’intérieur sans
que ces modifications soient perceptibles à l’œil humain. Cette méthode-ci fera l’objet
d’un exemple pratique que nous développerons par la suite.
Aujourd’hui la stéganographie a énormément évolué et a un intérêt grandissant. En effet,
depuis 1996, cet art est de plus en plus employé, et ce notamment pour les copyrights. D’autre
part, on lui a porté une attention particulière l’année passée puisque différents groupes
terroristes sont suspectés d’y avoir eu recours5.
Buts, intérêts
Cette technologie apporte de nombreuses possibilités :
− La protection des possesseurs de copyrights
Cette dernière limite ainsi les droits de copies pour les DVD et CD audio.
− Une discrétion des transmissions
En utilisant la stéganographie, il est possible de cacher les communications qui peuvent
exister entre l’émetteur et le destinataire. Ainsi, contrairement au cryptage où les
données sont illisibles, aucune relation ne peut être suspectée. Ce moyen est très
intéressant pour l’armée notamment.
5 http://www.apprendre-en-ligne.net/crypto/stegano/suzy.html,
http://www.liberation.fr/ny2001/actu/20010915sams.html
9 / 44
Jenny Dentand
Stéganographie
− La connaissance de la stéganographie
Le fait de connaître les différentes techniques possibles et employées pourra permettre
au service de l’ordre et des lois de détecter les origines des fuites, de tenter de trouver la
provenance de messages.
− L’anonymat
Ce système rend impossible la détermination de l’identité de la personne émettrice ainsi
que la mise en place d’une surveillance. Cela peut avoir des cotés positifs comme lors
d’élections ou de transferts de données bancaires où il est primordial de permettre
l’anonymat des communications. Cependant, cela risquerait également de donner
l’occasion aux terroristes de profiter de ce paramètre qui deviendrait alors une faiblesse.
− La liberté
Transmissions de données, cover-channel éliminant toute censure, ou surveillance. En
effet, il est possible de passer par des protocoles anodins pour communiquer et passer à
travers un firewall, et ce, même pour des communications non-autorisées.
Principes généraux et caractéristiques
Pour comprendre les techniques utilisées dans la stéganographie, il est nécessaire de définir les
concepts de base sur lesquels ces techniques s’appuyent. Comme nous étudierons
principalement la stéganographie appliquée aux images numériques, nous aborderons ces
notions de ce point de vue.
Il est bien sûr entendu qu’il existe des techniques différentes, spécifiques aux informations
utilisées comme support du message (son, vidéo, etc.) ; ces techniques sont semblables dans leur
approche, mais différentes dans leur mise en œuvre, cette dernière dépendant fortement du
codage choisi pour les informations parasitées.
1. Codage des couleurs
− Notions de base
Une image est constituée d’un ensemble de points nommés pixels représentant des
cases qui forment un tableau à deux dimensions. Chaque case est codée avec un certain
nombre de bits déterminant la couleur.
- Fig 1 : Pixel dans une image-
− Le codage RGB (ou RVB)
Tout d’abord, le codage RGB (Red, Green, Blue) représente l’ensemble des couleurs des
images numériques à l’aide d’intensités de rouge, de vert et de bleu. Ainsi, pour chaque
octet (un octet = 8 bits), ils y a 256 possibilités d’intensités de ces trois couleurs.
10 / 44
Jenny Dentand
Stéganographie
− La palette de couleurs
La palette est composée de 256 couleurs dans laquelle nous allons sélectionner, pour
chaque pixel, la couleur désirée. La valeur d’un pixel sert ainsi d’index à une table et ne
contient donc pas la valeur des couleurs. Dans la mesure où peu de couleurs sont
effectivement utilisées, cette méthode permet ainsi de réduire la taille du fichier.
2. Formats des images numériques
Il existe de multiples types d’images numériques. Il est important de connaître leurs
spécificités car les manipulations apportées peuvent avoir ou non une incidence sur l’image.
Le diagramme ci-dessous représente les formats d’image les plus répandus. Nous nous
concentrerons essentiellement sur les trois formats les plus utilisés : BMP, GIF et JPEG.
Pour tout complément d’informations sur les autres formats, veuillez vous référer au
glossaire.
- Fig 2: Diagramme représentant quelques formats d’image -
− Le format BMP
Ce format est l’un des plus simples et des plus répandus. Un fichier BMP est un fichier
Bitmap. L’image est codée en pixels ayant chacun leur propre couleur. Son codage se
fait en inscrivant successivement les bits correspondants à chaque pixel, ligne par ligne
en commençant par le pixel en bas à gauche.
Nombre de couleurs dans
l’image
2 couleurs
16 couleurs
256 couleurs
Couleurs réelles
Nombre de bit(s) par
pixel
1
4
8
24
Nombre de pixels qui peuvent
être codés dans un octet
8
2
1
3 octets pour un pixel
Le nombre total d’octets contenu dans chaque ligne de l’image doit être un multiple de
4 ; dans le cas contraire, des « 0 » doivent compléter la ligne.
− Le format GIF
Le format GIF (Graphic Interchange Format) est particulier puisqu’il utilise la palette de
couleur. Les images GIF ont été mises au point pour permettre le téléchargement
d'images. De par sa petite capacité de palette de couleurs, les images obtenues par ce
format ont une taille généralement très réduite. Il a comme caractéristique de supporter
11 / 44
Jenny Dentand
Stéganographie
la transparence et de permettre également de créer des animations : les GIFs animés. Le
format GIF est un format qui utilise une compression sans perte de qualité
− Le format JPEG
Le format JPEG (Joint Photographic Experts Group) est une compression avec pertes.
Son utilisation, principalement sur les images photographiques, permet d’obtenir l’un
des meilleurs taux de compression connus, ceci, au détriment d’une perte de qualité.
Les étapes de la compression JPEG sont les suivantes :
a. Rééchantillonnage de la chrominance, car l’oeil ne peut discerner de différences de
chrominance au sein d’un carré de 2x2 points ;
b. Découpage de l’image en blocs de 8x8 points, puis application de la fonction TCD
qui décompose l’image en somme de fréquences ;
c. Quantification de chaque bloc, c’est-à-dire qu’il est appliqué un coefficient de perte
(permettant de déterminer le ratio taille/qualité) qui "annulera" ou diminuera des
valeurs de hautes fréquences, afin d’atténuer les détails en parcourant le bloc
intelligemment avec un codage RLE;
d. Encodage de l’image puis compression avec la méthode de Huffman6. »
5466 octets
2506 octets
1147 octets
compression faible compression moyenne compression forte
Fig 3 : Etat de la compression dans des fichiers JPEG7
3. Règle en stéganographie
Avant tout, chaque technique doit suivre des règles très importantes et souvent difficiles à
concilier :
− L’algorithme doit avoir une complexité minimum afin de pouvoir effectuer le marquage
et/ou la détection de la présence de marque en un temps minimal.
− Le support dans lequel le message sera inscrit doit être le moins possible endommagé
(l’œil humain ne doit pas s’en apercevoir).
− La capacité du fichier source doit être supérieure à celle du fichier à cacher.
− Le marquage doit pouvoir supporter différentes transformations possibles sans être trop
dégradé (voir la partie Sécurité page 19).
6
David A Huffman. A method for the construction of minimum-redundancy codes. Proceedings of the IRE.
Volume 40, Number 9, pp. 1098-1101, 1952
7
Source : http://www.lookimage.com/formats/
12 / 44
Jenny Dentand
Stéganographie
4. Analyse
En outre, il est important de se rendre compte que les individus à qui nous cachons
l’information ne resteront pas obligatoirement ignorants du système utilisé. Il est donc
nécessaire de les identifier, de savoir quelles sont leurs connaissances, car la sécurité des
techniques utilisées pour la stéganographie dépendra du résultat de cette analyse.
5. Processus
La structure de la communication se base sur la dissimulation, c’est-à-dire l’insertion du
message dans la source et le fait de récupérer cette information. Il est également possible de
détecter les données sans pour autant les extraire.
Ce processus peut être schématisé comme dans les figures présentées ci-dessous.
Marque
Stego-Image
Algorithme de
marquage
Image
marquée
Clé publique /
secrète
Fig 4 : Insertion de données dans la source
Marque et / ou
image source
Image test
Algorithme de
détection
Marque
Clé publique /
secrète
Fig 5 : Extraction des données de la source
Note : Il est bien entendu que la présence de la clé publique ou secrète n’est pas obligatoire
celles-ci n’étant employées que dans le cas de messages cryptées, on appellera alors cela une
stéganographie simple.
13 / 44
Jenny Dentand
Stéganographie
Techniques d’insertion de données
Cette partie a pour objectif de présenter, dans les grandes lignes, plusieurs techniques
significatives du domaine.
1. Le marquage des bits de poids faible
Le LSB (Last Significant Bit) est la méthode la plus connue et la plus facile à utiliser sur une
image.
Chaque pixel a 256 niveaux de couleurs différentes (1 octet = 8 bits). Le bit de poids faible
est le dernier de ces bits. Son changement (de 0 à 1 ou de 1 à 0) est totalement
imperceptible pour l’œil puisqu’il n’est modifié que d’un point. On peut donc le considérer
comme négligeable dans la représentation et s’en servir ainsi pour y stocker des
informations. Le schéma ci-dessous représentent les 8bits contenant la valeur de 01101011
à titre d’exemple et met en avant l’emplacement du LSB et du MSB (Most Significant Bit).
Numérotation des bits
Valeur des bits
7
MSB
0
6
5
4
3
2
1
1
1
0
1
0
1
0
LSB
1
- Fig 6: Tableau représentant un octet et son MSB et LSB -
Prenons l’exemple d’un orange ayant 256 possibilités de représentation. Il est évident qu’à
l’œil nu, la différence entre le 157ème et le 158ème orange n’est pas visible (à l’exception de
quelques niveaux).
Inconvénients de cette technique :
− Facilité du retrait
Il est tout à fait possible, pour enlever tout message ou image secrète que peut contenir
une image, de modifier le LSB en le mettant automatiquement à zéro. Ainsi, l’image
n’est pas modifiée mais tout message a disparu.
De plus, la compression JPEG va automatiquement le faire disparaitre ainsi que toute
forme de rotation ou de manipulation de l’image.
− Perceptibilité
Lors de la mise en œuvre du LSB, certains détails sont à considérer avec circonspection.
En effet, il est important de ne pas trop modifier le pixel car la couleur pourrait en être
affectée. De plus, il peut arriver qu’il y ait une reconnaissance visuelle de l’image cachée
en fonction du niveau de couleur.
Solution : afin d’éviter ce problème, il existe des méthodes pour adapter le nombre de
LSB en fonction de la teinte en cours et de la teinte future.
− Restriction
Tous les formats d’images ne peuvent pas être employés avec cette technique. En effet,
dans le format GIF par exemple, la couleur est choisie dans une palette. La modification
14 / 44
Jenny Dentand
Stéganographie
du dernier bit entraînera donc un changement de couleur et donc une forte altération
de l’image (voir Palette de couleur ci-dessous).
La technique de marquage des bits faibles peut être appliquée sur les supports du type image,
mais aussi sur du texte ou du son, puisque les trois sont constitués de byte de données.
Il est à noter également qu’en moyenne, seule la moitié des bits sont modifiés.
01011001 01110100 10110100
01001101 10011101 10101110
10111100 10001010 10000101
® 100010011
Î
01011001 01110100 10110100
01001100 10011101 10101110
10111100 10001011 10000101
modifié
non modifié
Fig 7 : Exemple d’application du LSB sur 3 pixels
Une amélioration possible est l’utilisation d’un générateur de nombres aléatoires pour
répartir le message secret. De cette façon, en partageant une même clé qui sera utilisé
comme graine du générateur aléatoire, les deux protagonistes pourront communiquer de
façon moins « visible ».
2. Palette de couleur
− Regroupement des couleurs
La technique la plus connue pour ce type de fichier est le regroupement des couleurs les
plus proches. Pour cela, la palette est modifiée, les pixels pointent alors sur les couleurs
correspondant à la nouvelle palette. Il est ensuite facile de placer de l’information en
changeant l’image avec la couleur la plus proche.
Il est également imaginable de regrouper la palette selon la composante de luminance
pour rendre le changement encore moins visible.
− Signature par modulation d’amplitude sur les images de couleurs
Cette méthode permet de définir la couleur d’un pixel en faisant la moyenne des
3 octets RGB. En parcourant tous les pixels de l’image, on cherche les pixels capables de
contenir des données. Pour cela, nous partons de Tc qui représente la région où l’œil
humain n’est pas sensible à la modification d’un pixel et de Td qui détermine si la
couleur du pixel étudié (que l’on nommera x) est très différente de celle des voisins. Ces
deux chiffres sont déterminés par de savants calculs. Ensuite, nous étudions les quatre
voisins (que l’on nommera A, B, C, D) proches de x.
B C D
A x
Ainsi, pour que x contienne des informations, il faut que :
¾ Le nombre de couleurs distinctes de A, B, C et D ( α ) soit supérieur à Tc.
¾ La différence maximum entre la couleur de x et celle des voisins ( β ) soit
inférieure à Td.
15 / 44
Jenny Dentand
Stéganographie
α > Tc
β < Td
Une fois ceci déterminé, l’étape de marquage est nécessaire. Cette fonction se fait de la
façon suivante :
f(x, A, B, C, D) = 0
f(x, A, B, C, D) = 1
f(x, A, B, C, D) = 0
f(x, A, B, C, D) = 1
etc
si c(x) >= A ;
si B <= x <= A ;
si C <= x <= B ;
si D <= x <= C ;
Pour extraire le message, il faut parcourir l’image et détecter le pixel susceptible de
contenir l’information. Lorsque celui-ci est trouvé, on applique la fonction f et on
regarde la donnée qui en ressort.
Pour illustrer cette méthode, voici un exemple :
Posons Tc = 2 et Td = 10
Etape 1 : étude des voisins potentiels
12 12 12 12 36
12 x1 60 x2
12 12 16 17
10 x3 x4
: x1
: x2
; x3
; x4
α = 1 (ici 12)
β = 60 – 12 = 48
et
et
α < Tc
β > Td
α = 3 (10, 12, 16)
et
β = 16-10 = 6
α = 4 (10, 12, 16, 17) et
β = 17-10 = 7
Etape 2 : étude du marquage possible
f(x3, 10, 12, 16) = 0
Le bit à cacher est 0. x3 ne changera donc pas et aura la valeur 10.
f(x3, 10, 12, 16, 17) = 0 ≠ b = 1
Le bit à cacher est 1. x4 sera modifié.
3. Techniques avancées
− Watermarking de seconde génération
Pour plus de robustesse, il est important de placer l’information à des emplacements
stratégiques. Ces positions peuvent être à un endroit contenant des informations
importantes mais également à certaines caractéristiques géométriques des images comme
dans les angles, vers une texture particulière, etc.
Pour cela, il faut rechercher les endroits déterminants de l’image qui auront une forte
stabilité (c'est-à-dire que malgré des transformations éventuelles, leur emplacement sera
16 / 44
Jenny Dentand
Stéganographie
le même) puis segmenter l’image en utilisant l’algorithme des diagrammes de Voronoi8.
Ainsi on obtient le résultat suivant :
Fig 8 : Segmentation d’une image
Il suffit ensuite de marquer chaque région trouvée. Afin que le marquage soit le plus
invisible possible, seule la couleur bleue sera marquée car la sensibilité de l’œil humain
à cette couleur est moins grande.
Cette méthode permet de limiter les attaques car toute modification aura de graves
répercussions sur l’image, puisque les pixels les plus importants auront été altérés.
8
http://fr.wikipedia.org/wiki/Voronoi_diagram
17 / 44
Jenny Dentand
Stéganographie
Sécurité
L’utilisation de cet art véhicule généralement la suspicion. En effet, pourquoi dissimuler si nous
n’avons rien à nous reprocher? Par conséquent, le problème de la sécurité est à étudier. Grâce à
la stéganographie, des informations confidentielles au niveau de l’entreprise peuvent être
amenées à être propagées. Qu’en est-il de l’impact possible de cette technologie et quelles en
sont les solutions envisageables ?
Impact d’une large diffusion de cette technologie sur la sécurité
Il est nécessaire d’envisager l’éventualité de vol d’informations stratégiques d’une entreprise, de
données confidentielles, de code source d’un logiciel propriétaire ou autre. C’est pourquoi une
étude dans chaque entreprise de ce « problème » est importante. Les voleurs d’informations
sont en effet au courant de toutes les techniques envisageables et la stéganographie est à étudier
au même titre que les virus. Aussi, il est indispensable de sensibiliser l’utilisateur afin qu’il
prenne certaines précautions.
Néanmoins, il est important de ne pas céder à la psychose et de relativiser l’ampleur de
l’utilisation de la stéganographie. Suite à des recherches, il a été révélé que sur 1 million
d’images téléchargées sur les forums USENET, seulement 2.2% de toutes les images semblaient
dissimuler un contenu caché (soit environ 22'000).
Fig 9 : Présence d’images contenant de la stéganographie, nov 20019
9
Source : http://niels.xtdnet.nl/stego/usenet.php
18 / 44
Jenny Dentand
Stéganographie
Sécurité
Actuellement, il existe une technique permettant d’attaquer les méthodes de stéganographie.
Celle-ci est appelée la stéganalyse. Elle peut être appliquée par deux types de personnes.
L’attaquant actif, qui connait la présence de l’information et tente de la modifier ou de
l’extraire et l’attaquant passif, c'est-à-dire la personne qui arrive à déceler la présence du message
et qui ne fait que constater sa présence.
1. Attaque active
− Compression et décompression
Des méthodes de stérilisation de l’information passée peuvent être faites au travers de la
compression et décompression de l’image. Cette technique a pour but d’entraîner des
pertes d’un message stéganographique codé de façon simple.
− Modification des propriétés de l’image
Une autre démarche manuelle peut être également appliquée : la modification des
propriétés de l’image. Ainsi, en modifiant sa taille, coupant ou en lui faisant faire une
rotation, cela entrainera la totale illisibilité du message.
Ces deux méthodes n’ont pas un effet infaillible. En effet, il existe maintenant certains
programmes pouvant ; grâce à des algorithmes avancés ; subir ces transformations sans
altérer la donnée cachée.
− Logiciel de test de marquage
Sur le marché, il existe des programmes comme StirMark10. Cet outil manipule et teste
le marquage d’image. Pour cela il dévie les fréquences, déplace, introduit des erreurs,
etc. Il a pour but de tester le marquage afin de vérifier la robustesse de celui-ci et de par
là même, limiter les possibilités d’action des hackers.
Actuellement les attaques mosaïques font force et permettent de passer au travers des
vérifications automatiques des marques sur Internet (crawlers), des attaques sont utilisées en
coupant une image en des sous-images et en les rassemblant dans une même page html. Il
est également possible de les superposer pour ne laisser apparaitre qu’une image ou
d’afficher ces images à l’intérieur d’une applet Java (car il est impossible de voir le contenu
de l’applet). Lors de la découpe de l’image, il est usuel de réduire au maximum la taille afin
de rendre la détection plus difficile.
− Assurer une taille minimale
Une défense imaginable contre les attaques mosaïques serait de s’assurer d’une taille
minimale rendant impossible l’inscription des marques.
10
http://www.petitcolas.net/fabien/watermarking/stirmark/
19 / 44
Jenny Dentand
Stéganographie
− Extraction des images
Une autre possibilité serait de récupérer l’ensemble de la page, de la décortiquer et d’en
extraire les images afin de les analyser, mais cette méthode est difficile à mettre en
oeuvre.
2. Interprétation
En ce qui concerne les applets, il serait « envisageable » de combattre cette technique
mais cela impliquerait l’interprétation de toute la page en analysant l’image et vérifiant
qu’elle ne contient aucune marque. Pour rendre encore plus difficile la tâche, de
nombreuses applets sont « vendues » via des petits sites qui nécessitent déjà l’utilisation
de vérification des données bancaires (Visa,…) ce qui passe avant l’analyse de l’image.
3. Attaque passive
− Règles et charte
Au niveau de l’entreprise, il convient d’attirer l’attention des collaborateurs sur les
possibilités de présence de la stéganographie dans des images ou du son. La prise de
conscience des risques possibles est le premier pas vers une autoprotection. Pour cela,
une charte peut être envisageable ou un règlement strict sur le comportement à avoir
(éviter toute messagerie personnelle par exemple). Mais il reste évident qu’il est
impossible d’éviter toute tentative.
− Logiciel de détection
L’étape supérieure de protection serait l’achat de différents logiciels de détection
disponibles sur le marché comme StegDetect. Ce software a pour but de déceler la
présence ou non d’une information cachée sans la modifier. Il reste néanmoins
nécessaire de se donner des limites dans l’utilisation de ces programmes et de ne pas se
laisser entraîner par la crainte ou à la paranoïa.
4. Conclusion
Il est vrai qu’il n’y a pas de limite possible dans les distorsions et manipulations et donc il
est difficile de concevoir une parade à toutes les attaques. Les pirates n’ont en général pas le
niveau, les moyens ou possibilités pour sécuriser au maximum leur donnée cachée. Il est
donc nécessaire de se donner un cadre de sécurité haut mais qui répond aux dégradations
les plus courantes et les plus probables.
20 / 44
Jenny Dentand
Stéganographie
Liens avec d’autres technologies
La stéganographie est un art proche de multiples technologies. C’est pourquoi il est essentiel de
bien les distinguer les unes des autres.
- Fig 10 : Diagramme représentant la stéganographie et les technologies avoisinantes -
Watermarking (Filigranes)
Le watermarking a comme objectif de cacher des messages en insérant des copyrights à des fins
commerciales. Elle permet de prévenir les contournements des droits d’auteurs. Pour y arriver,
un système de tatouage est inséré dans le fichier. Cela permet de limiter les copies et les
contrefaçons sur le fichier de base. Ainsi, cette méthode est bien distinguable de la
stéganographie où les informations ne sont pas liées à l’image.
FingerPrinting
Le fingerprinting a pour but de limiter le nombre de copies. L’application de son système
détecte les copies illégales du fichier de base. Lorsqu’une de copie de celui-ci est réalisée, une
empreinte (que l’on qualifie d’identifiant) y est inscrite. Si une copie illégale est réalisée, il
possible de retrouver la source grâce à l’identifiant inscrit dans l’empreinte. Ainsi, on ne
s’oriente pas comme avec le watermarking sur la source du document mais sur le destinataire.
De la sorte, chaque copie contient une information propre à l’utilisateur, rendant le document
unique.
Cryptographie
La cryptographie est le domaine le plus proche de la stéganographie et est sujet à de nombreuses
confusions. Son but premier est de chiffrer l’information et de la rendre illisible mais non de la
cacher. Elle permet également d’échanger des données entre des correspondants sans que les
personnes non-autorisées en prennent connaissance.
Combinaison de ces technologies
Il est tout à fait envisageable et même courant d’utiliser la cryptographie dans la stéganographie.
Ainsi, non seulement l’information est cachée dans un fichier mais également cryptée. Cette
combinaison permet une sécurité maximale.
21 / 44
Jenny Dentand
Stéganographie
Inventaire des logiciels existants
Il existe sur le marché un grand nombre de logiciels utilisant les techniques stéganographiques.
Ces programmes sont plus ou moins bien faits et principalement créés par des personnes
individuelles, intéressées par le sujet. Afin d’analyser au mieux les logiciels sur le marché, une
analyse multicritère a été effectuée. Cette étude aura pour but de définir l’état actuel de l’offre.
Critères obligatoires
Ce terme correspond aux critères qui semblent indispensables et nécessaires. Néanmoins,
malgré cette obligation, certains logiciels ont été testés pour nous permettre de mieux évaluer le
marché.
− Le logiciel est capable au minimum de cacher une image.
− Le logiciel est gratuit.
Critères d’évaluation
Les critères d’évaluation concernent ceux permettant l’utilisation d’un logiciel efficace et le plus
complet possible.
− C1
Ergonomie de l’interface graphique
L’environnement est facile à l’utilisation, l’interface est intuitive et le design, de bonne
qualité.
− C2
Documentation
La documentation fournie avec le logiciel est de qualité. Des tutoriaux d’installation
sont également envisageables.
− C3
Langue
L’environnement est au minimum en anglais (en français ou multilingue est un plus).
− C4
Fonctionnalités
Le programme offre un grand choix au niveau du format de l’image avec,
éventuellement, du cryptage de l’information.
− C5
Mises à jour
La date de dernière mise à jour est récente, attestant ainsi d’une maintenance régulière.
− C6
Portabilité
Le logiciel a une compatibilité minimale avec Windows.
22 / 44
Jenny Dentand
Stéganographie
Nous utiliserons la « Matrice de préférences » pour évaluer les différents critères précités. Cette
méthode permet d’évaluer chaque critère en les comparant deux à deux et en sélectionnant
celui qui a le plus d’importance. Nous obtenons ainsi une pondération par critère.
Matrice de préférence
C1
Ergonomie de l’interface
graphique
C1
C2
Documentation
C3
C3
C3
Langue
C4
C4
C4
C4
Fonctionnalités
C5
Mises à jour
C1
C2
C4
C5
C1
C6
C6
C4
C6
C6
Portabilité
Après récupération des données on obtient les chiffres suivants :
Critère
Fréquence Pondération (en %)
C1 (Ergonomie de l’interface graphique)
3
20
C2 (Documentation)
1
6.66
C3 (Langue)
2
13.34
C4 (Fonctionnalité)
5
33.34
C5 (Mises à jour)
1
6.66
C6 (Portabilité)
3
20
Totaux
15
100
Logiciels étudiés
Dans ce dossier, voici les 10 logiciels pris en compte et dont nous allons appliquer la
pondération des critères ci-dessus :
− Caméléon v1.0
Caméléon est un logiciel français qui cache du texte dans des fichiers GIF et offre une
possibilité d’encryption. Il a une interface conviviale et une aide utilisateur très
complète. Cependant, il n’a eu aucune amélioration depuis sa création.
23 / 44
Jenny Dentand
Stéganographie
− Camouflage 2.0
Camouflage est un logiciel français ayant une bonne documentation mais ne gérant
qu’un seul format d’image. Il contient également un système de mot de passe.
− Cloak v8.0
Ce logiciel en shareware, conçu de façon professionnelle, propose chaque action en
étape, permettant ainsi un suivi pour l’utilisateur.
− Gif-It-Up v1.0
Ce programme utilise le format GIF et a une interface très basique.
− Hide and seek v1.1
Hide and seek est un logiciel cachant du texte dans une image Bitmap et offre une
possibilité de mot de passe.
− Invisible Secret v4.0
Même si ce logiciel n’est pas gratuit, il est intéressant de l’étudier car il comprend une
fonctionnalité supplémentaire : le transfert automatique de l’image cachée via Internet
ou e-mail. Il est sans conteste le logiciel le plus complet et le plus axé utilisateur.
− JpegX211
Ce programme est très basique et utilise comme unique format le JPEG. Il ne contient
aucun document utilisateur et n’est pas très accueillant.
− SecurEngine Pro 1.0
Ce software est l’un des plus complets au niveau fonctionnel mais également au niveau
des formats puisqu’il cache les fichiers wav.
− Stegano
Stegano est un logiciel qui permet de retourner une image Bitmap contenant une autre
image du même format. Il n’offre aucune fonctionnalité supplémentaire.
− WbStego4.3open
Cet open source propose une application compatible Windows et Linux et est produit
en anglais et en allemand. Il utilise les formats BMP, TXT, HTML/XML et PDF.
24 / 44
Jenny Dentand
25/11/2005
Stéganographie
Analyse multicritères
25 / 44
Jenny Dentand
Stéganographie
Trois catégories ressortent de cette analyse.
Tout d’abord, InvisibleSecret v4.0, loin devant les autres, qui ne respecte pas le critère
obligatoire de la gratuité mais permet de nous rendre compte que si nous investissons de
l’argent, il est possible d’obtenir un très bon logiciel.
La deuxième catégorie regroupe cinq logiciels (Caméléon v1.0, Camouflage, Cloak v8.0,
SecurEngin Pro 1.0 et WbStego4.3open) entre 5.80 et 6.93 qui répondent entièrement aux
critères.
Enfin, la dernière, comprend tous les softwares en dessous de la moyenne (Gif-It-Up v1.0, Hide
and Seek v1.1, Jpgx2.11 et Stegano) et qui présentent des lacunes essentiellement au niveau des
fonctionnalités et de la documentation.
De plus, nous pouvons constater que les moyennes ne sont en générales pas excellentes en
raison essentiellement de la fréquence rare des mises à jour (4.6 de moyenne générale pour ce
critère).
26 / 44
Jenny Dentand
Stéganographie
Prototype
Ce prototype de stéganographie est destiné à mettre en application les notions acquises
précédemment. Ce prototype cache dans une image au format bmp une seconde image du
même format. Une seconde fonctionnalité permet, à partir d’une image tatouée, de retrouver
l’image cachée. La technique employée pour cacher l’information et la récupérer est le Last
Significant Bit.
Le langage de programmation choisi est Java de manière à rendre le prototype indépendant de
la plate-forme.
Tout ces choix restent très standards mais permettent d’obtenir de solide base dans ce domaine.
Conception
Après analyse des différents logiciels inventoriés ci-dessus, le prototype a été conçu en 5 étapes.
1. Création de l’interface graphique
Pour permettre de plus nous concentrer sur la partie de la stéganographie, le logiciel Forte
(déjà exploité au préalable) a été choisi.
2. Sélection des fichiers
Afin de gérer au mieux le format de l’image, un filtre limitant le choix de l’utilisateur au
seul format bmp à été créé. De plus, une validation a été faite pour tester la capacité de
l’image source à contenir une autre image.
3. Application de la technique LSB
Pour cela, il a tout d’abord été nécessaire de transformer l’image afin d’obtenir des pixels,
de parcourir le RGB de chaque pixel, de sélectionner le bit de poids faible et de le marquer
en fonction de sa valeur. Ensuite, une image tatouée est retournée.
4. Enregistrement de l’image
Une validation visuelle de l’image a été intégrée offrant une possibilité éventuelle
d’enregistrer l’image tatouée.
5. Révéler l’image
La partie réaffichage de l’image cachée a soulevé le besoin de stocker la largeur et la hauteur
de celle-ci (et donc de revenir sur la partie Application de la technique LSB). Pour cela, il est
nécessaire de se poser la question de la capacité maximale à stocker dans l’image source.
Ainsi, une taille maximale a été déterminée pour l’image à cacher (voir la partie Notions
acquises lors de la conception, Test de validité de la taille page 28 pour plus de détails).
27 / 44
Jenny Dentand
Stéganographie
Un parcourt des pixels de l’image source est ensuite effectué afin d’en retirer les bits de
poids faibles et de les stocker puis d’en retourner l’image.
Notions acquises lors de la conception
1. Choix du format de l’image
Pour permettre une sélection des fichiers, l’interface FileFilter a été employée. Elle est
composée de :
− La fonction getDescription() retournant un string
− La fonction accept(java.io.File) retournant un boolean
2. Test de validité de la taille
Pour tester la possibilité maximale de contenance de l’image source, la formule suivante a
été appliquée :
( ((Nombre total de pixels / 4)*3 ) / 8) - 48
− 4 représente Alpha11, Rouge, Vert et Bleu contenus dans chaque pixel.
− 3 représente le Rouge, Vert et Bleu qui seuls seront marqués.
− 8 le nombre de bits que chacune de ces couleurs contiennent (sachant qu’ils ne peuvent
que cacher un seul bit par RGB).
− 48 désigne le nombre de bits utilisés pour stocker les informations de la hauteur et de la
largeur de l’image à cacher.
Il est également important de noter que l’image à cacher aura comme hauteur et largeur
maximales 255bits. Ce chiffre a été choisit afin de ne pas prendre trop de pixels dans
l’image source et d’en laisser un maximum pour stocker l’information de l’image cachée.
11
La donnée Alpha sert à ajouter divers niveaux de transparence à la couleur.
28 / 44
Jenny Dentand
Stéganographie
3. Manipulation d’image
Java propose des classes permettant de manipuler les images. Plus précisément de faire
correspondre des tableaux de pixels à des images. Ce sont les classes PixelGrabber et
MemoryImageSource.
PixelGrabber
Producteur d’image
Tableau de pixels
MemoryImageSource
- Fig 10 : Représentation des classes manipulant l’image
Le tableau de pixel est un tableau d’entiers contenant les valeurs RGB des pixels.
Les deux classes font partie du paquetage java.awt.image.
− La classe PixelGrabber
La classe PixelGrabber implémente une ImageConsumer qui permet d’attacher une
Image et d’en retirer ses pixels.
Code du constructeur :
PixelGrabber(Image img, int x, int y, int w, int h, int[] pix, int off, int scansize)
img
y
(x, y)
h
x
w
- Fig 11 : Réprésentation de la classe PixelGrabber
− Pix
Tableau qui, pour chaque pixel de l’image, stocke les valeurs RGB.
29 / 44
Jenny Dentand
Stéganographie
− Off
Décalage / saut dans le tableau pix pour indiquer où est stocké le premier pixel.
− Scansize
Distance dans le tableau qui correspond à une ligne de pixels avant de passer à la
suivante.
Public boolean grabPixels() throws InterruptedException
GrabPixels effectue le chargement des pixels de l’image vers le tableau. L’exception
InterruptedException est levée si une autre thread interrompt celle-ci.
− La classe MemoryImageSource
Cette classe implémente l’interface ImageProducer interface qui utilise un array pour
produire la valeur des pixels d’une image.
Code du constructeur :
MemoryImageSource (int w, int h, int tabPixels[], int offset, int scansize)
− int w
Largeur de l’image.
− int h
Hauteur de l’image.
− int tabPixels[]
Tableau de pixels.
− int offset
Offset dans une ligne où l’on stocke le premier pixel.
− int scansize
Distance d’une ligne de pixels à une autre ligne.
4. Parcours des trois couleurs
Pour récupérer les bits relatifs à la couleur, un pixel est récupéré et on « shift » à travers les
bits de 8, 16 ou 24 positions pour nous diriger vers la couleur souhaitée.
Code :
alpha =(pixelsSource[pixelIndex] >>24 )& 0xff;
rouge =(pixelsSource[pixelIndex] >>16 )& 0xff;
vert =(pixelsSource[pixelIndex] >>8 )& 0xff;
30 / 44
Jenny Dentand
Stéganographie
Pixel
- Fig 12 : Représentation d’un pixel avec RGB-
Utilisation du prototype
5. Fenêtre principale
Après avoir lancé le prototype, la fenêtre principale apparaît offrant deux choix
Cacher une image
Révéler une image
31 / 44
Jenny Dentand
Stéganographie
6. Cacher une image
Pour cacher une image, sélectionner l’image source et l’image à cacher souhaitées. Une
représentation visuelle de chacune de ces images permet de vérifier la sélection ainsi que le
chemin d’accès de chacune d’elles. Un test de validation de la capacité de l’image source à
dissimuler l’image à cacher est effectué. En cas de problème une fenêtre d’avertissement
apparaît, vous recommandant la sélection d’une autre image source ou à cacher.
7. Vue de l’image tatouée
Lorsque la validation du choix des fichiers a été effectuée, une vue est ouverte, vous
permettant de constater que l’image source est bien visiblement identique à l’image tatouée.
32 / 44
Jenny Dentand
Stéganographie
Une possibilité de sauvegarde vous est offerte.
8. Révéler une image
Pour révéler une image, sélectionner l’image source tatouée souhaitée.
9. Vue de l’image révélée
Dès validation de l’image tatouée, une vue est ouverte, vous permettant de constater que la
présence de l’image cachée. Une possibilité de sauvegarde vous est offerte. En cas d’absence,
un message d’erreur apparaît et vous êtes redirigé vers la sélection d’une autre image.
33 / 44
Jenny Dentand
Stéganographie
Conclusion de la réalisation
La création de ce prototype a permis de découvrir toute la partie de manipulation d’image, à
mettre en pratique la technique du LSB et à prendre connaissance des particularités du format
Bitmap.
Malgré les recherches effectuées au préalable, la mise en pratique a été laborieuse de part le peu
de connaissance au niveau des classes Java. De plus, la difficulté était supérieure puisque,
contrairement à la plupart des logiciels sur le marché, le média à cacher était une image.
Afin d’appliquer au maximum la théorie, la partie LSB a été mise en avant au détriment de
l’interface. Il est bien entendu que ce prototype n’est pas encore terminé.
Pour entrer dans la catégorie des bons logiciels existants sur le marché, ce prototype
nécessiterait une plus grande ouverture au niveau des choix des formats ainsi qu’une
documentation plus approfondie. Il reste néanmoins intéressant de pouvoir avoir un aperçu de
la création d’un logiciel de ce type.
34 / 44
Jenny Dentand
Stéganographie
Conclusion
Ce dossier présente une vue d’ensemble sur le domaine de la stéganographie et identifie une
partie des nombreuses approches possibles. Malgré l’ancienneté de sa création (2'445 ans), son
évolution et son utilisation n’a fait qu’augmenter. Internet lui a permis une ouverture beaucoup
plus vaste dans sa pratique et ses techniques. Les enveloppes multimédias de type image, audio
ou vidéo se prêtent particulièrement bien, vu leur taille et leur nature, à la stéganographie et lui
offre de nouvelles voies qui ne cessent d’être exploitées. Il est en effet très facile d'y dissimuler
des données, pratiquement sans altérer la perception de l'objet de source ainsi "parasité".
A cette date, la stéganographie est une discipline qui intéresse de plus en plus de personnes et
des séminaires sur ce thème commencent à être organisés. La recherche actuelle dans ce
domaine ne cesse de s’améliorer, en particulier dans l’insertion (encore peu de travaux existent
à ce jour pour les objets 3D) et dans les algorithmes de détection. Elle reste néanmoins un
moyen encore trop peu sûr et pas assez mature pour transmettre des informations requérant
une sécurité totale. En effet, la robustesse d’une donnée source par rapport à des modifications
ou conversions ultérieures est une question cruciale qui doit être étudiée soigneusement en
fonction des buts recherchés. Pour éviter d’en révéler l'usage, il est bien sûr important de
n'utiliser qu'une seule fois chaque image source. Il est en outre prudent de chiffrer le message
recouvert de manière à assurer sa confidentialité et son intégrité, même en cas de découverte du
caractère stéganographique de l'échange de données.
Malgré la relance de popularité dans ce domaine, principalement due aux informations
diffusées suite au 11 septembre 2001, la stéganographie n’est pas un art autant utilisé qu’il n’y
paraît. Ceci provient de la présence encore trop rare de logiciels performants. Néanmoins, son
utilisation basique reste accessible à tous et attire un grand nombre de personnes grâce à son
côté anonyme et invisible.
Comme le souligne le dernier congrès sur la stéganographie, les recherches ont actuellement
tendance à se diriger plus particulièrement vers le tatouage numérique et le fingerprinting.
A l’instar de la cryptographie, la stéganographie peut être utilisée à des fins loyales telles le
watermarking d'œuvres à protéger ou le camouflage de données nécessitant une protection lors
d’échange entre des personnes physiques ou morales, aussi bien qu'à des fins répréhensibles
comme la dissémination d'informations racistes, criminelles ou terroristes.
Faut-il alors opter pour une interdiction pure et simple de tels moyens et par là-même, en
empêcher tout usage correct ?
35 / 44
Jenny Dentand
Stéganographie
Bibliographie
1. Stéganographie
PETITCOLAS A.P Fabien, J. ANDERSON Ross, G. KUHN Markus, Information Hiding –
A Survey, Juillet 1999. http://www.petitcolas.net/fabien/publications/ieee99-infohiding.pdf
PROVOS Niels, HONEYMAN Peter, Hide and Seek :An Introduction to Steganography, 2003,
niels.xtdnet.nl/papers/practical.pdf
PETITCOLAS A.P Fabien, Katzenbeisser Stefan, Information hiding techniques for
steganography and digital watermarking, 2000,
Sur CD
LE CHAPELAIN Pierre, Analyse stéganographique d’images numériques, comparaison de
différentes méthodes, juin 2003,
http://www.lis.inpg.fr/stages_dea_theses/theses/dea2003.html
DUGELAY J.L., Introduction au tatouage d’images, 1999,
http://www.eurecom.fr/people/dugelay.fr.htm
Stegoarchive.com, [en ligne], (page consultée en novembre 2005)
http://www.stegoarchive.com/
PETITCOLAS A.P Fabien, Février 2005, (page consultée en octobre 2005)
http://www.petitcolas.net/fabien/steganography/
GLAUDE David, Avril 2002, (page consultée en novembre 2005)
http://users.skynet.be/glu/artsteg.htm
Mantis, Steganographie, [en ligne], (page consultée en novembre 2005)
http://mantis.free.fr/frame/frame2.htm
JOHNSON Neil F, [en ligne], (page consultée en novembre 2005)
http://www.jjtc.com/Security/stegtools.htm
Wikipedia, [en ligne], (page consultée en novembre 2005)
http://fr.wikipedia.org/wiki/Accueil
PILLOUD Jean-François, [en ligne], (page consultée en novembre 2005)
http://www.commentcamarche.net
36 / 44
Jenny Dentand
Stéganographie
2. Logiciels étudiés
Caméléon 1.0, 2002, DUBOIS Denis, (page consultée en novembre 2005)
http://www.internet-anonyme.com/cameleon.php
Camouflage 2.0, PETERS Frederic, (page consultée en novembre 2005)
http://membres.lycos.fr/fpeters/stegano/programmes.html?
Cloak v8.0, Insight Concepts, 09/01/2005, (page consultée en novembre 2005)
http://www.01net.com/telecharger/windows/Utilitaire/cryptage_et_securite/fiches/26370
.html
Gif-It-Up v1.0, NelsonSoft, 1997, (page consultée en novembre 2005)
http://www.stegoarchive.com/
Hide and seek v.1.1 for Win95 and NT, (page consultée en novembre 2005)
http://promethee.aquitaine.iufm.fr/formiufm/article.php3?id_article=246
Invisible Secret v4.0, NeoByte Solutions, 12/03/2003, (page consultée en novembre 2005)
http://www.01net.com/telecharger/windows/Utilitaire/cryptage_et_securite/fiches/13756
.html
JpegX 2.11, KOM Lawrence, 30/04/2003, (page consultée en novembre 2005)
http://www.nerdlogic.org/jpegx/download.html
SecurEngine Pro 1.0, PINET Adrien, 2004, (page consultée en novembre 2005)
http://securengine.isecurelabs.com/
Stegano, RATAN Abhishek, (page consultée en novembre 2005)
http://www.poptopic.net/index.php?nosubmit=yes&keywords=steganography&order=1&page=0
WbStego4.3open, wbStego, 01/03/2004, (page consultée en novembre 2005)
http://wbstego.wbailer.com/
37 / 44
Jenny Dentand
Stéganographie
Glossaire
− Chrominance
La chrominance est un ensemble de trois nombres, chacun représentant la quantité de
couleur primaire qu’il faut pour faire apparaître la bonne couleur à l’écran.
− Cover-channel
Ce système permet de disposer d'un véritable canal de communication en détournant
l'usage de canaux de communications anodins. Cette technique permet de contourner
l'usage d’un firewall.
Exemple : ralentir artificiellement un transfert ftp ou au contraire l'accélérer pour coder
un bit à 1 ou à 0, et pouvoir transmettre à un observateur le message qu'il construit.
− Crowler
Robot d'indexation et de recherche d'informations sur le web. Il s'agit en fait d'une
batterie de navigateurs explorant exhaustivement le réseau.
− JFIF
Signifiant JPEG File Interchange Format, ce format de fichier est le plus utilisé pour les
images enregistrées avec la compression JPEG. L'extension de fichier .jpeg ou .jpg
indique un fichier au format JFIF.
− JPEG 2000
Norme commune de l'ISO et de l'UIT-T de compression d'images définie par le comité
Joint Photographic Experts Group. JPEG 2000 est capable de travailler avec ou sans
pertes, utilisant une transformation par « ondelettes » (méthode d'analyse mathématique
du signal). En compression irréversible, JPEG 2000 est plus performante que la
méthode de compression JPEG. On obtient donc des fichiers d'un poids inférieur pour
une qualité d'image égale. De plus, les contours nets et contrastés sont mieux rendus.
− JPEG-LS
Norme de compression sans pertes (donc réversible).
− PNG
Portable Network Graphics, un format de données pour les images numériques qui
permet une compression sans perte. Il est destiné à remplacer le format GIF sur
Internet.
− PNM
Le format PNM (Portable aNyMap) est un format d'images, sûrement le plus simple qui
existe. Il permet très simplement de décrire des images en bitmap (2 couleurs :
''image.pbm''), graymap (niveaux de gris : ''image.pgm'') et pixmap (couleurs
RGB : ''image.ppm'').
38 / 44
Jenny Dentand
Stéganographie
− RAW
RAW (de l'anglais raw, qui signifie brut) est un format d'images numériques peu
compressé. Ce n'est pas réellement un standard, mais plutôt une désignation commune
pour les fichiers générés par les dispositifs tels qu'appareils photos numériques, ou
scanners, et n'ayant subi aucun traitement. Ces fichiers sont généralement spécifiques à
chaque constructeur d'appareil, voire à chaque appareil, et nécessitent donc souvent un
logiciel spécial pour pouvoir les exploiter. Ce type de fichier est en quelque sorte « en
attente de développement » dans la mesure où il n'a subi aucun des traitements de
linéarisation, dématriçage, contraste, luminosité ou saturation, nécessaires pour
produire une image lisible.
− TIFF
Signifiant Tagged Image File Format, ce format est extrêmement flexible. Il est
notoirement connu pour permettre l'enregistrement des données multi-octets au format
big endian (l'octet de poids fort est stocké avant l'octet de poids faible) ou little endian
(l'octet de poids faible est stocké avant l'octet de poids fort). Il permet d'utiliser de
nombreux types de compression, avec ou sans perte de données. Il supporte de
nombreux codages des pixels, de 1 à 64 bits par pixel, ainsi que les formats en virgule
flottante 32 et 64 bit.
Il supporte de nombreux espaces colorimétriques : noir et blanc, monochrome, palette
de couleur (de toute taille), RGB, YCbCr, CMYK, CIELab.
− WBMP
Le Wireless BitMap est un format d'image noir et blanc utilisé de manière exclusive
pour l'insertion d'images dans les pages WAP.
39 / 44
Jenny Dentand
Stéganographie
Annexe 1
Correspondances entre Georges Sand et Alfred De Musset
Lettre de Georges Sand à Alfred De Musset
Cher ami,
Je suis toute émue de vous dire que j'ai
bien compris l'autre jour que vous aviez
toujours une envie folle de me faire
danser. Je garde le souvenir de votre
baiser et je voudrais bien que ce soit
une preuve que je puisse être aimée
par vous. Je suis prête à montrer mon
affection toute désintéressée et sans calcul, et si vous voulez me voir ainsi
vous dévoiler, sans artifice, mon âme
toute nue, daignez me faire visite,
nous causerons et en amis franchement
je vous prouverai que je suis la femme
sincère, capable de vous offrir l'affection
la plus profonde, comme la plus étroite
amitié, en un mot : la meilleure épouse
dont vous puissiez rêver. Puisque votre
âme est libre, pensez que l'abandon ou je
vis est bien long, bien dur et souvent bien
insupportable. Mon chagrin est trop
gros. Accourrez bien vite et venez me le
faire oublier. À vous je veux me soumettre.
Votre poupée
Réponse d'Alfred De Musset
Quand je mets à vos pieds un éternel hommage,
Voulez-vous qu'un instant je change de visage ?
Vous avez capturé les sentiments d'un cœur
Que pour vous adorer forma le créateur.
Je vous chéris, amour, et ma plume en délire
Couche sur le papier ce que je n'ose dire.
Avec soin de mes vers lisez les premiers mots,
Vous saurez quel remède apporter à mes maux.
Réponse de Georges Sand
Cette insigne faveur que votre coeur réclame
Nuit à ma renommée et répugne à mon âme.
40 / 44
Jenny Dentand
Stéganographie
Annexe 2
Grille de cardan
http://www.apprendre-en-ligne.net/crypto/stegano/cardan.html
La grille de Cardan consiste en une feuille d'un matériau rigide dans laquelle ont été découpées,
à des intervalles irréguliers, des fenêtres rectangulaires de la hauteur d'une ligne d'écriture et de
longueur variable. Le chiffreur pose ce cache sur la feuille de papier et inscrit le message secret
dans les fenêtres. Il enlève ensuite la grille et remplit les espaces vides avec des lettres
quelconques. Le déchiffreur place simplement la grille sur le texte pour voir apparaître le
message.
41 / 44
Jenny Dentand
Stéganographie
Le cardinal de Richelieu utilisait un système analogue pour chiffrer ses messages. Le
correspondant recevait une lettre d'apparence anodine sur laquelle il posait un cache fourni
auparavant par le cardinal. Le message secret, composé de seulement quelques lettres du
message écrit, apparaissait alors.
L'inconvénient de ce système est que le message chiffré est beaucoup plus long que le message
clair.
42 / 44
Jenny Dentand
Stéganographie
Annexe 3
La stéganographie dans les billets de banque
http://www.apprendre-en-ligne.net/crypto/stegano/10francs.html
On trouve un exemple de stéganographie élémentaire sur tous les billets de banque suisses.
Voici l'actuel billet de dix francs:
L'image ci-contre a été obtenue en agrandissant fortement le petit carré entouré d'un cercle vert:
on a scanné cette partie du billet avec une résolution de 2400 ppi pour voir apparaître le texte
(une simple loupe ne permet pas de lire les caractères).
C'est une variante du micropoint.
43 / 44
Jenny Dentand
Stéganographie
Annexe 4
Blake et Mortimer : stéganographie
Bande dessinée de Blake et Mortimer, SOS Météores d'Edgar P. Jacobs, pp. 24-25
44 / 44