L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

44
Ministère de l’Enseignement Supérieur et de La Recherche Scientifique Université El-Hadj Lakhdar - BATNA Faculté des Sciences Département d'Informatique PROJET DE FIN D'ETUDES pour l’obtention du Diplôme de Master en Informatique Option : Cryptographie et Sécurité par BENNOUI Issam L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES Encadreur: Mr ALLEG Mébarek Promotion 2012

description

L’UTILISATION DE LA STEGANOGRAPHIEPOUR LA SECURITE DES DONNEES PROJET DE FIN D'ETUDES

Transcript of L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

Page 1: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

Ministère de l’Enseignement Supérieur et de

La Recherche Scientifique

Université El-Hadj Lakhdar - BATNA

Faculté des Sciences

Département d'Informatique

PROJET DE FIN D'ETUDES

pour l’obtention du Diplôme de Master en Informatique

Option : Cryptographie et Sécurité

par

BENNOUI Issam

L’UTILISATION DE LA STEGANOGRAPHIE

POUR LA SECURITE DES DONNEES

Encadreur: Mr ALLEG Mébarek

Promotion 2012

Page 2: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

L’utilisation de la stéganographie pour la sécurité des données

Remerciement

Tout d’abord, je remercie ALLAH pour la volonté, la force, la santé et la patience qu’il m’a donné afin de réaliser ce travail. Nous tenons particulièrement à Remercier notre encadreur Mr Mébarek ALLEG pour ses précieux conseils et son sens d’organisation et le suivi qu’il nous apporté durant ce travail. Nous remerciant toute la noble famille enseignante et particulièrement l’ensemble des enseignants département de l’informatique. Enfin, je remercie Toute personne qui a à des degrés divers, contribué sur le plan intellectuel, technique, moral, affectif ou encore matériel à l’achèvement de ce travail.

Page 3: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

L’utilisation de la stéganographie pour la sécurité des données

Résumé

Si la cryptographie est l'art du secret, la stéganographie est l'art de la dissimulation : l'objet de la Stéganographie est de faire passer inaperçu un message dans un autre message et non de rendre un message inintelligible à autre que qui-de-droit. Pour prendre une métaphore, la stéganographie consisterait à enterrer son argent dans son jardin là où la cryptographie consisterait à l'enfermer dans un coffre-fort, cela dit, rien n'empêche de combiner les deux techniques, de même qu'on peut enterrer un coffre dans son jardin.

ملخص

معلىمة غير الهذف مىه تمرير ة،الترميز هى فه مه السرية، فإن الستيغاوىغرافي هى فه اإلخفاء كانإرا استعارة، إخفاء المعلىمات هى دفه ماله في حذيقة. التخار في رسالة دون الحاجة لتشفير المعلىمة ظةحمال

.ال شيء يمىع الجمع بيه الطريقتيه ة. وآمىخزاوة في بىضعه مىزله حيث الترميز سيكىن

Abstract Steganography is the art and science of writing hidden messages in such a way that no one, apart from the sender and intended recipient, suspects the existence of the message.

Mots clés

Cryptographie, stéganographie, l'art du secret, message dans un autre message, l'art de la dissimulation, writing hidden messages.

Page 4: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

L’utilisation de la stéganographie pour la sécurité des données

Ta

ble

d

es

m

at

re

s

Ta

ble

d

es

m

at

re

s

Table des matières

Introduction

Partie I : Etat de l’art Chapitre 1: Définition & Histoire

1. Définition.................................................................................................................................. 2

2. Historique................................................................................................................................. 2

2.1. L'écriture invisible, au jus de citron........................................................................................... 4

2.2. Le disque de Phaïstos...............................................................................................................4

2.3. La technique du rouleau assyrien.............................................................................................. 5

3. Les premières méthodes de chiffrement....................................................................................... 5

3.1. La substitution mono-alphabétique.......................................................................................... 6

3.2. Chiffrement de César............................................................................................................... 6

3.3. La substitution polyalphabétique.............................................................................................. 6

4. Conclusion ................................................................................................................................ 7

