Nous allons ici parler d'un autre sujet que je juge assez proche de la cryptographie sur certains plans. Il s'agit de la dissimulation de données dans des documents. Le but premier de ces techniques est de permettre la signature de documents (pour pouvoir y mettre des copyright) mais on peut l'utiliser pour d'autres choses (plus ou moins légales). Le plan que nous allons adopter va nous permettre de passer en revue les différents supports numériques utilisés pour dissimuler des données: le texte, l'image, le son, la 3D . Pour ceux qui sont interessés je propose un bref historique de la stéganographie. Vous trouverez aussi une bibliographie des publications traitant des attaques et du marquage du texte, de l'audio, de la 3D et du code : Biblio (Zip), Biblio (Doc). Vous pouvez aussi télécharger un document proposant une introduction au watermarking ( .doc ou .rtf ) J'ai réservé une page pour tous les liens traitant du sujet White Links. Rem: Tout au long des différents articles, je vais parler très librement de Stéganographie (en anglais: steganography ou data hiding) et de watermarking (ou tatouage). Je fais ici, une erreur qui peut entrainer des confusions chez le lecteur. Je m'en excuse et je tacherai de lever le doute dès que possible. Ces deux techniques sont très proches l'une de l'autre, mais n'ont pas les mêmes objectifs, ni les mêmes contraintes. En fait, on peut considérer que le watermarking est une sous-partie de la stéganographie. Dans le cas du Data Hiding, on cherche à dissimuler une quantité très importante de données (par exemple une image dans une autre image). Dans le cas du watermarking, on cherche juste à marquer une image (on se limite souvent à la dissimulation d'un bit: marqée/pas marquée). Le but du watermaking est de dissimuler une information qui à pour but de démontrer l'intégrité du document ou encore de protéger les droits d'auteurs. Une autre différence très importante entre la stéganographie et le watermarking se situe au niveau des attaques qui peuvent avoir lieu contre ces techniques. En stéganographie, le pirate va chercher à lire les données dissimulées dans le document, tandis que dans le cas d'un document "watermarké" va chercher à "laver" le document de toute signature possible (ou alors il peut essayer d'usurper l'identité de l'auteur). |
Le Texte |
La dissimulation de données dans du texte est une chose bien particulière, et comme
nous allons le voir elle n'a pas grand chose à voir avec l'image ou le son. Et ceci pour
plusieurs raisons: on ne travaille pas avec le texte dans "l'a peu près". Je
m'explique, dans une image on peut considerer qu'"endommager" celle ci avec un
filtre passe-haut suffisamment "léger" ne change quasiment rien à la
perception que nous allons avoir de celle-ci. Par contre avec un texte, soit le texte est
comme l'original soit il ne l'est pas. Celui ci ne permet quasiment aucune modification.
Une des exigences de la dissimulation de données est d'endommager le moins possible le
texte original. Pour cela nous allons utiliser la méthode dite des "espaces". Méthodes des "espaces" (en fin de phrases)Alors la, c'est une méthode qui va peut être vous sembler bourrine mais bon dans le
cas du texte il n'y pas beaucoup de choix comme vous allez le voir. Il y a encore ici 2
méthodes différentes quoi que reposant sur le même principe. La première méthode
consiste à mettre des espaces en fin de ligne. On se définit un code à suivre et l'on
commence: Méthodes des "espaces" (entre les mots)Cette méthode est basée sur le même principe, mais cette fois-ci nous allons coder
notre texte dans le nombre d'espaces entre chaque mots. C'est encore plus visible que la
méthode précedente, mais le rapport texte codé sur texte hôte est beaucoup plus
important. Méthode des synonymesAlors là votre texte ne va pas être désorganisé mais il risque d'en prendre un coup
au niveau sémantique. Encore une méthode simplissime à comprendre..... Il suffit de
créer une table des synonymes du genre:
Méthode syntaxiqueJuste un rapide coup d'oeil sur une méthode relativement peu utilisable. En effet
cette méthode peut altérer le sens d'une phrase, demande enormément de texte pour en
coder peu. On part du principe que certaines règles de grammaire sont un peu litigieuses
et donc modifiables, sans pour autant choquer le commun des mortels (je m'excuse par
avance auprès des experts en langue française du massacre que je vais commetre). Voici
l'esprit de la méthode. conclusionLa stéganographie sur un support texte est quelque chose qui ne supporte pas la faintaisie. En effet chaque retouche est dirctement visible par le lecteur. D'autre part un texte signé par les méthodes décrites est relativement facilement identifiable. |
L'Image |
Il s'agit ici du domaine le plus vaste et certainement du plus interessant. En effet,
les applications sont très nombreuses, et les méthodes à utiliser sont assez complexes
(comparées à celles utilisées pour le texte). Le marquage d'images a de nombreux buts:
copyright des images (très important à l'époque d'Internet où des milliers d'images
circulent sur le web), mais aussi marquage de papiers ou de billets (pour eviter le
photocopiage), verification de l'integritée de documents ect... A chaque
utilisation correspond une méthode. En fait les techniques doivent répondre à certaines
règles très importantes et souvent difficiles à concillier: - endommager le moins possible le support sur lequel le marquage va avoir lieu. (l'oeil humain ne doit pas être choqué). - le marquage doit pouvoir supporter le plus grand nombre de transformations possible sans être dégradé (compression JPEG, filtres, passage analogique- numerique, changement de palettes ect..voir les différentes attaques possibles sur le marquage). - la complexité de l'algorithme doit être minimum afin de pouvoir effectuer le marquage et/ou la détection en temps réel. Le marquage peut avoir lieu au niveau de l'image dans le domaine des fréquences: -Technique de Watermarking tenant compte de la correlation HVS-Canaux RGB ou même plus traditionnellement dans le domaine spatial: -Bits de poids faibles -Signature par modulation d'amplitude -Watermarking par DCT à taille de blocs variable Nous parlerons même du watermarking de la seconde génération. (un exemple proche est celui par modification géométrique). Certaines méthodes utilisent même la palette pour marquer l'image (dans le cas ou l'image possède un palette, comme pour le marquage EzStego). Les premières méthodes de signature d'images ont étés proposées en 1993 par Caronni (bien que des articles plus anciens faisaient déjà allusion à ce type de pratiques). Les méthodes les plus récentes portent les noms de Anderson, Aucsmith, et Swansonet Al. Les méthodes utilisées dans le stéganographie dépendent surtout du type de marquage que l'on désire: -Marquage privé : Dans ce cas précis, on a besoin de l'image originale. Et là encore on différencie deux types:
|
La 3D |