Tatouage : application aux bases de données p.1/126



Documents pareils
CONSERVATOIRE NATIONALE DES ARTS ET MÉTIERS PARIS

Big Data et Graphes : Quelques pistes de recherche

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Big Data et Graphes : Quelques pistes de recherche

Cryptographie. Cours 3/8 - Chiffrement asymétrique

de calibration Master 2: Calibration de modèles: présentation et simulation d

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

données en connaissance et en actions?

Encryptions, compression et partitionnement des données

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

ÉPREUVE COMMUNE DE TIPE Partie D

Partie II Cours 3 (suite) : Sécurité de bases de données

Matrice d accès. Master SEMS, Pierre Paradinas. October 16, 2013

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Les fonctions de hachage, un domaine à la mode

Sécuristation du Cloud

Chapitre 5 : Flot maximal dans un graphe

Introduction à l approche bootstrap

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Architecture des Systèmes d Information Architecture des Systèmes d Information

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Sécurité des réseaux IPSec

Cours 14. Crypto. 2004, Marc-André Léger

Cours d Analyse. Fonctions de plusieurs variables

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

DNSSEC. Introduction. les extensions de sécurité du DNS. Les dossiers thématiques de l AFNIC. 1 - Organisation et fonctionnement du DNS

PROBABILITES ET STATISTIQUE I&II

Bases de données avancées Introduction

Bases de données et sites WEB

Structures algébriques

Les Réseaux sans fils : IEEE F. Nolot

Apprentissage Automatique

Cours Bases de données

Programmation linéaire

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Théorème du point fixe - Théorème de l inversion locale

Plus courts chemins, programmation dynamique

Chapitre 3. Les distributions à deux variables

Quantification Scalaire et Prédictive

(51) Int Cl.: H04L 29/06 ( ) G06F 21/55 ( )

La sécurité dans les grilles

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Traitement bas-niveau

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

SQL Parser XML Xquery : Approche de détection des injections SQL

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Simulation de variables aléatoires

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Présentation du module Base de données spatio-temporelles

Annexe 6. Notions d ordonnancement.

Tests de comparaison de moyennes. Dr Sahar BAYAT MASTER 1 année UE «Introduction à la biostatistique»

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

TD : Codage des images

Java et les bases de données

Optimisation Discrète

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Programmes des classes préparatoires aux Grandes Ecoles

Résolution de systèmes linéaires par des méthodes directes

Approche par marquage pour l évaluation de la qualité d image dans les applications multimédias

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Sécurité des applications web. Daniel Boteanu

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

Cours de Master Recherche

Bases de données Cours 1 : Généralités sur les bases de données

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Notes de cours : bases de données distribuées et repliquées

Gestion des Clés Publiques (PKI)

Modélisation multi-agents - Agents réactifs

Note technique. Recommandations de sécurité relatives aux mots de passe

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Estimation et tests statistiques, TD 5. Solutions

Programmation linéaire

Recherche dans un tableau

chargement d amplitude variable à partir de mesures Application à l approche fiabiliste de la tolérance aux dommages Modélisation stochastique d un d

Signature électronique. Romain Kolb 31/10/2008

Théorie et codage de l information

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Interception des signaux issus de communications MIMO

Cryptographie et fonctions à sens unique

CAPTEURS - CHAINES DE MESURES

Introduction au Data-Mining

Lois de probabilité. Anita Burgun

Application de K-means à la définition du nombre de VM optimal dans un cloud

Raisonnement probabiliste

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Data Mining. Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne. Data Mining. V. Augusto.

LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION

Transcription:

Tatouage : application aux bases de données David Gross-Amblard 10 février 2004 Laboratoire Cedric, Conservatoire national des arts et métiers Transparents disponibles sur http://cedric.cnam.fr/ dgram Tatouage : application aux bases de données p.1/126

Plan du cours I Le tatouage de documents électroniques 1. Problématique et applications 2. Modèles 3. Caractérisation 4. Attaques courantes 5. Interprétation géométrique Tatouage : application aux bases de données p.2/126

Plan du cours II Tatouage par vectorisation et étalement de spectre 1.Principe 2.Algorithme 3.Analyse 4.Application aux images Tatouage : application aux bases de données p.3/126

Plan du cours III Tatouage des bases de données 1.Spécificités 2.Tatouage des poids faibles 3.Tatouage des distributions 4.Préservation de requêtes Méthode gourmande Méthode analytique IV (Autres données structurées) V Conclusion Autres directions Tatouage : application aux bases de données p.4/126