Chapitre 2 : Formes & Technique

1.Introduction............................................................................................................................. 9

1.1. La stéganographie linguistique............................................................................................... 9

1.2. La stéganographie technique.................................................................................................. 10

2.Buts, intérêts.............................................................................................................................. 11

3.Principes généraux et caractéristiques.......................................................................................... 12

3.1. Codage des couleurs............................................................................................................... 12

3.2. Formats des images numériques............................................................................................ 13

3.3. Règle en stéganographie........................................................................................................ 14

3.4. Analyse................................................................................................................................ 15

3.5. Processus.............................................................................................................................. 15

4.Techniques d’insertion de données............................................................................................ 16

4.1. Le marquage des bits de poids faible...................................................................................... 16

4.2. Techniques avancées............................................................................................................. 17

5.Impact d’une large diffusion de cette technologie sur la sécurité................................................... 19

6.Sécurité................................................................................................................................... 20

6.1. Attaque active....................................................................................................................... 20

6.2. Attaque passive.................................................................................................................... 21

7. Conclusion .............................................................................................................................. 21

Partie II : Etude de cas

Page 5: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

L’utilisation de la stéganographie pour la sécurité des données

Ta

ble

d

es

m

at

re

s

Ta

ble

d

es

m

at

re

s

Chapitre 3. Conception & Implémentation

a) Conception.....................................................................................................................23 b) Notions acquises lors de la conception..............................................................................24 c) Utilisation du prototype...................................................................................................27 d) Conclusion de la réalisation............................................................................................. 29

Conclusion générale et perspectives

Références

Glossaire Annexe s

Liste des figures

Fig 1.1 Représentation chronologique ________________________________ p.3 Fig 1.2. L'écriture invisible __________________________________________ p.4 Fig1.3. Le disque de Phaïstos ________________________________________ p.4 Fig 1.4. La technique du rouleau assyrien ______________________________ p.5 Fig 1 : Pixel dans une image- ___________________________________ _____ p.12 Fig 2: Diagramme représentant quelques formats d’image ___________ _____ p.13 Fig 3 : Etat de la compression dans des fichiers JPEG _____________________ p.14 Fig 4 : Insertion de données dans la source ____________________________ p.15 Fig 5 : Extraction des données de la source ____________________________ p.15 Fig 6: Tableau représentant un octet et son MSB et LSB __________________ p.16 Fig 7 : Exemple d’application du LSB sur 3 pixels ________________________ p.17 Fig 8 : Segmentation d’une image ____________________________________ p.18 Fig 9 : Présence d’images contenant de la stéganographie_________________ p.19 Fig 10 : Représentation des classes manipulant l’image ___________________ p.25 Fig 11 : Réprésentation de la classe PixelGrabber ________________________ p.26 Fig 12 : Représentation d’un pixel avec RGB _______________________ _____ p.27

Page 6: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

L’utilisation de la stéganographie pour la sécurité des données

Introduction :

La cryptographie est l’ensemble des techniques permettant de dissimuler une information à

l'aide d'un code secret. Les techniques de codage d'un message ont existé de tout temps, et de nos jours, elles ont

atteint un haut degré de complexité. Après plusieurs siècles d'utilisation de cryptages reposant sur une propriété physique de la

matière, ou une astuce tenue secrète, ou encore un mécanisme complexe, la cryptographie est devenue mathématique.

Nous allons tenter, à travers ce travail, d'analyser la stéganographie comme technique et de comprendre ce que cette méthode a apporté de plus que les autres techniques cryptographiques.

Page 7: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

L’utilisation de la stéganographie pour la sécurité des données

Organisation de la mémoire : Le premier chapitre traitant les définitions et l’histoire de la stéganographie, Le deuxième chapitre présente les formes et technique de la stéganographie, Le troisième chapitre constitue la conception et l’implémentation, Les conclusions et les perspectives sont à la fin de ce travail.

Page 8: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

L’utilisation de la stéganographie pour la sécurité des données CHAPITRE 1

Chap

itre

1

1

Partie I Etat de l’art

