Première partie : généralités GR Vertigo Laboratoire Cédric Conservatoire national des arts & métiers, Paris 30 novembre 2005 / master MOCS
Introduction Exemple de problème : protection de la propriété intellectuelle d un document informatique copie illicite et diffusion massive très simples Tatouage (watermarking) : dissimuler de l information dans une document Exemple : dissimuler l identité de l auteur Application classique : les images
Tatouage Couple bavarois (c)corel
Modèle d échange propriétaire id. propriétaire 00000 11111 00000 11111 00000 11111 000000 111111 000000 111111 000000 111111 000000 111111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 document original document tatoué M marqueur id. propriétaire utilisateur utilisation illicite M M M detecteur oui/non identification document suspect paire d algorithmes : marqueur et détecteur
Images tatouées image originale image tatouée marque imperceptible
Attaque des Bavarois changement JPEG 10%, smoothing 0% rotation d échelle marque toujours présente
Mais comment tatouer ceci? Alpiniste(nom,sommet,temps) Hillary Everest 5j Tenzin Everest 5j Paccard Mont Blanc 1j Lachenal Anapurna 7j Messner Everest 3j Janin Gasherbrum II 3j Messner Nanga Parbat 2j Messner Gasherbrum II 4j Sommet(nom,altitude) Everest 8848m Mont Blanc 4807m Anapurna 8078m Gasherbrum II 8035m Nanga Parbat 8125m base de données relationnelles numériques
Bibliographie : livres I. J. Cox, M. L. Miller, and J. A. Bloom. Digital Watermarking. Morgan Kaufmann Publishers, Inc., San Francisco, 20. S. Katzenbeisser and F. A. P. Petitcolas, editors. Information hiding : techniques for steganography and digital watermarking. Computer security series. Artech house, 2000.
Bibliographie : en français Julien P. Stern. Contribution à une théorie de la protection de l information. Thèse de doctorat, Paris XI, 20. Caroline Fontaine. Contribution à la recherche de fonctions booléennes hautement non linéaires, et au marquage d images en vue de la protection des droits d auteurs. Thèse de doctorat, Paris VI, 1998.
Bibliographie : journaux, conférences S. Khanna and F. Zane. Watermarking maps : hiding information in structured data. In SODA, 2000. R. Agrawal, P.J. Haas and J. Kiernan. Watermarking relational data : framework, algorithms and analysis. In VLDB Journal, 12 :2 (2003), 157-169. R. Sion, M. Atallah and S. Prabhakar. Rights Protection for Relational Data. In SIGMOD, 2003. D. Gross-Amblard. Query-preserving watermarking of relational databases and XML documents. In PODS, 2003.
Bibliographie : ateliers Y. Li, V. Swarup and S. Jajodia. Constructing a virtual primary key for fingerprinting relational data. In Proceedings of the 2003 ACM Workshop on Digital rights management, 2003. Y. Li, V. Swarup and S. Jajodia. A robust watermarking scheme for relational data. In Proc. 13th Workshop on Information Technology and Systems (WITS 2003), 2003.
Plan 1 Introduction 2
Plan Introduction 1 Introduction 2
Plan Introduction 1 Introduction 2
Introduction Documents électroniques : copie illicite et diffusion massive très simple Problème : protection de la propriété intellectuelle ou industrielle Tatouage (watermarking) : altération volontaire et imperceptible d un document afin d y insérer une information le concernant Exemple dissimuler l identité de l auteur dans le document copie suspecte : preuve de propriété
Cadre général Introduction Deux algorithmes : Le marqueur altère le document par insertion d une marque Le détecteur vérifie la présence de la marque Plusieurs modèles d échange Un à plusieurs propriétaires Plusieurs clients (Tier de confiance) Modèle d adversaire Tentative de suppression de la marque Nouvelle alteration du document
Premier modèle d échange document original document tatoué 00000 11111 00000 11111 00000 11111 000000 111111 000000 111111 000000 111111 000000 111111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 A marqueur serveur A copie illicite distorsion A detecteur serveur suspect
Compromis Introduction Le document doit être altéré : perte de qualité tatouage sémantique : modifie le contenu du document tatouage syntaxique : modifie le format de stockage Cette altération doit préserver l utilisabilité du document (valeur) Idem pour une attaque éventuelle Altération du tatouage et de l attaque limitées marque très présente : baisse de qualité, grande robustesse attaque par altération forte : baisse de qualité, grande chance de succès
Exemple naïf Introduction tatouage d une image 300x200 niveaux de gris c[x, y] encodage d un message m de 100 bits Clé K, un numéro de ligne Marqueur(c 0,m,K) : c pour x allant de 1 a 100 c[x, K] := c 0 [x, K] + ( 1) m[x] Détecteur(c,c 0,K) : m pour x allant de 1 a 100 si (c[x, K] c 0 [x, K] = 1) alors m[x, K] := 0 sinon m[x, K] := 1
Applications Introduction Surveillance d un flux de diffusion Identification du propriétaire Preuve de propriété Suivi de transactions Authentification Contrôle de la copie Insertion de méta-données
Notation Introduction P, le propriétaire D, un document (cover work) D 0, le document original de P
Surveillance d un flux de diffusion Contexte : P paye pour faire diffuser son document D 0 (ex. publicité) Objectif : vérifier automatiquement que la diffusion a lieu Méthode : insérer une marque dans l original détecter automatiquement sa présence lors de la diffusion Exemple : compter les diffusions
Identification du propriétaire Contexte : P a un droit sur un document D 0 Objectif : l utilisateur veut trouver P à partir du document (éventuellement altéré) Méthode : insérer une marque dans le document, contenant l identité du propriétaire l utilisateur extrait cette marque pour contacter le propriétaire Exemple : Digimarc dans Adobe Photoshop
Preuve de propriété Contexte : protéger les droits de P : une entreprise/un auteur la licence d un logiciel (GPL) Objectif : pouvoir prouver devant un tribunal que D appartient à P Méthode : insérer une marque dans le document le propriétaire est le seul à pouvoir faire accepter le document par le détecteur
Suivi de transactions Contexte : P vend D 0 à plusieurs acheteurs Objectif : identifier un revendeur malhonnête Méthode : insérer différentes marques, chaque marque identifiant un acheteur documents D 0 D 1, D 2,..., D k pour k acheteurs estampillage (traitor tracing, fingerprinting)
Authentification du contenu [P.W. Wong, ICIP 1998] Contexte : transmission d un document. Objectif : vérifier si le contenu à été modifié. Méthode : la marque contient une signature digitale. Marqueur(C 0,K) Décomposer l image C 0 en poids forts C/poids faibles c Calculer une signature s(k, C) de C Tatouer s(k, C) dans c c w Distribuer C w = C + c w
Authentification du contenu Détecteur(C w,k) Décomposer l image C w en poids forts C/poids faibles c Extraire le tatouage de c : s Calculer la signature s(k, C) de C Comparer s et s Améliorations Détecter les pixels altérés Signature à clé publique
Trusted Camera Introduction
Contrôle de la copie Contexte : P vend des documents utilisables par un matériel donné Objectif : limiter (au niveau matériel) la diffusion de données copiées Méthode : la marque est dans le document diffusé. Chaque matériel possède le détecteur si la marque est présente, le matériel fonctionne copie illicite : moindre qualité, la marque disparaît le matériel refuse de fonctionner utilisation d une marque fragile
Insertion de méta-données Contexte : canal de transmission existant Objectif : faire transiter de l information non prévue dans ce canal Méthode : la marque véhicule cette information de façon imperceptible
Relations avec autres domaines Tatouage, similarité avec/utilise des techniques de : Cryptographie : contenu caché Une fois décodé (légitimement), le document n est plus protégé Non robuste aux altérations Stéganographie : communication cachée contenu sans rapport avec le document support Relaté par Herodote (486-425 av. J.C.) : (440 av J.C.) Histiætus rasa la tête de son plus fidèle esclave, y tatoua un message secret destiné à fomenter une révolte contre les Perses. Une fois les cheveux repoussés, l esclave fut envoyé. (technique encore utilisée au début du 20 e siècle par l espionnage allemand) Stéganographie ou tatouage?
Relations avec autres domaines Stéganographie Communication cachée, dans un document sans référence au document Marque invisible Marque invisible cryptée Watermarking Marque visible communication cachée, contenu crypté Marque visible, cryptée Protection d information applications cryptographiques
Plan Introduction 1 Introduction 2
Modèle Introduction Document : D {O, 1} Document original D 0 Qualité d un document? Oracle : O : {0, 1} {0, 1} {0, 1} O(D, D ) = 1 D et D ont même qualité Multimédia : O, critères psycho-perceptifs BD : définition formelle de O
Modèle Introduction Algorithme de marquage : paire d algorithmes (M, D) Marqueur : M : {0, 1} {0, 1} {0, 1} M(D, I ) = D D : document tatoué I : infomation supplémentaire
Modèle Introduction Détecteur : D : {0, 1} {0, 1} {0, 1} D(D, I ) = 1 détection positive D, document suspect I information supplémentaire (= I ou I )
Modèle Introduction Propriété fondamentale : Correction : D, I D(M(D, I ), I ) = 1 Imperceptibilité : D, I O(D, M(D, I )) = 1
Modèle : attaques Introduction Attaque : transformation T : {0, 1} {0, 1} T(D ) = D D, document attaqué Correction : D O(D, T (D)) = 1 Indétectabilité : D, I D(T (M(D, I )), I ) = 0
Modèle : attaques Introduction Succès d une attaque T pour document D : T correcte et indétectable Tatouage robuste contre T : Toute attaque correcte est détectable Objectif : trouver (M, D) robuste contre T Famille d attaque F = {T 1, T 2,...} Robustesse contre F : robustesse contre chaque T i
Plan Introduction 1 Introduction 2
algorithme public utilisation de clés secrètes détection aveugle ou informée efficacité du marqueur taux de faux témoins/faux rejets capacité tatouages multiples coût / Complexité
Connaissance de l algorithme marqueur ou détecteur secret algorithmes publiques Sécurité ne dépend que d une clé Principes de Kerckhoffs (premiers principes connus pour la fabrication systématique de protocoles cryptographiques, 1883) Il faut qu il n exige pas le secret, et qu il puisse sans inconvénient tomber entre les mains de l ennemi. idéalement, marqueur et détecteur sont publics. Combinaison du tatouage avec techniques cryptographiques (ex. chiffrer le message)
Contenu de I : tatouage avec clé I et I : même clé privée, secrète, connue uniquement du propriétaire tatouage à clé publique : Seul le propriétaire tatoue avec la partie privée k, I = k D autres personnes peuvent détecter, avec la partie publique p, I = p
Détecteur informé/aveugle Détecteur informé : I = (k, D 0, M) plus facile (soustraction original, marque seule) preuve de propriété Détecteur semi-informé : I = (k, D 0 ) Détecteur aveugle : I = k sans original : plus difficile, mais parfois nécessaire contrôle de copie, original gigantesque ou changeant
Cadre probabiliste Introduction Tatouage robuste contre T : Toute attaque correcte est détectable : trop difficile D = M(D, I ) O(D, T (D )) = 1 D(T (D ), I ) = 1 Relaxation probabiliste du problème Distribution sur documents, marques, attaques
Efficacité du marqueur Probabilité de la correction du marqueur Efficacité = P D =M(D,I )[D(D, I ) = 1] idéal : 100 % pas toujours possible
Taux de faux témoins D 0 document original, A, modification aléatoire taux faux témoins = P D =D 0 +A[D(D, I ) = 1] 10 6 pour preuve de propriété (détecteur peu utilisé) 10 12 pour contrôle de copie (détecteur utilisé pour chaque image d un DVD)
Taux de faux rejets D = D 0 + M document tatoué, A, modification aléatoire taux faux rejets = P D =D +A[D(D, I ) = 0] Succès de l attaque A
capacité l Introduction Nombre de bits dissimulés dans le document l = 1 bit : détecter l appartenance (oui/non) l = k bits : message de k bits (stéganographie) identifier 2 k acheteurs (fingerprinting) Attention : une marque de n bits peut être utilisée pour coder 1 bit de façon robuste
Tatouages multiples/modifiables Le système permet-il de mettre à jour la marque, de la modifier facilement Différentes marques peuvent-elles être insérées/détectées simultanément?
Coût / complexité Introduction Complexité en temps et espace de M et D preuve de propriété : peut être long contrôle de copie : doit être temps réel
Plan Introduction 1 Introduction 2
courantes Attaque de présentation (scrambling) Distortions volontaires Désynchronisation Copie de tatouage Ambiguité Descente de gradient Collusion
courantes Attaque de présentation (scrambling) Séparer le document en sous-documents Ne change pas la présentation ex. mosaique d une image en HTML Détection automatique très difficile (...)
courantes Distorsions volontaires Distorsions naturelles (traitement image) Distorsions volontaires Résistance : Où est la marque? Chance d inverser cette marque?
courantes Désynchronisation Déplacer les bits de la marque ex. suppression lignes, colonnes, mirroir ex. Stirmark Résistance : Resynchroniser avec original Données invariantes
courantes Copie de tatouage : Supprimer le tatouage (...) Obtenir le tatouage par différence Ajouter ce tatouage dans autre document Rendre détecteur ou autre client suspects Résistance : cryptographie M =signature(d 0 ) M inadéquat pour autre document
courantes Ambiguité Fonction d insertion I(D 0, M) = (D, M) inversible Fabriquer faux D 0, M tel que I(D 0, M ) = (D, M ) ex. M au hasard, et (D 0, M ) = I 1 (D, M ) Même arguments de propriétés pour (D 0, M) et (D 0, M ) Sécurité : Rendre I non inversible Comme précédement, M =signature(d 0 )
courantes Descente de gradient Attaquant possède un détecteur donnant une valeur Perturbation guidée par diminution Sécurité zone de détection à valeur non monotone
courantes Collusion Estampillage de t clients Collusion de k < t clients Comparaison de leur copies respectives Localisent la marque Sécurité : Codes anti-collusions
Plan Introduction 1 Introduction 2
d(d, D ) : distance/similarité entre D et D Pour d max, distorsion maximale autorisée, on souhaite, D d(d 0, D ) d max
C : ensemble des documents (cover works) région acceptable par rapport à D 0 : {D C : d(d 0, D) d max } région de détection : {D : D(D, I ) = 1} région de marquage : {D : D 0, I D = M(D 0, I )}
Espace des documents Région de détection c 0 Région des distorsions acceptables Possibles versions marquées de c 0
Espace des documents Région de détection attaque par effacement c 0 marquage
Retour sur l exemple naïf tatouage d une image 300x200 niveaux de gris c[x, y] Encodage d un message m de 100 bits Clé K, un numéro de ligne Marqueur(c 0,m,K) : c pour x allant de 1 a 100 c[x, K] := c 0 [x, K] + ( 1) m[x] Détecteur(c,c 0,K) : m pour x allant de 1 a 100 si (c[x, K] c 0 [x, K] = 1) alors m[x, K] := 0 sinon m[x, K] := 1
Caractéristiques de l algorithme naïf efficacité 100% distorsion 1 capacité 100 bits détection informée taux de faux témoins 100% robustesse : faible clé de tatouage : oui tatouage incrémental : oui temps constant Il existe cependant de bonnes solutions pour les documents multimédia