Bibliographie générale S. Katzenbeisser and F. A. P. Petitcolas, editors. Information hiding: techniques for steganography and digital watermarking. Computer security series. Artech house, 2000. I. J. Cox, M. L. Miller, and J. A. Bloom. Digital Watermarking. Morgan Kaufmann Publishers, Inc., San Francisco, 2001. Tatouage : application aux bases de données p.5/126

Bibliographie générale Julien P. Stern. Contribution à une théorie de la protection de l information. Thèse de doctorat, Paris XI, 2001. 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. Tatouage : application aux bases de données p.6/126

Bibliographie pour les bases de données R. Agrawal and J. Kiernan. Watermarking Relational Databases. In VLDB, 2002. R. Sion, M. Atallah and S. Prabhakar. Rights Protection for Relational Data. In SIGMOD 2003. S. Khanna and F. Zane. Watermarking maps: hiding information in structured data. In SODA, 2000. D.. Gross-Amblard. Query-preserving watermarking of relational databases and XML documents. In PODS, 2003. Tatouage : application aux bases de données p.7/126

I. Le tatouage de documents électroniques Tatouage : application aux bases de données p.8/126

I.1 Problématique 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é Tatouage : application aux bases de données p.9/126

I.1 Cadre général eux algorithmes : Le marqueur altère le document par insertion d une marque Le détecteur vérifie la présence de la marque lusieurs modèles d échange Un à plusieurs propriétaires Plusieurs clients (Tier de confiance) odèle d adversaire Tentative de suppression de la marque Nouvelle alteration du document Tatouage : application aux bases de données p.10/126

I.1 Premier modèle d échange serveur serveur suspect copie illicite marqueur document original document tatoué detecteur A A A distorsion Tatouage : application aux bases de données p.11/126

I.1 Altération du document 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 Tatouage : application aux bases de données p.12/126

I.1 Applications 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 Tatouage : application aux bases de données p.13/126

I.1 Notation P, le propriétaire D, un document (cover work) D 0, le document original de P Tatouage : application aux bases de données p.14/126

I.1 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 Tatouage : application aux bases de données p.15/126

I.1 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 Tatouage : application aux bases de données p.16/126

I.1 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 Tatouage : application aux bases de données p.17/126

I.1 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 traitor tracing, fingerprinting Tatouage : application aux bases de données p.18/126

I.1 Authentification du contenu Contexte : transmission d un document Objectif : vérifier si le contenu à été modifié Méthode : la marque contient une signature digitale Tatouage : application aux bases de données p.19/126

I.1 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 Tatouage : application aux bases de données p.20/126

I.1 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 Tatouage : application aux bases de données p.21/126

I.1 Relations avec autres domaines atouage, 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 Tatouage : application aux bases de données p.22/126

I.1 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. Tatouage : application aux bases de données p.23/126

I.2 Modèle 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 Tatouage : application aux bases de données p.24/126

I.2 Modèle 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 Tatouage : application aux bases de données p.25/126

I.2 Modèle Détecteur : D : {0, 1} {0, 1} {0, 1} D, document suspect D(D, I ) = 1 détection positive I information supplémentaire (= I ou I) Tatouage : application aux bases de données p.26/126

I.2 Modèle ropriété fondamentale : Correction : D, I D(M(D, I), I) = 1 Imperceptibilité : D, I O(D, M(D, I)) = 1 Tatouage : application aux bases de données p.27/126

I.2 Modèle : attaques 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 Tatouage : application aux bases de données p.28/126

I.2 Modèle : attaques 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 Tatouage : application aux bases de données p.29/126

I.3 Caractéristiques du tatouage algorithme connu 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é Tatouage : application aux bases de données p.30/126

I.3 Connaissance de l algorithme marqueur ou détecteur secret algorithmes publiques Principe de Kerckhoffs Sécurité ne dépend que d une clé Tatouage : application aux bases de données p.31/126

I.3 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 Tatouage : application aux bases de données p.32/126

I.3 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 Tatouage : application aux bases de données p.33/126

I.3 Cadre probabiliste 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 Tatouage : application aux bases de données p.34/126

I.3 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 Tatouage : application aux bases de données p.35/126

I.3 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) Tatouage : application aux bases de données p.36/126

I.3 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 Tatouage : application aux bases de données p.37/126

I.3 capacité l 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 Tatouage : application aux bases de données p.38/126

I.3 Tatouages multiples/modifiables Le système permet-il de mettre à jour la marque, de la modifier facilement Tatouage : application aux bases de données p.39/126

I.3 Coût / complexité 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 Tatouage : application aux bases de données p.40/126