Chapitre 1 Définition & Histoire

Page 9: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

L’utilisation de la stéganographie pour la sécurité des données CHAPITRE 1

Chap

itre

1

2

1. 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.

Il est possible d’intégrer la cryptologie dans un message ; ainsi, la communication n’est pas seulement dissimulée mais également brouillée.

2. Historique

La stéganographie est un art exploité et connu depuis l’Antiquité.

Depuis 3000 ans environ, les êtres humains ont tenu à garder secret certaines conversations. Pour cela, il y eût diverses techniques de cryptage reposant sur des principes méconnus des espions.

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, pu lire le message qui lui donnait le signal de la révolte.

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’entre-elles seront détaillées par la suite.

Histiée

Page 10: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

L’utilisation de la stéganographie pour la sécurité des données CHAPITRE 1

Chap

itre

1

3

1833 Echange de poèmes

utilisant des sémagrammes. Auteurs : Georges Sand et

Alfred de Musset

1833 Echange de poèmes

utilisant des sémagrammes. Auteurs : Georges Sand et

Alfred de Musset

2004 Petites annonces pour

l’obtention d’une rançon au travers d’un langage

convenu Auteur : AZF

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

1950 Transmission de pensées grâce à la stéganographie pour des tours de magie. Auteurs : Myr et Myroska 1939 – 1945

Transmission d’informations

grâce à des nœuds dans les mailles de pulls Enigma. Auteurs : l’armée allemande

1939 – 1945

Transmission d’informations

grâce à des nœuds dans les mailles de pulls Enigma. Auteurs : l’armée allemande

1er siècle avant JC Description de la réalisation d’un message

à l’encre invisible. Auteur : Pline l’Ancien

1er siècle avant JC Description de la réalisation d’un message

à l’encre invisible. Auteur : Pline l’Ancien

440 avant JC Transmission d’un message au travers d’un tatouage sur le crâne rasé d’un esclave.

Auteur : Histiée

440 avant JC Transmission d’un message au travers d’un tatouage sur le crâne rasé d’un esclave.

Auteur : Histiée

484 avant JC Message écrit à même le bois

et enduit de cire. Auteur : Démarate

484 avant JC Message écrit à même le bois

et enduit de cire. Auteur : Démarate

1685 – 1750

Code inséré dans de

la musique. Auteur : JS Bach

1685 – 1750

Code inséré dans de

la musique. Auteur : JS Bach

1997

Micropoints dans les billets

de banques suisses. Auteur : Jörg Zintzmeyer

1997

Micropoints dans les billets

de banques suisses. Auteur : Jörg Zintzmeyer

2001 Messages potentiellement

cachés dans des images informatiques.

Auteur : Al Qaeda

2001 Messages potentiellement

cachés dans des images informatiques.

Auteur : Al Qaeda

Fig 1.1 Représentation ch rono logique retrace certaines utilisations de la stéganograph ie dans l’h isto ire

Fig 1.1 Représentation ch rono logique retrace certaines utilisations de la stéganograph ie dans l’h isto ire

Page 11: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

L’utilisation de la stéganographie pour la sécurité des données CHAPITRE 1

Chap

itre

1

4

2.1. L'écriture invisible, au jus de citron

Ecrire un message à l'aide d'une plume trempée dans du jus de citron permet de rendre le message invisible.

Fig 1.2. L'écriture invisible Pour être en mesure de le lire, il faut connaître le truc : il faut approcher la feuille de

papier, sur laquelle le message est écrit, d'une flamme et le message apparaît en transparence.

2.2. Le disque de Phaïstos

En 1908, sur une plaine crétoise de la Messara, une équipe d'archéologues italiens exhument au milieu des ruines millénaires du palais de Phaistos un disque d’argile recouvert sur ses deux faces de pictogrammes inconnus.

Le disque de Phaïstos est en argile cuite très fine, un peu irrégulier. Son diamètre varie de 15,8 cm à 16,5 cm, son épaisseur de 16 à 21 mm. Sur chaque face une ligne en spirale fait fonction de guide, comme les lignes d'un cahier d'écolier moderne.

