Le tatouage de données numériques, comment ça marche ?

Utile aux organisations pour déterminer la source d'une fuite de données, qu’elle soit volontaire ou du fait d'une négligence, le tatouage de données [1] permet de tracer la provenance d'informations ou de fichiers. Mais plus exactement, qu’est-ce que le tatouage de données ? Quels sont ses principes de fonctionnement, existe-t-il des techniques apparentées ou similaires ?

Le tatouage de données, c’est quoi ?

Tatouer c'est altérer des données de manière invisible sans modifier leur contenu. Le tatouage de données est une technique permettant de retrouver à postériori la source ou la provenance de données. On parle aussi de "digital water-marking" [2].

3 grandes approches

Pour tatouer des données, on peut :

  1. introduire de nouvelles informations ("des traceurs" sont injectés dans les données)
  2. réorganiser des informations selon un ordre défini
  3. altérer ou modifier des informations existantes

Chaque approche répond à un besoin en fonction du type de données et de l’utilisation que l’on en fait. Par exemple, l’introduction de nouvelles informations comme traceurs ne sera pas envisageable s’il s’agit d’une base clients. En revanche, le tatouage par introduction de « traceurs » pourra être envisagé dans le cas de données sujettes à une analyse volumétrique ou statistique.

Les 3 propriétés d'un "bon" tatouage

Une technique de tatouage de données efficace doit :

  1. Etre robuste (supprimer le tatouage par erreur ou volontairement doit être particulièrement complexe)
  2. Etre invisible (les données doivent rester utilisables et compréhensibles)
  3. Etre fiable (le marquage doit être unique et non-ambigu)

Ne pas confondre tatouage et protection contre la copie

Le tatouage de données ne permet pas de contrôler ou de limiter la capacité de reproduire des informations. Il ne peut donc être assimilé à une technique concurrente de protection contre la copie.

De même, le tatouage de données ne donne pas l'accès exclusif aux seules personnes autorisées (ou via des moyens ou techniques autorisés). Ce n'est donc pas un système de gestion de droits numériques (DRM - Digital Right Management).

Une technique qui n’est pas nouvelle

Le tatouage des données n'est pas une technique fondamentalement nouvelle : les techniques de "digital water-marking" sont utilisées depuis longtemps afin de marquer numériquement les productions cinématographiques et identifier la source d'une copie. Le tatouage permet, le plus souvent, de suivre à la trace des contenus comme des photos ou des images.Il est assez peu utilisé pour d’autres formes de contenus comme des bases de données.

Ne communiquez que des données tatouées

Un tatouage ne sera utile que si les données sont systématiquement tatouées avant d'être transmises. Par exemple, une entreprise travaillant avec un  prestataire externe pour des envois publicitaires devra prendre soin de bien procéder au tatouage de la base de données avant de  communiquer ces informations.

La stéganographie, une technique apparentée

Les principes de fonctionnement de la sténographie sont apparentés à celles du tatouage des données.  Dans le cas de la stéganographie [3] il s'agit de cacher des informations dans la base de façon imperceptible, sous la forme d’un "canal caché », au lieu de marquer les données afin d'identifier la source d'une fuite.

Si vous souhaitez essayer de cacher des informations au sein de fichiers mp3 il y a MP3 Stego [4], ou Outguess [5], pour des images mais aussi pour des Vidéos, Animations Flash ou images essayez  OpenPuff [6].

Dans une certaine mesure, il est donc possible d’utiliser la stéganographie pour faire du tatouage de données.

Le tatouage des bases de données encore en devenir

Si le tatouage de contenus multimédia (vidéos, photos) est assez courant, le tatouage de données structurées présentes dans une base de données SQL est beaucoup moins courant.
Si le sujet vous intéresse, je vous invite à prendre connaissance de la présentation de David Gross-Amblard [7] du laboratoire Le2i du CNRS.

Tatouer ses données avant de les envoyer dans le Cloud ?

Alors que les techniques de chiffrement ou de tokenization peuvent être utilisées pour assurer la sécurité de données avant de les envoyer dans le Cloud, les techniques de tatouage ne font encore guère partie des fonctions proposées par les CASBs ("Cloud Access Security Brokers") [8]. Néanmoins, le tatouage préalable des données avant leur envoi dans le Cloud pourrait être une technique prometteuse pour identifier une fuite de données.

Vous utilisez des outils de tatouage de données qui fonctionnent bien ou qui vous semblent prometteurs ? Des questions, remarques, corrections ? Partagez-les avec nous !

Jean-François Audenard - (aka Jeff - @jeffman78 - @ProfAudenard)
 

> pour aller plus loin

[1] - le professeur Audenard au #FIC2015 - Jour 1 : tatouage de données, crypto-cloud, DDoS et CLUSIR Aquitaine
[2] - Wikipedia - Digital Watermarking
[3] – Stéganographie
[4] - MP3 Stego
[5] – Outguess
[6] – OpenPuff
[7] - Tatouage des bases de données - ́David Gross-Amblard - Laboratoire Le2i-CNRS
[8] - CASBs - Cloud Access Security Brokers – Gartner

Jean-François Audenard

Au sein de la direction sécurité du Groupe Orange, je suis en charge de la veille sécurité et de la sensibilisation à la sécurité. Franchise, optimisme et bonne-humeur sont mes moteurs quotidiens