Télécharger le fichier pdf d’un mémoire de fin d’études
Du moyen-âge à l’avant-guerre
Au cours du moyen-âge et de la renaissance se développèrent des techniques de stéganographie linguistiques dont la plus connue est l’acrostiche, qui repose sur l’écriture d’un message caché qui sera lu, en lisant la première lettre ou le premier mot d’une ligne de haut en bas et non de gauche à droite. Parmi les plus célèbres acrostiches, on peut citer les correspondances d’Alfred De Musset et Georges Sand. Lewis Carroll en est aussi friand dans ses livres et plus particulièrement dans le livre A travers le miroir où il révèle sous forme d’acrostiche le nom de son héroïne Alice [2].
D’autres techniques consistent à cacher un message en jouant sur la ponctuation du texte, l’espacement entre les mots, ou des erreurs volontaires sur le style de l’écriture (typographies, taille de polices de caractères, etc…). On voit aussi apparaître au cours de cette période des techniques utilisant la musique pour envoyer des messages de manière stéganographique. Un scientifique allemand, Gaspart Schott (1608-1666) explique dans son livre « Schola Steganographica » comment dissimuler des messages en utilisant des notes de musique. Les notes des partitions de musique correspondent alors à des lettres qui forment le message caché, pouvant ainsi être transmis en récupérant la partition ; ou bien en écoutant les notes jouées par un musicien comme expliqué par John Wilkins en 1694, qui montre par ailleurs comment transmettre un message avec l’utilisation de figures géométriques, chaque figure (ligne, rectangle, carré, etc…) dans sa position correspondant à une lettre de l’alphabet [1].
Des 2 guerres mondiales à aujourd’hui
La période correspondant aux deux guerres mondiales et la guerre froide est en quelque sorte l’apogée de l’utilisation de la stéganographie. Lors de la première guerre, les espions dissimulaient des microfilms contenant des images réduites par réductions successives sous leurs ongles, dans les oreilles, etc….
Les techniques d’encres invisibles refont aussi leurs apparitions de manière améliorée, avec des procédés chimiques qui nécessitent un premier produit chimique pour cacher un message, et un deuxième différent pour le révéler.
Les services secrets se sont aussi servis de la technique des micros points, qui consiste à réduire un message ou une image à une taille microscopique, et à l’insérer dans un signe de ponctuation d’un texte contenu par exemple dans un magazine ou un journal.
Ces dix dernières années ont vu un regain d’intérêt pour l’utilisation de la stéganographie, principalement suite à l’attaque des deux tours du World Trade Center du 11 Septembre 2001.
Les services secrets américains soupçonnent vigoureusement Oussama Ben Laden et ses hommes, d’avoir échangé des informations via l’utilisation d’images pornographiques sur Internet cachant des messages.
Le succès de romans tels que le Da Vinci Code de Dan Brown ou la série américaine Prison Break n’est pas non plus étranger à cette attention nouvelle.
Par ailleurs, de la stéganographie est née une variante, à savoir le tatouage numérique, qui consiste à inscrire des données sur des supports numériques pour en certifier l’auteur, technique qui intéresse au plus haut point les majors du disque et du cinéma qui cherchent à l’utiliser pour limiter le piratage numérique [2].
Alice, Bob et Wendy
Pour expliquer le principe et l’utilité de la stéganographie appelée aussi communication invisible, Simmons [3] a été le premier à proposer le problème des prisonniers avec pour acteurs de ce problème : Alice, Bob et Wendy.
Alice et Bob sont deux personnes arrêtées et placées en prison dans deux cellules de prison différentes. Ces deux prisonniers cherchent à s’évader et pour cela elles doivent planifier leur action en s’échangeant des informations (heure et date de la tentative de l’évasion par exemple). Malheureusement leurs seules communications possibles doivent se faire par l’intermédiaire de Wendy le gardien de prison. Ainsi ils ne peuvent s’échanger des lettres, où sont par exemple écrites clairement des informations qui doivent rester secrètes. Wendy a la possibilité de lire ses lettres et donc de ne pas les transmettre s’il pense détecter une information compromettante. De la même manière si Alice et Bob tentent de crypter les informations pour parer à ce problème, Wendy considérera comme suspect le message de par son caractère illisible et ne le transmettra pas. Alice et Bob doivent alors trouver un subterfuge pour que Wendy transmette le message sans y détecter la présence d’une information sur leur future évasion. Pour cela ils doivent créer ce que Simmons appelle un canal subliminal, autrement dit un canal secret de communication dont seuls Alice et Bob connaissent l’existence, malgré le fait que Wendy fasse partie intégrante de la transmission de ce message. La figure 1.02 représente la configuration de la transmission de message stéganographique entre Alice, Bob et Wendy [2].
Pour arriver à créer ce canal subliminal, Alice peut par exemple colorier une image d’une certaine façon, pour que les couleurs correspondent à un code compréhensible par Bob, et qui décrit la date et l’heure de l’évasion. Ainsi si Alice envoie cette image par l’intermédiaire de Wendy, Wendy pensera seulement transmettre une image à Bob, et en aucun cas une information. A la réception de cette image, Bob connaissant la méthode de lecture du message secret, sera alors capable de connaître les informations envoyées par Alice. Ils pourront ensuite continuer à se transmettre des images coloriées pour créer ce canal subliminal.
Bien entendu cette approche nécessite que le moyen de communication, à savoir la technique de stéganographie employée pour créer le canal subliminal, ait été défini avant l’emprisonnement d’Alice et Bob [2].
Le modèle des prisonniers peut facilement être transposé à toute communication entre deux dispositifs qui cherchent à communiquer de manière invisible, et où Wendy serait un attaquant qui écoute le réseau (eavesdropper).
Par ailleurs l’attaquant en stéganographie peut être de trois types :
• Passif : On parlera d’un attaquant passif quand l’attaquant ne cherche qu’à détecter une information circulant entre Alice et Bob. Il ne cherche pas forcément à découvrir le message secret mais seulement à découvrir son existence.
• Actif : un attaquant actif est un attaquant qui modifie l’objet de couverture, et peut altérer dans certains cas le message secret.
• Malicieux : un attaquant malicieux va modifier le message secret contenu dans l’objet de couverture, il peut par exemple essayer de se faire passer pour un des deux prisonniers.
Architectures stéganographiques
Dans une architecture stéganographique, il y a principalement deux éléments. D’un côté un processus de dissimulation, de l’autre un processus de recouvrement. Un processus de dissimulation simplifié peut être donné par le schéma de la figure 1.03 [1].
Il existe trois types d’architecture de stéganographie, correspondant de près à ce qui existe en cryptographie.
Stéganographie pure
La stéganographie pure correspond à une utilisation de la stéganographie, où le secret du message ne correspond qu’à la méthode de dissimulation de ce message et à la méthode de récupération de ce message secret.
Le quadruplet G = { C, M, D, E } , où C est l’ensemble des possibilités de couverture, M l’ensemble des messages secrets avec | C | ≥ | M | , E : C × M → C la fonction d’insertion et D : C → M la fonction d’extraction, avec la propriété que D(E(c, m)) = m pour tout m ∈ M et c ∈ C est appelé : système de stéganographie pure.
Pour cette méthode, deux correspondants n’ont besoin d’échanger que la méthode de dissimulation et de récupération du message. Cela sous-entend que si un attaquant connaît ces méthodes, il n’y a plus de secret et il peut lire directement le message secret. Selon la méthode de stéganographie utilisée, l’attaquant peut trouver facilement la méthode pour découvrir le message. C’est donc le niveau de sécurité le plus faible pour l’utilisation de la stéganographie [2].
Stéganographie à clé secrète
La stéganographie à clé secrète correspond à la combinaison de l’utilisation d’une méthode de stéganographie pour dissimuler le message, et au cryptage préalable de ce message avant son incrustation dans l’objet de couverture.
Le quintuplé G = { C, M, K, DK , EK } , où C est l’ensemble des possibilités de couverture, M l’ensemble des messages secrets avec | C | ≥ | M | , K l’ensemble des clés secrètes, EK : C × M × K → M la fonction d’insertion et DK : C × K → M la fonction d’extraction, avec la propriété que DK (EK(c, m, k), k) = m pour tout m ∈ M, c ∈ C et k ∈ K est appelé : système de stéganographie à clé secrète.
Pour mettre en place cette technique, il est nécessaire que deux correspondants connaissent d’une part la méthode de dissimulation et de récupération du message secret, et d’autre part qu’ils partagent une clé commune de chiffrement. Ainsi un attaquant qui trouverait la méthode stéganographique pour dissimuler l’information, ne pourrait pas pour autant lire le message secret s’il ne connait pas la clé de chiffrement [2].
Technologie du watermarking
Vers les années 1990, une nouvelle technologie est apparue à savoir le marquage numérique des signaux, appelée aussi tatouage numérique ou watermarking. La plus grande partie des applications de cette technologie est reliée à des applications de sécurité des données de médias audio et visuels, tel que la protection de droit d’auteur, le contrôle de l’intégrité des données, l’authentification, etc. Le processus de marquage comporte trois étapes [5] :
1. La génération de la marque : En général, la marque est un message transformé en une matrice W dont les valeurs sont binaires {±1} ou ternaires {1, 0, -1}.
2. L’insertion de la marque : Étant donné une image hôte I, l’insertion se fait soit dans le domaine spatial de l’image (dans les pixels), soit dans le domaine transformé de l’image (DCT ou Discrete Cosine Transform, DWT ou Discrete Wavelet Transform, …). De façon générale, l’insertion est une fonction qui prend en entrée l’image hôte I (ou image originale) et la marque générée W, et délivre en sortie l’image marquée I’. Ce processus est illustré dans les figures 1.07 et 1.08.
3. La détection/extraction de la marque : Étant données une image test I’ et une marque W, cette étape consiste à analyser l’image test I’ et vérifier si la marque W est présente dans cette image. La vérification de la présence de la marque se fait par détection ou extraction :
a. Détection : Mesure du degré de présence de la marque par une fonction de corrélation entre I’ et W. La comparaison à un seuil de corrélation aboutit à une décision binaire (marque détectée/marque non détectée) (cf. figure 1.09).
b. Extraction : Extraire les bits de la marque W’ contenue dans l’image test I’ et la comparer à la marque originale W en utilisant une métrique donnée tel que le TDR (True Detection Rate), signifiant le nombre de bits correctement extraits sur le nombre de bits total de la marque. Une autre métrique utilisée est le BER (Bit Error Rate) indiquant le ratio du nombre de bits extraits et erronés sur le nombre de bits total de la marque. Ce processus est illustré par la figure 1.10.
Techniques stéganographiques modernes
Depuis les récents progrès en informatique, la stéganographie informatique est devenue à la mode, laissant de côté les autres techniques toujours aussi efficaces mais un peu tombées dans l’oubli, dans un monde qui vit à l’ère du numérique. La Stéganographie est une science pour cacher les données secrètes dans des fichiers informatiques comme couvertures, les fichiers les plus utilisés sont des fichiers textes, des images, des fichiers audio, etc….
Il est aussi possible de cacher des informations dans bien d’autres types de fichiers couramment échangés sur le réseau, telle que la vidéo ou bien dans des zones d’un disque dur inutilisées par le système de fichiers, et même dans des protocoles informatiques comme IP (Internet Protocol) et TCP (Transmission Control Protocol) [1].
Il existe plusieurs techniques pour mettre en place des schémas stéganographiques, cependant nous n’allons détailler que la méthode LSB (Least Significant Bit), et l’algorithme F5 pour les images, les techniques utilisées par notre application.
• La stéganographie sur images :
o Usage des bits de poids faible d’une image (LSB)
o Manipulation de la palette de couleurs d’une image
o Message caché dans les choix de compression d’une image
• Dans un texte :
o Modulation fine d’un texte
o Marquage de caractères
o Codage sous forme d’une apparence de spam
• dans un son,
• Fichiers HTML (Hypertext Markup Language),
• Canaux cachés http (Hypertext Transfer Protocol), canaux cachés IP, canaux cachés TCP, canaux cachés DNS (Domain Name System)…
• Rajout de données (EOF, en-têtes, …) : les données cachées consistent en un fichier image rajouté juste sous le marqueur EOF (End Of File) d’un fichier.
LSB (Least Significant Bit)
La technique de base, dite LSB pour Least Significant Bit, est très simple. Dans le cas d’une image, elle consiste à modifier le bit de poids faible des pixels codant l’image. Une image numérique est une suite de points, que l’on appelle pixels, et dont on code la couleur, le plus souvent, à l’aide d’un triplet d’octets (ex : RGB sur 24 bits, R = Red, G = Green, B = blue, les 3 couleurs primaires). Chaque octet du triplet ∈ [0, 255] peut être modifié de ± 1 sans que la teinte du pixel ne soit visuellement altérée. C’est ce que l’on fait en modifiant le bit de poids faible de l’octet [8].
Chiffrement à clé publique
Les problèmes de distribution des clés sont résolus par la cryptographie à clé publique ou cryptographie asymétrique. Ce concept a été introduit par Whitfïeld Diffie et Martin Hellman en 1975. La cryptographie à clé publique est un procédé asymétrique utilisant une paire de clés asymétrique associé : une clé publique qui crypte des données et une clé privée ou secrète correspondante pour le décryptage. La clé publique peut être ainsi publiée tout en conservant sa clé privée secrète. Il est basé sur une méthode mathématique garantissant un encryptage facile et rapide, et un décryptage difficile. S’il fallait aussi une analogie, considérons que l’on crypte le message avec un cadenas (clé publique) que le détenteur de la clé privée peut ouvrir pour lire le cryptogramme. Il est impossible de retrouver la clé privée à partir de la clé publique [13].
L’advanced Encryption Standard ou « AES »
L’AES aussi connu sous le nom de Rijndael est le standard de chiffrement symétrique destiné à remplacer le « DES » ou Data Encryption Standard (FIPS P 46-3) choisi comme standard dans les années 1970. Il remporta en octobre 2000 le concours AES, lancé en 1997 par le NIST (National Institute of Standards and Technology) et devint le nouveau standard de chiffrement pour les organisations du gouvernement des États-Unis. Il est aujourd’hui défini dans le « FIPS P 197 » (« Federal Information Processing Standards Publication ») [14].
Pour AES les blocs de données en entrée et en sortie sont des blocs de 128 bits, c’est à dire de 16 octets. Les clés secrètes ont, suivant la version du système : 128 bits (16 octets), 192 bits (24 octets) ou 256 bits (32 octets).
iOS
iOS, anciennement iPhone OS, est le système d’exploitation mobile développé par Apple pour l’iPhone, l’iPod touch, l’iPad et l’Apple TV. Il est dérivé de OS X dont il partage les fondations (le noyau hybride XNU basé sur le micro-noyau Mach, les services Unix et Cocoa, etc.). iOS comporte quatre couches d’abstraction, similaires à celles de Mac OS X : une couche « Core OS », une couche « Core Services », une couche « Media » et une couche « Cocoa ». Le système d’exploitation occupe au maximum 3 Go de la capacité mémoire totale de l’appareil, selon l’appareil [16].
Ce système d’exploitation n’avait aucun nom officiel avant la publication du kit de développement iPhone (SDK ou Software Development Kit) le 6 mars 2008. Jusqu’à cette date, Apple se contentait de mentionner que « l’iPhone tourne sous OS X », une référence ambiguë au système d’exploitation source d’iOS, OS X. Ce n’est qu’à cette occasion que Scott Forstall présenta l’architecture interne du système d’exploitation, et dévoila alors le nom d’iPhone OS. Ce nom a été changé le 7 juin 2010 pour iOS. La marque commerciale « IOS » était utilisée par Cisco depuis plus de dix ans pour son propre système d’exploitation, IOS, utilisé sur ses routeurs. Pour éviter toute poursuite judiciaire, Apple a acquis auprès de Cisco une licence d’exploitation de la marque « IOS ».
Le kit de développement en question, disponible pour OS X, propose les outils nécessaires à la création d’une application pouvant tourner sous iOS. Si son téléchargement et son utilisation sont gratuits, la publication de telles applications requiert d’adhérer au programme des développeurs Apple, pour la somme de 99 $ par an. Il n’en demeure pas moins que cette offre peut s’avérer intéressante pour bon nombre de développeurs, étant donnée la taille du marché créé par iOS.
En effet, Apple a annoncé, lors d’un événement musical le 9 septembre 2009, avoir vendu 50 millions d’iPhones et d’iPod Touch. À titre informatif, les 40 millions d’appareils sous iOS n’avaient été dépassés que trois mois plus tôt, le 8 juin 2009. De surcroît, le portail App Store, dédié à l’exposition de toutes les applications développées pour ce système d’exploitation, est souvent présenté comme un modèle économique couronné de succès : avec un catalogue de 800 000 applications, qui ont fait l’objet de 50 milliards de téléchargements, l’App Store s’est imposé en 18 mois comme une référence parmi les kiosques d’applications mobiles.
Windows Phone
Windows Phone est un système d’exploitation mobile développé par Microsoft pour succéder à Windows Mobile, sa précédente plateforme logicielle qui a été renommée pour l’occasion en Windows Phone Classic. Contrairement au système qu’il remplace, Windows Phone est d’abord principalement destiné au grand public plutôt qu’au marché des entreprises. Cependant depuis Windows Phone 8, Microsoft propose des fonctions avancées pour les entreprises en offrant, par exemple, un espace d’applications réservé aux entreprises. Il a été lancé le 21 octobre 2010 en Europe, à Singapour, en Australie et en Nouvelle-Zélande, le 8 novembre 2010 aux États-Unis et au Canada, puis le 24 novembre 2010 au Mexique.
Selon Microsoft, le développement du système d’exploitation est parti d’une feuille blanche, et s’est terminé entre fin août et début septembre 2010 avec notamment la disponibilité du kit de développement final et la diffusion d’un kit de présentation aux constructeurs. Contrairement à Windows Mobile, l’interface homme-machine de Windows Phone repose nativement sur l’utilisation d’un écran tactile multipoints. Avec Windows Phone, Microsoft propose une interface utilisateur dénommée « Modern UI » avec un système de tuiles dynamiques, très différente de ce que l’on peut avoir l’habitude avec iOS ou Android. Windows Phone devient en mai 2013, le 3ème système d’exploitation mobile [17].
Le système d’exploitation était initialement disponible en cinq langues : anglais, allemand, espagnol, français et italien, cependant la mise à jour nommée Mango, sortie le 27 septembre 2011, étend le nombre de langues supportées à 25. Windows Phone Store, la boutique en ligne de Microsoft dédiée au téléchargement des applications pour Windows Phone, propose plus de 200 000 applications en décembre 2013. Windows Phone fait l’objet de mises à jour annuelles, la prochaine version aura pour nom Windows 10. En effet, les noms « Windows Phone » et « Windows RT » vont disparaître et seront remplacés par « Windows » car Microsoft travaille pour unifier ses Systèmes d’exploitation.
De même façon qu’Apple avec iOS, Windows Phone sera mis à jour de façon automatique sans passer par les constructeurs afin d’offrir une expérience utilisateur identique entre tous les modèles de téléphones et éviter la fragmentation des versions comme sur la plateforme Android. Les mises
à jour passeront uniquement par le Zune Software pour les mises à jour importantes ou bien sur le téléphone même over-the-air pour les mises à jour mineures. Microsoft a annoncé que dans un futur proche, toutes les mises à jour qu’elles soient importantes ou mineures se dérouleraient « over-the-air ». Les applications téléchargées peuvent être mises à jour via le Store.
|
Table des matières
CHAPITRE 1 L’ART DE LA STEGANOGRAPHIE
1.1 Introduction
1.2 Définitions de la stéganographie
1.3 Historique
1.3.1 Une technique antique
1.3.2 Du moyen-âge à l’avant-guerre
1.3.3 Des 2 guerres mondiales à aujourd’hui
1.4 Alice, Bob et Wendy
1.5 Architectures stéganographiques
1.5.1 Stéganographie pure
1.5.2 Stéganographie à clé secrète
1.5.3 Stéganographie à clé publique
1.6 Caractéristiques de Schéma Stéganographique
1.7 La Stéganalyse
1.7.1 Définition
1.7.2 Sécurité parfaite
1.7.3 Détection des stégo-objets
1.7.4 Techniques de stéganalyse
1.8 Tatouage numérique ou Watermarking
1.8.1 Technologie du watermarking
1.8.2 Qualités d’un tatouage
1.8.3 Visibilité
1.8.4 Robustesse et fragilité
1.8.5 Applications
1.9 Comparaison de la stéganographie, du tatouage et du fingerprinting
1.10 Conclusion
CHAPITRE 2 ALGORITHMES DE STEGANOGRAPHIE ET DE CRYPTAGE UTILISES
2.1 Introduction
2.2 Techniques stéganographiques modernes
2.2.1 LSB (Least Significant Bit)
2.2.2 L’algorithme F5
2.3 Cryptographie
2.3.1 Chiffrement à clé privée
2.3.2 Chiffrement à clé publique
2.3.3 L’advanced Encryption Standard ou « AES »
2.4 Conclusion
CHAPITRE 3 SYSTEMES D’EXPLOITATION POUR MOBILE
3.1 Introduction
3.2 Les smartphones
3.2.1 iOS
3.2.2 Windows Phone
3.2.3 BlackBerry OS
3.2.4 Android
3.3 Parts de marché
3.4 Conclusion
CHAPITRE 4 CONCEPTION ET DEVELOPPEMENT DE L’APPLICATION
4.1 Introduction
4.2 Les difficultés du développement pour des systèmes embarqués
4.3 Outils de développement d’Android
4.3.1 Le Java Development Kit
4.3.2 Eclipse, l’ADT et le SDK d’Android
4.3.3 Configuration de l’émulateur de téléphone AVD et du terminal réel
4.4 Contenu d’un programme Android
4.5 Cycle de vie d’une activité
4.6 Analyse et Conception
4.6.1 Identification des besoins fonctionnels
4.6.2 Identification des besoins non fonctionnels
4.6.3 Diagramme de cas d’utilisation
4.6.4 Diagramme d’activité
4.6.5 Techniques utilisées
4.7 Implémentation
4.7.1 Spécifications du projet
4.7.2 Paramètres d’entrées et de sortie de l’application
4.7.3 Diagramme de classe de l’application
4.7.4 Interfaces graphiques de l’application
4.8 Conclusion
CHAPITRE 5 EVALUATIONS ET TESTS DE L’APPLICATION
5.1 Introduction
5.2 Evaluation et test
5.2.1 Le PSNR
5.2.2 Tests, résultats et interprétations
5.3 Bilan sur les deux algorithmes de l’application
5.4 Conclusion
CONCLUSION
ANNEXE 1 TECHNIQUE DE MATRIX EMBEDDING
ANNEXE 2 MARQUEURS JPEG COURANTS
ANNEXE 3 PROCEDURE SUBBYTES VIA S-BOX DU CHIFFREMENT AES
ANNEXE 4 COMPLEMENTS SUR LE DEVELOPPEMENT DE L’APPLICATION
BIBLIOGRAPHIE
Télécharger le rapport complet