Fig1.3. Le disque de Phaïstos

Page 12: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

L’utilisation de la stéganographie pour la sécurité des données CHAPITRE 1

Chap

itre

1

5

Sur une face, 122 hiéroglyphes en 31 groupes séparés l'un de l'autre par un trait vertical. Sur l'autre 199 en 30 groupes pareillement séparés. Ces hiéroglyphes ont été, non pas tracés, mais estampillés (c'est le premier exemple connu). NB : L'estampillage est une forme de gravure.

À quoi ressemblent ces hiéroglyphes? Pêle-mêle, on y voit une tête chauve, une autre coiffée comme un Mohican, une coquille

Saint-Jacques (ou un gant de baseball), une mâchoire d'âne (ou une gondole vénitienne), un bouclier rond (ou un barillet de revolver), une équerre, une colombe avec une branche d'olivier, un chrysanthème (ou une marguerite), un pressoir (ou une ruche), ... En tout, 45 signes différents.

Les traductions proposées vont de l'hymne à Poséïdon au récit de la disparition de l'Atlantide. C'est un fait bien connu des experts en cryptologie que, étant donné un texte chiffré suffisamment court, on peut en proposer à peu près n'importe quel déchiffrement sans qu'il soit possible de décider lequel est le vrai. Or, non seulement le texte du disque de Phaïstos est court, 241 hiéroglyphes, mais on n'en connaît pas la langue.

On ne s'accorde même pas sur le sens de l'écriture: du centre à la périphérie, ou l'inverse. Et on ne risque pas de le savoir, car Shannon et Weaver ont prouvé que la mesure de la propriété mathématique fondamentale des textes, l'entropie, était la même qu'on les lise dans un sens ou dans l'autre.

2.3. La technique du rouleau assyrien

Le message est écrit sur une feuille enroulée autour d'un rouleau d'un certain diamètre. Durant le transport de la feuille, le message est illisible. Pour lire le message, on enroule la feuille autour d'un rouleau de même diamètre.

Fig 1.4. La technique du rouleau assyrien

3. Les premières méthodes de chiffrement

Le premier « document » chiffré connu remonte à l'Antiquité. Il s'agit d'une tablette

d'argile, retrouvée en Irak, et datant du XVIe siècle av. JC. Un potier y avait gravé sa recette secrète en supprimant des consonnes et en modifiant l'orthographe des mots.

Page 13: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

L’utilisation de la stéganographie pour la sécurité des données CHAPITRE 1

Chap

itre

1

6

3.1. La substitution mono-alphabétique

Définition : La substitution mono-alphabétique consiste à remplacer dans un message chaque lettre de l'alphabet par une autre. C’est une permutation des lettres de l’alphabet. On dit alphabet désordonné. Exemple : Chiffrement Atbash Clair : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Chiffré : z y x w v u t s r q p o n m l k j i h g f e d c b a Texte clair : MON MESSAGE Texte chiffré : nlm nvhhztv

3.2. Chiffrement de César

En cryptographie, le chiffrement de César est une méthode de chiffrement par substitution mono-alphabétique très simple utilisée par Jules César dans ses correspondances secrètes. Le chiffrement de César est un chiffrement par décalage.

Exemple : Décalage de 3 vers la droite Clair : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Chiffré : d e f g h i j k l m n o p q r s t u v w x y z a b c

Texte clair : ALEA JACTA EST Texte chiffré : dohd mdfwd hvw

Le décalage de 3 vers la droite s’appelle la clé du chiffrement. Donc on a une clé égale à +3. A un décalage de 3 vers la gauche correspondra une clé égale à -3. Pour éviter de retrouver facilement les mots simples comme les lettres esseulées « à » ou les déterminants « le, la,… », on regroupe les lettres du message chiffré par groupe de 5 ou 6 lettres ou plus, au choix.

3.3. La substitution polyalphabétique : La substitution polyalphabétique consiste à substituer une lettre du message en clair, par