I.4 Attaques courantes Attaque de présentation (scrambling) Distortions volontaires Désynchronisation Copie de tatouage Ambiguité Descente de gradient Collusion Tatouage : application aux bases de données p.41/126

I.4 Attaques courantes ttaque 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 (...) Tatouage : application aux bases de données p.42/126

I.4 Attaques courantes istorsions volontaires Distorsions naturelles (traitement image) Distorsions volontaires Résistance : Où est la marque? Chance d inverser cette marque? Tatouage : application aux bases de données p.43/126

I.4 Attaques courantes ésynchronisation Déplacer les bits de la marque ex. suppression lignes, colonnes, mirroir ex. Stirmark Résistance : Resynchroniser avec original Données invariantes Tatouage : application aux bases de données p.44/126

I.4 Attaques courantes opie 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 Tatouage : application aux bases de données p.45/126

I.4 Attaques courantes mbiguité 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 ) Tatouage : application aux bases de données p.46/126

I.4 Attaques courantes escente 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 Tatouage : application aux bases de données p.47/126

I.4 Attaques courantes ollusion Pour fingerprinting de t clients Collusion de k < t clients Comparaison de leur copies respectives Localisent la marque Sécurité : Codes anti-collusions Tatouage : application aux bases de données p.48/126

I.5 Interprétation géométrique 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 Tatouage : application aux bases de données p.49/126

I.5 Interprétation géométrique C : ensemble des documents (cover works) région acceptable par rapport à D 0 : région de détection : région de marquage : {D C : d(d 0, D) d max } {D : D(D, I) = 1} {D : D 0, I D = M(D 0, I)} Tatouage : application aux bases de données p.50/126

I.5 Interprétation géométrique Espace des documents Région de détection D 0 Région des distorsions acceptables Possibles versions marquées de D 0 Tatouage : application aux bases de données p.51/126

I.5 Interprétation géométrique Espace des documents Région de détection attaque par effacement D 0 marquage Tatouage : application aux bases de données p.52/126

II. Tatouage par étalement de spectre Tatouage : application aux bases de données p.53/126

II.1 Principe général [Cox, et al., 1995][Hartung et Girod, 1997] Tatouage de données tatouage d un vecteur réel vectorisation Utilisation de l aléa ajouter aléa avec distribution connue détection par corrélation Choix de l espace de tatouage Méthode indépendante du type de données Tatouage : application aux bases de données p.54/126

II.1 Vectorisation : dépend de la données Associer à D un vecteur de R n V : {0, 1} R n V(D) = C Associer à vecteur tatoué C un D R : R n {0, 1} R( C ) = D V, R bijections réciproques (pas toujours) ex. V petit sous-ensemble de D, R nécessite information exterieure (D 0 ) Tatouage : application aux bases de données p.55/126

II.1 Hypothèses distance d sur R n La proximité au sens de l oracle doit correspondre à une proximité dans l espace des vecteurs D et D tq. O(D, D ) = 1 V(D) et V(D ) sont proches Tatouage : application aux bases de données p.56/126

II.2 Tatouage par étalement de spectre. Initialisation on fixe α, "force du tatouage" on fixe β, seuil de détection (0 < β < 1) I. Vectorisation C = V(D 0 ) = (c 1,..., c n ) Tatouage : application aux bases de données p.57/126

II.2 Tatouage par étalement de spectre. Tatouage (indépendant du type de données) Marque W = (w 1,..., w n ) w i tirés selon loi normale, moyenne 0, variance α 2 Vecteur tatoué C = C + W. Reconstruction D = R( C ), donnée tatouée N (O, α) Tatouage : application aux bases de données p.58/126

