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