une autre choisie en fonction d'un état du cryptosystème, et non plus de manière fixe comme pour la monosubstitution. Ce changement de lettre tout au long du processus, s'obtient à l'aide d'une clé, qui indique le nombre de décalage à réaliser à ce moment. Pour chiffrer la lettre suivante on utilise alors le caractère suivant de la clé et ainsi de suite. On recommence au début de la clé quand tous ses caractères sont épuisés. La plus célèbre utilisation de cette technique reste la machine allemande Enigma, utilisée pendant la Seconde Guerre mondiale.

L'exemple suivant montre une polysubstitution simple avec une clé de longueur 3 qui va décaler les lettres de l'alphabet :

On définit la clé '123' qui indique que le premier caractère sera décalé d'une position, le second de 2 et le troisième de 3 positions, etc. Le mot : WIKIPEDIA donne donc dans ce cas XKNJRHEKD. Mais si on chiffre le mot : AAAAAAAAA cela donnera BCDBCDBCD.

Page 14: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

L’utilisation de la stéganographie pour la sécurité des données CHAPITRE 1

Chap

itre

1

7

On s'aperçoit tout de suite que chiffrer une suite identique de lettres donne une indication (entre autres) sur la longueur de la clé utilisée.

On sait depuis le XIXe siècle que ce principe de polysubstitution possède de nombreuses failles, comme le montre l'officier prussien Friedrich Kasiski dans son test. Chiffres l'utilisant : chiffre de Vigenère, chiffre de Hill, Enigma,…

4. Conclusion :

La stéganographie est un ancien moyen de cacher des messages sans qu'un lecteur non autorisé en prenne connaissance. Elle a souvent été dans l'ombre.

La stéganographie est en fait un monde vaste et varié mais totalement inconnu du grand public.

Mais pouvait-il en être autrement de quelque chose dont la finalité est de dissimuler la communication ?

Page 15: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

L’utilisation de la stéganographie pour la sécurité des données CHAPITRE 2

Chap

itre

2

8

Chapitre 2 Formes & Technique

Page 16: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

1. Introduction

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.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èmes 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

Page 17: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

1.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 travellers- chè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ées1.

− 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 suisses2 et est également évoqué dans la bande dessinée de Blake et Mortimer3.

− 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.

1 Annexe 1 : Grille de cardan

2 Annexe 2 : La stéganographie dans les billets de banque 3 Annexe 3 : Blake et Mortimer : stéganographie

Page 18: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

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 puisque différents groupes terroristes sont suspectés d’y avoir eu recours5.

2. 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

Page 19: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

− 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.

3. 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.

3.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.

Page 20: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

− 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.

3.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

Nombre de bit(s) par pixel

Nombre de pixels qui peuvent être codés dans un octet

2 couleurs 1 8

16 couleurs 4 2

256 couleurs 8 1

Couleurs réelles 24 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

Page 21: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

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.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é .

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/

Page 22: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

3.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.

3.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

Clé publique / secrète

Algorithme de marquage

Image marquée

Fig 4 : Insertion de données dans la source

Marque et / ou image source

Image test

Clé publique / secrète

Algorithme de détection

Marque

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.

Page 23: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

4. Techniques d’insertion de données

Cette partie a pour objectif de présenter, dans les grandes lignes, plusieurs techniques significatives du domaine. 4.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 7 6 5 4 3 2 1 0

MSB LSB

Valeur des bits 0 1 1 0 1 0 1 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.

Page 24: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

− 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 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 ».

4.2. 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 le même) puis segmenter l’image en utilisant l’algorithme des diagrammes de Voronoi8. Ainsi on obtient le résultat suivant :

Page 25: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

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

Page 26: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

9 Source : http://niels.xtdnet.nl/stego/usenet.php 9 Source : http://niels.xtdnet.nl/stego/usenet.php

5. 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 9

Page 27: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

6. 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.

6.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/

Page 28: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

− 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.

− 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.

6.2. 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.

7. 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.

Page 29: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

L’utilisation de la stéganographie pour la sécurité des données CHAPITRE 3

Chap

itre

3

22