II.2 Détection associée. Vectorisation D, donnée suspecte (attaquée?) I. Détection Corrélation linéaire D ( F ) = F = V( D) Q = F. W nα 2 { 1 si Q > β 0 sinon Tatouage : application aux bases de données p.59/126

II.2 Résumé Tatouage des vecteurs : paire (M es, D es ) M(D, I) = R(M es (V(D), I)) D(D, I ) = D es (V(D ), I ) I = I = k, clé secrète graine pour générateur pseudo-aléatoire de W tatouage aveugle, avec clé secrète Tatouage : application aux bases de données p.60/126

II.3 Analyse de sécurité ypothèses C bornée : i, c i γ attaque : F = V( D) = C + E E bornée : i, e i δ C, E indépendants de W Tatouage : application aux bases de données p.61/126

II.3 Analyse de sécurité F Q =. W nα 2 n i=1 = f i.w i nα 2 n i=1 = (c i + w i + e i ).w i nα 2 n i=1 = c n i.w i i=1 nα 2 + w2 i nα 2 + = I + M + A n i=1 e i.w i nα 2 Tatouage : application aux bases de données p.62/126

II.3 Analyse de sécurité Q Non marquée marquée non attaquée I I+M attaquée I+A I+M+A Tatouage : application aux bases de données p.63/126

II.3 Analyse de sécurité oi normale N (µ, α) : f(x) = 1 (x µ)2 e 2α 2 2πα 2 1.2 1 0.8 0.6 0.4 0.2 0-4 -2 0 2 4 6 8 10 Bonne approximation de la loi binomiale (discrète, bornée) µ = 0 et σ = 1 : centrée réduite Somme de loi normales indépendantes : loi normale Somme du carré de n lois normales indépendantes centrées réduites : loi du χ 2 n Tatouage : application aux bases de données p.64/126

II.3 Etude de M E(M) = 1 nα 2 = 1 nα 2 = 1 nα 2 n i=1 M = w2 i nα 2 n E(wi 2 ) i=1 n i=1 = χ2 n n E(w 2 i ) E(w i ) 2 car E(w i ) = 0 n α 2 = 1 i=1 Tatouage : application aux bases de données p.65/126

II.3 Etude de M Ecart à la moyenne d un loi χ 2 n (1) P[χ 2 n < n y] 1 2y π e y2 (pour 2 y n, n 12 pair ) P[1 M > t] 1 2 n(1 1 t) π e1 1 t 2 Tatouage : application aux bases de données p.66/126

II.3 Etude de A et I A = P n i=1 e iw i nα 2, loi normale E(A) = E( n i=1 e iw i ) nα 2 n i=1 = E(e iw i ) nα 2 n i=1 = E(e i)e(w i ) nα 2 = 0 par indépendance dem pour I. Tatouage : application aux bases de données p.67/126

II.3 Etude de A et I dem pour I. var(a) = E( n i=1 e iw i ) 2 n 2 α 4 = α2 n i=1 e2 i n 2 α 4 = E 2 n 2 α 2 δ2 n 2 α 2 Tatouage : application aux bases de données p.68/126

II.3 Analyse de A et I onclusion : A = E nα I = C nα N (0, 1) N (0, 1) Tatouage : application aux bases de données p.69/126

II.3 Analyse des attaques Faux témoins : détecter une donnée non marquée P ft = P(I + A > β) Faux rejets : ne pas détecter une donnée marquée P fr = P(I + M + A β) Tatouage : application aux bases de données p.70/126

II.3 Faux témoins our n a I + A = C + E nα r = α γ + δ P ft e β2 r 2 n 2 N (0, 1) Tatouage : application aux bases de données p.71/126

II.3 Faux rejets on cherche P(I + A + M < β) P fr e (1 β)2 r 2 n 2(1+ 2r) 2 Pour avoir P fr = P ft, on prend β = 1 2 + 2r P ft = P fr P 0 = e r2 n 2(2+ 2r) n 0, taille du vecteur nécessaire n 0 > 2(2 + 2r) r 2 log 1 P 0 Tatouage : application aux bases de données p.72/126

II.3 Tailles minimales 1 r /P O 2 10 2 20 2 30 2 40 2 50 100 562387 1124775 1687163 2249550 4499100 50 142578 285156 427734 570313 1140626 10 6357 12714 19061 25428 50856 5 1806 3612 5418 7224 14449 1 161 323 485 646 1293 r = α γ + δ α, force du tatouage γ, borne du vecteur initial δ, borne de l attaque Tatouage : application aux bases de données p.73/126

II.3 Caractéristiques du tatouage algorithme connu utilisation de clés secrètes détection aveugle efficacité du marqueur : > 1 P 0 taux de faux témoins/faux rejets < P 0 capacité : 1 bit Tatouages multiples? Coût / Complexité : linéaire en +, Tatouage : application aux bases de données p.74/126

II.3 Résistance Attaque de présentation (scrambling) non Distortions volontaires Désynchronisation non Copie de tatouage, clé bien choisie Ambiguité, idem Descente de gradient non Collusion (sans objet) Tatouage : application aux bases de données p.75/126

II.4 Application aux images image originale image tatouée Tatouage : application aux bases de données p.76/126

II.4 Application aux images riginal image tatouée éférence=f(clé secrète) Tatouage : application aux bases de données p.77/126

II.4 Attaque d un couple bavarois attaque par attaque par attaque par changement jpeg 10%, smoothing 0% rotation d échelle marque toujours présente? Tatouage : application aux bases de données p.78/126

II.4 Choix du site de dissimulation Vectorisation Domaine spatial (x,y) Transformée de Fourier discrète Transformée en cosinus discrète (DCT) Transformée Mellin-Fourier Résistance/intérêt Bruit aléatoire Fréquences adéquates pour compromis visibilité/robustesse Stable par compression JPEG et MPEG Invariance par translation, rotation, zoom Tatouage : application aux bases de données p.79/126

III. Tatouage de bases de données Tatouage : application aux bases de données p.80/126

III.1 Mais comment tatouer ceci? Alpiniste(nom,sommet,temps) Hillary Everest 145h Tenzin Everest 145h Paccard Mont Blanc 22h Lachenal Anapurna 210h Messner Everest 67h Janin Gasherbrum II 97h Messner Nanga Parbat 80h Messner Gasherbrum II 81h Sommet(nom,altitude) Everest 8848m Mont Blanc 4807m Anapurna 8078m Gasherbrum II 8035m Nanga Parbat 8125m K2 8611m Tatouage : application aux bases de données p.81/126

III.1 Spécificités Images (multimédia) Bases de données, Xml Peu de structure Très structuré : - schéma - types - clés primaires :(nom,sommet) Document unique Collections de lignes (Toctet) Utilisation unique Interrogations variées langage de requêtes Qualité psycho-perceptive Critères formels (ex. géographie) Document fixe Mises à jour Tatouage : application aux bases de données p.82/126

III.1 Hypothèses usuelles pour BDs onnées Toute table possède une clé primaire (principe BD) Existence de données modifiables (ex. numérique) temps Tatouage par altération des données modifiables 5h de variation tolérable sur le temps ttaques Les attaques conservent les clés (raisonnable pour clé ayant une sémantique précise identifiant abstrait) ex. Perturbations aléatoires, suppressions de lignes,... Tatouage : application aux bases de données p.83/126

III.1 Lieu du tatouage : Alpiniste Alpiniste Alpiniste(nom,sommet,temps) Hillary Everest 145h Paccard Mont Blanc 22h Lachenal Anapurna 210h Tenzin Everest 145h Messner Everest 67h Janin Gasherbrum II 97h Messner Nanga Parbat 80h Messner Gasherbrum II 81h Alpiniste (nom,sommet,temps) Hillary Everest 143h Paccard Mont Blanc 21h Lachenal Anapurna 212h Tenzin Everest 143h Messner Everest 65h Janin Gasherbrum II 98h Messner Nanga Parbat 75h Messner Gasherbrum II 82h Tatouage : application aux bases de données p.84/126

III.2 Tatouage des poids faibles [AK02] rincipe modifier les bits de poids faible n-uplet,attribut,et bit choisis en fonction de la clé primaire et de la clé secrète détection par corrélation linéaire sécurité : hachage paramétré par clé secrète Tatouage : application aux bases de données p.85/126

III.2 Sécurité Fonction de hachage H : {0, 1} {0, 1} t, t fixe, résultat entier à t bits Fonction de hachage non-inversible (one-way hash function) Calculer H(m) facile Pour un h, trouver m tq. H(m) = h difficile (recherche exhaustive) ex. MD5, SHA Rq. : les bits produits semblent aléatoires Tatouage : application aux bases de données p.86/126

III.2 Sécurité Code d authentification de message (MAC ou DAC) Hachage permettant d authentifier l emetteur du message Emetteur et recepteur possèdent une clé secrète k ex. : MAC k (m) = H(k m) Emetteur envoie (m, c) avec c = MAC k (m) Récepteur calcule MAC k (m) et compare avec c Seul l emetteur a pu construire un c correct Tatouage : application aux bases de données p.87/126

III.2 Tatouage des poids faibles ξ, le nb de bit de poids faible pouvant être modifiés ξ = 2 ici Tatouage(Alpiniste, k) : 1: for all (clé,temps) Alpiniste do 2: bit_index = MAC k (clé) mod ξ 3: Alpiniste.temps[bit_index] = MAC k (clé) mod 2 4: end for Détection(Alpiniste, k) : 1: for all (clé,temps) Alpiniste do 2: bit_index = MAC k (clé) mod ξ 3: if Alpiniste.temps[bit_index] = MAC k (clé) mod 2 then 4: match = match + 1 5: end if 6: end for 7: return (match/ Alpiniste > τ) Tatouage : application aux bases de données p.88/126

III.2 Analyse variables aléatoires de Bernouilli succès, probabilité p, échec 1 p b(k; n; p) : probabilité d avoir k succès parmi n tirages de variables de Bernouilli (avec probabilité p) b(k; n; p) = Cnp k k (1 p) n k Probabilité d avoir au moins k succès : B(k; n; p) = n i=k b(i; n; p) Tatouage : application aux bases de données p.89/126

III.2 Taux de faux témoins P 0 upposons Alpiniste = n un document aléatoire D Rq. bits de D et D indépendants En prenant P[> τ bits de D correspondent] = B(τ, n, 1 2 ) on a P[D, faux témoins] < P 0 τ = min τ [B(τ, n, 1 2 ) < P 0] Tatouage : application aux bases de données p.90/126

III.2 Robustesse : inversion de bits aléatoire Alpiniste = n Hypothèse : ξ connus de l adversaire Attaque : inversion aléatoire des ξ bits, pour N n-uplets Succès si inversion d au moins τ = n τ + 1 bits P[faux rejet] = ( n n n i ) i)( N i ( n N) i= τ Tatouage : application aux bases de données p.91/126

III.2 Robustesse Tatouage : application aux bases de données p.92/126

III.2 Caractéristiques du tatouage algorithme connu utilisation de clés secrètes détection aveugle efficacité du marqueur : 100% taux de faux témoins/faux rejets < P 0 capacité : 1 bits ou n bits (vote de majorité) Tatouages multiples? Coût / Complexité : linéaire en base Tatouage : application aux bases de données p.93/126

III.2 Résistance Attaque de présentation (scrambling) oui (clés) Distortions volontaires Désynchronisation oui (clés) Copie de tatouage Ambiguité Descente de gradient non Tatouage incrémental Collusion : avec codes anti-collusion Tatouage : application aux bases de données p.94/126

III.2 Résumé vantages Simple et rapide Dissimule 1 bit par ligne Distorsion des valeurs contrôlée par ξ remier inconvénient Poids faibles (LSB) peu robuste (abandonné pour images) Tatouage : application aux bases de données p.95/126

III.3 Tatouage des distributions [SAP03] Répartition secrète des lignes en blocs b 1,... b n Encodage : modification de la distribution des temps/bloc (Tenzin,Everest)(Hillary,Everest)(Paccard,Mt Blanc) C5 C6 C7... (Tenzin,Everest)(Paccard,Mt Blanc)(Hillary,Everest) C32 C54... Bloc 1 Bloc 2 Temps Détection : corrélation Tatouage : application aux bases de données p.96/126

III.4 Préservation de requêtes utre inconvénients de [AK02] Ne préserve pas de requêtes xemple de requêtes à préserver Ψ 1 : Le plus rapide par sommet Ψ 2 (a) : La moyenne des temps pour le sommet a ψ(a) select avg(temps) from Alpiniste where sommet=a Tatouage : application aux bases de données p.97/126

III.4 Modèle : 3 participants Propriétaire : vend une base de données Serveur de données : achète une base, répond à des requêtes ψ(.) Utilisateur final : pose des requêtes ψ(a) bjectif : tatouer en préservant la qualité des requêtes Tatouage : application aux bases de données p.98/126

III.4 Modèle : 3 participants utilisateurs serveur requetes requetes serveur suspect copie illicite marqueur base de données base tatouée detecteur A A. Tatouage : application aux bases de données p.99/126

III.4 Méthode gourmande [SAP03] Méthode gloutonne pour la préservation des requêtes Requêtes ψ 1,..., ψ k à préserver en entrée Tatouage (message w {0, 1} l ) 1: for all bloc b i do 2: encoder le ièmebit de w dans b i 3: if contraintes sur ψ 1,..., ψ k non satisfaites then 4: abandonner les changements de b i 5: end if 6: end for vantages : preserve n importe quelle propriété nconvénient : Force brute, n calculs de ψ 1,..., ψ k (sur beacoup de lignes) S il faut trouver plusieurs tatouages valides? Tatouage : application aux bases de données p.100/126

III.4 Fingerprinting serveur suspect copie illicite detecteur A distorsion probabilité serveur marqueur serveur marqueur base de données base tatouée A B B A Tatouage : application aux bases de données p.101/126

III.4 Méthode analytique Capacité : combien de tatouages différents peut-on trouver? roblème théorique : Quelle relation entre : la capacité la distorsion nécessaire l expressibilité du langage des requêtes à préserver Quels critères pour capacité garantie? pplication : Trouver rapidement beaucoup de tatouages distincts Tatouage : application aux bases de données p.102/126

III.4 Réduction à la programmation entière pb de tatouage programmation entière ex. modifier temps ±5, moyenne des temps sur Everest préservée t 1 = temps(t enzin), t 2 = temps(messner), t 3 = temps(hillary) { i 5 m i 5 t 1 + t 2 + t 3 ( (t 1 + m 1 ) + (t 2 + m 2 ) + (t 3 + m3) ) = 0 Maximiser dans une direction aléatoire Permet utilisation de résolveurs connus, grand nombre de variables Tatouage : application aux bases de données p.103/126

III.4 Restriction : requêtes stables Résultat avant et après tatouage est fonction des mêmes valeurs xemples, altération des temps Ψ 1 : temps minimal par sommet : pas stable Ψ 1 [Alpiniste] = temps(janin) Ψ 1 [Alpiniste ] = temps (Tenzin) Ψ 2 : La moyenne des temps pour le sommet a : stable Ψ 2 [Alpiniste](Gasher.) = temps(messner) + temps(janin) Ψ 2 [Alpiniste ](Gasher.) = temps (Messner) + temps (Janin) Tatouage : application aux bases de données p.104/126

III.4 Stabilité : matrice de dépendance marque : +1 +1-1 -1 valeurs v 1 w 2 w 3 w 4 ψ 1 0 0 1 1 ψ 2 1 1 0 1 ψ 3 1 0 0 1 distorsion -2 +1 0 Capacité : 2 l solutions, capacité de l bits Capacité croissante avec n =nb de valeurs disponibles Compromis entre distorsion d et capacité Schéma : capacité Ω(n 1 1 d ) avec distorsion d Tatouage : application aux bases de données p.105/126

III.4 Exemple valeurs w 1 w 2 w 3 w 4 w 5 w 6... w n ψ(a 1 ) 1 1 1 0 1 1... 0 ψ(a 2 ) 0 1 1 1 1 1... 1 ψ(a 3 ) 0 1 1 0 1 0... 0 ψ(a 4 ) 1 0 1 0 1 0... 0 ψ(a 5 ) 0 1 0 1 0 1... 0 Où disposer les distorsions? Trouver le nb de solutions : #P -complet Tatouage : application aux bases de données p.106/126

III.4 Pas de schéma, même pour requête triviale Si tous les sous-ensembles de valeurs sont définissables, pas de schéma. valeurs w 1 w 2 w 3... w n ψ(a 1 ) 1 0 0... 0 clé valeur ψ(a 2 ) 1 1 0... 0 ψ(a 3 ) 1 1 1... 0.................. ψ(a 2 n) 1 1 1... 1 G a 1 a2 a3 +1 +1 1. ψ(a) select valeur from G where G(a,valeur) Idée : Tatouer beaucoup de +1 Une requête avec paramètre a i dépend uniquement de ces +1 Grande distorsion sur cette requête ψ(a i ) Tatouage : application aux bases de données p.107/126

III.4 Schéma pour BD bornées, requêtes SQL BD de degré borné (ex. graphe de degré borné) ψ, formule SQL=F O : langage local dépend d un voisinage fini autour de a a, b voisinages isomorphes ψ(a)et ψ(b)dépendent presque des mêmes valeurs (à une constante près) nb de voisinages distincts constant a c b Tatouage : application aux bases de données p.108/126

III.4 Exemple valeurs w 1 w 2 w 3 w 4 w 5 w 6... w n ψ(a 1 ) 1 1 1 0 1 1... 0 ψ(a 2 ) 0 1 1 1 1 1... 1 ψ(a 3 ) 0 1 1 0 1 0... 0 ψ(a 4 ) 1 0 1 0 1 0... 0 ψ(a 5 ) 0 1 0 1 0 1... 0 Tatouage : application aux bases de données p.109/126

III.4 2 voisinages distincts, gadget (+1, 1) 1 2 2 1 2 marque: +1 1 +1 1 : 2 bits valeurs w 1 w 2 w 3 w 4 w 5 w 6... w n ψ(a 1 ) 1 1 1 0 1 1... 0 0 ψ(a 2 ) 0 1 1 1 1 1... 1 ψ(a 3 ) 0 1 1 0 1 0... 0 ψ(a 4 ) 1 0 1 0 1 0... 0 ψ(a 5 ) 0 1 0 1 0 1... 0 0 c c c O(n) bits avec distorsion constante c = f(degré) Positions au hasard: Ω(n 1 1 d ) bits avec distorsion d Tatouage : application aux bases de données p.110/126

III.4 Application our ψ 1,..., ψ k à preserver (n lignes, grand) 1. Détecter les requêtes stables 2. Calculer la matrice de dépendance 3. Trouver les paires famille de tatouages valides 4. Méthode gourmande pour autres requêtes our O(n t ) par requêtes, trouver T tatouages : Si toutes stables, temps O(k.n t + T.n) (SAP03) : temps O(T.k.n t+1 ) Tatouage : application aux bases de données p.111/126

III.4 Xml Modifier les éléments identifiables du documents Utilisation des clés (Xsd) Même technique que BD Préservation de requêtes Xpath, Xquery district name="california"> <beach> <name>la Jolla</name> <temperature>26 C</temperature> </beach> <beach>... <beach>... /district>... Tatouage : application aux bases de données p.112/126

III.4 Schéma pour Xml, langage Xpath ψ(c) //district[name=c]/beach/temperature Xpath logique monadique du second ordre (M SO) Logique non locale ψ(a, c) MSO : ensemble des température a pour district c Th. ψ(a, c) MSO automate d arbre Tatouage : application aux bases de données p.113/126

III.4 Exemple Xpath automate d arbre automate fini a, b tq. automate termine dans le même état etat 5 automate accepte (a, c) automate accepte (b, c) a b c Similitudes dans la matrice de dépendance matrice de dépendance etc. Tatouage : application aux bases de données p.114/126

III.4 Résumé ésumé données requêtes capacité complexité AK03 BD non n n SAP03 BD toute inconnue T.k.n t+1 GA03 borné/xml Sql/Xpath n 1 1 d k.n t + T.n rototype Watermill [avec C.Constantin et M.Guerrouani] cedric.cnam.fr/~dgram/watermill Tatouage : application aux bases de données p.115/126

IV. Autres données structurées Tatouage : application aux bases de données p.116/126

IV.1 Tatouage de cartes [KZ00] Données : graphe connexe valué. Requête d(a, b) : longueur plus court chemin entre a et b. l existe un couple marqueur/détecteur avec : capacité n 1 1 2 d bits (n, nb arêtes) distorsion d sur toute requêtes d(.,.) résistant aux attaques aléatoires. Tatouage : application aux bases de données p.117/126

IV.1 Principe v un grand plus court chemin 1 0 0 u +1 1 1 +1 1 +1 v distorsion 0 sur d(u, v) Tatouage : application aux bases de données p.118/126

IV.1 Principe u v u +1 1 1 +1 1 +1 v distorsion < 2 pour tout d(u, v ) u v Tatouage : application aux bases de données p.119/126

IV.1 Principe Si u, v, u v "petits" plus courts chemins Perturbations au hasard suffisent ccès indirect : même résultats pour : Accès aux longueurs d arêtes Accès aux longueurs de chemins (aggrégats) Accès aux itinéraires, sans longueurs Tatouage : application aux bases de données p.120/126

IV.2 Tatouage de la programmation entière (IP) [Megerian,Drinić,Ptokonjak,2002] IP : { max n a i.x i i=1 C i : n i j=1 a ij.x i b i x i entiers Très nombreuses applications (logistique, VLSI, etc.) NP-complet Objectif : tatouer la solution Tatouage : application aux bases de données p.121/126

IV.2 Exemple sur SAT Instance SAT Instance IP correspondante 21 solutions possibles (x 1 x 2 x 3 ) (x 4 x 5 ) max x 1 + x 2 + x 3 1 x 4 + x 5 1 x i 1 x i 0 Tatouage : application aux bases de données p.122/126

IV.2 Tatouage Principe : choisir une solution particulière Solution suspecte : pourquoi identique à la notre? Ex. dissimuler "10010" max x 1 x 2 x 3 + x 4 x 5 x 1 + x 2 + x 3 1 x 4 + x 5 1 x i 1 x i 0 1 solution distinguée parmi 21 Rq : difficile de trouver une autre solution! Cas réels : 10 4 variables Tatouage : application aux bases de données p.123/126

Conclusion Tatouage : application aux bases de données p.124/126

Tatouage Nombreuses techniques pour multimédia Quelques techniques pour données structurées (BD, Xml, code) Pas encore de standard Robustesse < cryptographie Difficile pour adversaire naïf Tatouage : application aux bases de données p.125/126

Perspectives Autres requêtes, données géométriques Services web Incrémentalité de la préservation de requêtes? Capacité d autres structures combinatoires (pb. optimisations) Progrès théoriques : tatouage et complexité Tatouage : application aux bases de données p.126/126