Partie II Etude de cas

Chapitre 3 Conception & Implémentation

Page 30: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

Application

Ce prototype de stéganographie est destiné à mettre en application les notions acquises précédemment. Ce prototype cache dans une image une seconde image du même format. Une seconde fonctionnalité permet, à partir d’une image stégané, de retrouver l’image cachée. La technique employée pour cacher l’information et la récupérer est le LSB 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

1. Création de l’interface graphique

Pour permettre de plus nous concentrer sur la partie de la stéganographie.

2. Sélection des fichiers

Afin de gérer au mieux le format de l’image, un filtre limitant le choix de. 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).

Page 31: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

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.

Page 32: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

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

− Pix - Fig 11 : Réprésentation de la classe PixelGrabber

Tableau qui, pour chaque pixel de l’image, stocke les valeurs RGB.

Page 33: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

− 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;

Page 34: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

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

Page 35: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

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.

Page 36: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

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.

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.

Page 37: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

Conclusion générale et perspectives La stéganographie représente un gros challenge dans le monde de la sécurité informatique. Sous l’impulsion des milieux académiques, des techniques de plus en plus sophistiquée sont développées. En parallèle, des outils de stéganalyse de plus en plus évolué apparaissent. La plupart sont très difficile à appliquer en dehors de leur contexte mathématique. Cependant, la question la plus importante à se poser reste de savoir si, à part l’informaticien du dimanche voulant absolument tester les dernier gadget, la stéganographie est réellement utilisée à des fins criminelles. Ce document ne permet pas de répondre à cette question. Un autre élément à souligner est la forte recrudescence de documentation technique concernant la stéganographie sur images numériques. Près de 90 % des documents trouvé s’attache à décrire les possibilités offertes par ce support. D’un autre côté, très peu de document traite de l’audio, ainsi que des méthodes de stéganalyse applicable à l’audio. Le prolongement de ce travail pourrait aboutir sur la tentative d’adaptation, du moins l’analyse de la faisabilité, des méthodes de stéganalyse image au contenu audio. Au cours des diverses lectures, on se rend compte que la stéganographie constitue un éternelle recommencement.

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 ?

Page 38: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

Références

PETITCOLAS A.P Fabien, J. ANDERSON Ross, G. KUHN Markus, Information Hiding – A Survey,. http://www.petitcolas.net/fabien/publications/ieee99-infohiding.pdf

PROVOS Niels, HONEYMAN Peter, Hide and Seek :An Introduction to Steganography, niels.xtdnet.nl/papers/practical.pdf

PETITCOLAS A.P Fabien, Katzenbeisser Stefan, Information hiding techniques for steganography and digital watermarking, Sur CD

LE CHAPELAIN Pierre, Analyse stéganographique d’images numériques, comparaison de différentes méthodes, http://www.lis.inpg.fr/stages_dea_theses/theses/dea2003.html

DUGELAY J.L., Introduction au tatouage d’images, http://www.eurecom.fr/people/dugelay.fr.htm

Stegoarchive.com, [en ligne], http://www.stegoarchive.com/

PETITCOLAS A.P Fabien, http://www.petitcolas.net/fabien/steganography/

GLAUDE David, http://users.skynet.be/glu/artsteg.htm

Mantis, Steganographie, [en ligne], http://mantis.free.fr/frame/frame2.htm

JOHNSON Neil F, [en ligne], http://www.jjtc.com/Security/stegtools.htm

Wikipedia, [en ligne], http://fr.wikipedia.org/wiki/Accueil

PILLOUD Jean-François, [en ligne], http://www.commentcamarche.net

Page 39: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

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'').

Page 40: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

− 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.

Page 41: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

Annexe 1 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.

Page 42: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

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.

Page 43: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

Annexe 2 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.

Page 44: L’UTILISATION DE LA STEGANOGRAPHIE POUR LA SECURITE DES DONNEES

Annexe 3 Blake et Mortimer : stéganographie

Bande dessinée de Blake et Mortimer, SOS Météores d'Edgar P. Jacobs, pp. 24-25