Brevet FR2896938A1 — publié le 20070803

PROCEDE DE TATOUAGE DE DONNEES NUMERIQUES. L'invention concerne un procédé de tatouage de données numériques. L'invention concerne le domaine général du tatouage de données numériques. Plus précisément, elle concerne le contrôle d'intégrité des données numériques. L'intégrité est généralement comprise comme intégrité stricte. Dans les applications de notaire électronique par exemple, on veut s'assurer qu'un document (testament par exemple) est strictement identique à sa version originelle. Toute modification, même minime, de ce document (changement d'un mot ou même d'un seul caractère) peut avoir un impact fort sur la sémantique. D'autre part, de tels documents ne sont pas amenés à évoluer ou à être transformés pour des raisons de coût de stockage ou de transport : la taille d'un document texte ù quelques milliers d'octets ù ne nécessite en effet pas d'efforts de compression. Toute coupe dans le document est également synonyme de violation de l'intégrité, et n'est donc pas considérée comme acceptable. L'intégrité stricte est également nécessaire lors de l'échange de code exécutable, afin que chacun puisse s'assurer de la provenance du code, et notamment se prémunir contre d'éventuels virus. Là encore, la faible taille des données et leur structure particulière ù pas de possibilité de compression à perte notamment ù font qu'un mécanisme d'intégrité stricte est parfaitement adapté. Des solutions existent dans l'état de l'art, qui permettent de garantir l'intégrité stricte d'un document. Les fonctions de hash cryptographiques permettent notamment d'obtenir, à partir de n'importe quel document, un condensé (ensemble de données de taille beaucoup plus petite que le document originel) aux propriétés intéressantes. En particulier, tout changement même minime (un seul bit par exemple) du document source conduit à un condensé totalement différent. La probabilité d'avoir deux documents sources de même condensé est très faible ; d'autre part, il n'existe pas de méthode simple (c'est-à-dire de complexité beaucoup plus faible que celle de l'exploration exhaustive) de générer, à partir d'un condensé, un document source correspondant à ce condensé. On peut donc très difficilement fabriquer un document falsifié correspondant à un condensé donné ; d'autre part, même si on y arrive, ce document sera avec toute probabilité très différent du document originel (si celui-ci est un texte, le document falsifié consistera sans doute en une suite de caractères inintelligible). Intégrité souple Les mécanismes d'intégrité stricte sont parfaitement adaptés aux données de type texte, programmes, exécutables etc. Par contre, ils sont peu adaptés à des données telles que des images, de la vidéo ou de l'audio. En effet, des données de ce type sont souvent très volumineuses, en conséquence elles sont généralement compressées. D'autre part, elles se prêtent particulièrement bien à de la compression à perte. En effet, elles sont au final destinées à un utilisateur humain ûspectateur ou auditeur û, dont le cerveau ne peut traiter qu'un nombre très limité d'informations. L'oeil, ou l'oreille, n'est donc peu ou pas sensible à un grand nombre de composantes des signaux audio ou vidéo. Il est par exemple bien connu que les fréquences audio très élevées sont peu perceptibles : la bande passante fréquentielle peut être réduite sans altérer la qualité subjective du son. Des modifications ponctuelles et de faible amplitude d'une image sont de même très rarement perçues. La compression à perte exploite ces propriétés, en supprimant du signal ou en altérant fortement (par exemple par quantification) toutes les composantes auquel le récepteur subjectif est peu sensible. Le signal obtenu après compression à perte est donc différent du signal originel. De plus, il peut y avoir un grand nombre de documents compressés différents pour un même document originel, selon le type d'algorithme de compression utilisé, le paramétrage, ou la qualité perceptuelle souhaitée. D'autres altérations sont également courantes. Elles modifient peu la sémantique de la vidéo, mais altèrent fortement le contenu des données. C'est le cas notamment des transformations géométriques pour les images û découpages légers, changement d'échelle ou d'aspect ratio û, du changement de fréquence d'échantillonnage pour le son. Toutes ces transformations sont malheureusement courantes dans la vie d'un contenu audiovisuel, car elles sont souvent rendues indispensables par les contingences opérationnelles (place de stockage limitée, bande passante réduite etc.). Un mécanisme de protection de l'intégrité stricte de bout en bout, appliqué sans discernement, a donc toutes les chances d'être totalement inadapté dans ce contexte. On cherche bien plutôt à préserver la sémantique du contenu. Notons dès à présent que la notion de sémantique est extrêmement difficile à définir de façon formelle. En effet, elle implique non seulement les mécanismes mentionnés plus haut de sélectivité de la vision ou de l'audition, qui sont encore mal compris à l'heure actuelle, mais également l'analyse haut niveau réalisée par le cerveau pour extraire le sens de la scène. Par exemple, l'attention du sujet va être focalisée sur les personnages d'une scène plutôt que sur le fond. Une extraction de la sémantique nécessite donc une reconnaissance préalable d'objets, puis une analyse des relations entre ces objets dans la scène donnée, opérations qui sont hors de portée pour les connaissances scientifiques actuelles. On appelle fonction de hash visuel (en anglais visual hash ) ou signature souple un procédé permettant de calculer un condensé d'une image (ou d'une vidéo, d'un son). Contrairement aux fonctions de hash cryptographique, une telle fonction peut (c'est tout du moins ce qui est escompté à sa conception) donner un condensé identique pour deux images différentes, sous réserve que celles-ci soient suffisamment proches du point de vue perceptuel ; d'où le qualificatif de souple ou parfois robuste par opposition au qualificatif strict . Par contre, le condensé devra être différent dès lors que l'image subit une altération de sa sémantique ; par exemple l'ajout d'un personnage ou d'un objet dans une scène, la modification d'images de texte, etc. On se rend immédiatement compte que la problématique de définition formelle de la sémantique d'une image va rendre la conception de fonctions de hash visuel délicate. On peut même douter du caractère bien posé du problème. On peut néanmoins définir un critère de localité, qui peut être considéré comme valide dans la grande majorité des cas : une altération contingente (due à la compression par exemple) va donner lieu à des modifications du signal de faible amplitude, mais réparties de manière relativement uniforme sur l'ensemble de l'image. Par contre, une altération de la sémantique résultera en une modification forte mais localisée des données. On cherche donc des fonctions de hash à seuil , qui tolèrent des modifications inférieures à une certaine valeur mais réagissent à des variations localisée trop fortes. Le condensé de l'image doit accompagner celle-ci tout au long de sa vie, afin que l'intégrité puisse être vérifiée à une étape quelconque de la chaîne de transmission et de stockage. Malheureusement, les étapes de traitement, acheminement et archivage des images sont souvent multiples et complexes, et mettent en oeuvre des formats ou des équipements dans lesquels il n'est pas toujours possible d'associer image et condensé. Il est donc particulièrement intéressant que le condensé puisse être véhiculé avec l'image, de façon transparente et quel que soit le standard de représentation des données utilisé. Les techniques de tatouage sont ici particulièrement indiquées : elles permettent de transmettre une information par modification visuellement imperceptible des données support. Contrairement aux méta-données, le tatouage est donc persistant même après conversion de format de l'image support. Si on utilise des algorithmes de tatouage robustes, l'information enfouie peut être relue même lorsque l'image aura été altérée, par exemple compressée. Par contre, si l'image est trop fortement modifiée, le tatouage est alors effacé. On entrevoit ainsi deux utilisations possibles, non exclusives, du tatouage : • Transport robuste et persistant du condensé, conjointement à l'image • Détection d'altérations fortes de l'image, fondée sur la lisibilité du tatouage lui-même. L'algorithme de tatouage et son paramétrage sont choisis avec soin afin de répondre aux contraintes de protection de l'intégrité. Les modifications de l'image dues au tatouage ne doivent pas être trop fortes, afin de ne pas altérer l'intégrité. Le tatouage doit être lisible au moins pour des altérations correspondant aux limites d'acceptation pour l'intégrité. Pour mettre en oeuvre le critère de localité, il est intéressant d'avoir des algorithmes de tatouage séparables, permettant de coder des informations distinctes dans des zones distinctes de l'image. Différentes techniques de tatouage numérique adaptées au contrôle de l'intégrité des données existent : • Les méthodes fragiles qui détectent toutes les modifications, ne serait-ce que la modification d'un bit. Ces méthodes sont très précises pour localiser les altérations. • Les méthodes dites semi-fragiles, dont l'objectif est non seulement de tolérer certains traitements (surtout la compression JPEG) mais aussi de détecter les substitutions ou l'ajout d'objets dans l'image. A la différence des précédentes, la localisation est relativement grossière. Le gros problème actuel étant que ces techniques peuvent ne pas fonctionner correctement et génèrent parfois des fausses alarmes (c'est-à-dire signaler des altérations "imaginaires" pour certaines d'images). • Les méthodes hybrides, qui essayent de combiner les avantages des méthodes précédentes ; on utilise en fait un double marquage, • enfin les méthodes à capacité d'autocorrection proposant de restaurer l'image modifiée. Pour le type d'applications particulier du tatouage qu'est le contrôle d'intégrité, les techniques substitutives sont privilégiées. Elles permettent en effet l'insertion d'un message qui peut être extrait lors du processus de vérification de l'intégrité. Les techniques fragiles exploitent en général un résumé, calculé sur les données image non affectées par le phénomène d'insertion. Il peut s'agir du résultat d'un "checksum", ou d'une fonction de hachage sur les plans de bits de poids forts, suivis d'une insertion dans les bits de poids faible. Pour les méthodes semi-fragiles, le processus d'extraction du résumé est plus pertinent et s'attache aux attributs image ne devant pas être altérés. D'autres auteurs mettent à profit des relations entre coefficients DCT de blocs distincts; relations a priori invariantes par compression JPEG. Une seconde solution consiste à introduire des altérations dans l'image, et à en vérifier la présence à la détection. Enfin, il faut citer les méthodes de tatouage réversible. Dans ces approches, après avoir calculé un résumé de l'image dans sa totalité, on l'insère dans les LSB de l'image en ayant compressé les bits originaux de l'image. En fait, la signature cachée dans les bits de poids faible est constituée du résumé et des bits de poids faibles compressés. Cette méthode, est bien évidemment fragile. L'invention propose de transporter une signature de la vidéo par tatouage de la vidéo elle-même. Il peut alors se poser un problème de type étreinte fatale : le tatouage modifie la vidéo, qui peut ensuite donner lieu à un condensé différent de celui de la vidéo originelle. Le document de C. Rey & J.-L. Dugelay intitulé Blind Detection of Malicious Alterations On Stil/ Images Using Robust Watermarks , paru dans Secure Images and Image Authentication, IEE Electronics & Communications ,April 10, 2000 - London, propose une méthode pour résoudre ce problème par une approche itérative : on calcule le condensé de l'image tatouée, que l'on réinsère dans l'image, et on réitère le procédé jusqu'à convergence. Cependant cette méthode pose des problèmes de temps de calcul, de stabilité et de visibilité du tatouage : la convergence n'est notamment pas garantie. Cette méthode ne peut notamment pas être utilisée avec une fonction de hash stricte car on n'a aucune garantie de sa convergence, c'est-à-dire qu'une image peut ne pas être protégeable sans que l'on puisse rien faire. On propose ici l'approche suivante : la vidéo est découpée en blocs. Ces blocs peuvent être des groupes d'images ou des portions d'images; on peut reprendre les structures définies dans les standards tels MPEG ou JPEG (GOP û Group of Pictures ; macroblocs 16x16 ou blocs 8x8) afin de simplifier les opérations sur des flux compressés et favoriser l'interopérabilité. A cet effet, l'invention propose un procédé de tatouage numérique comprenant les étapes de - décomposition de la vidéo en blocs, - calcul pour chaque bloc de ladite vidéo d'une signature numérique, Selon l'invention le procédé comprend en outre une étape d'insertion dans un second bloc de ladite signature relative à un premier bloc, avant le calcul de ladite signature dudit second bloc. Avantageusement, lors de l'étape de calcul de ladite signature numérique, on applique à chaque bloc une fonction de hash et une fonction 30 de chiffrement asymétrique. Selon un mode de réalisation préféré, lesdits blocs comprennent une suite de sous-blocs représentatifs d'une décomposition fréquentielle de ladite vidéo. Préférentiellement, lesdits premiers et second blocs sont des blocs adjacents temporellement et spatialement. De manière avantageuse, ladite signature étant une suite de bits, on insère ladite signature relative à un premier bloc dans le second bloc, en insérant dans chacun des sous-blocs dudit second bloc un desdits bit de ladite signature dudit premier bloc. Préférentiellement, lors de l'insertion desdits bits dans lesdits sous-blocs, on modifie l'ordre de coefficients dudit sous-bloc. Avantageusement, on choisit les coefficient à modifier de telle sorte que la valeur absolue de la différence de leur valeurs absolues soit inférieure à un seuil prédéterminé. L'invention concerne également un produit programme d'ordinateur ; Selon l'invention le programme comprend des instructions de code de programme pour l'exécution des étapes du procédé selon l'invention lorsque ledit programme est exécuté sur un ordinateur. Par produit programme d'ordinateur , on entend un support de programme d'ordinateur, qui peut consister non seulement en un espace de stockage contenant le programme, tel qu'une disquette ou une cassette, mais aussi en un signal, tel qu'un signal électrique ou optique. L'invention sera mieux comprise et illustrée au moyen d'exemples de modes de réalisation et de mise en oeuvre avantageux, nullement limitatifs, en référence aux figures annexées sur lesquelles : - la figure 1 représente un bloc diagramme illustrant les modifications effectuées sur les blocs lors de l'opération de cryptage. - la figure 2 représente un algorithme de cryptographie (signature numérique) utilisé dans le mode de réalisation préféré de l'invention L'invention est décrite dans le cadre de données codées conformément à la norme de codage vidéo MPEG-4 AVC telle que décrite dans le document ISO/IEC 14496-10 (intitulé en anglais information technology û coding of audio-visual objects û part 10 : advanced video coding ). Conformément aux standards de compression vidéo classiques, tel que MPEG-2, MPEG-4, et H.264, les images d'une séquence d'images peuvent être de type intra (image I), i.e. codées sans référence aux autres images de la séquence ou de type inter (i.e. images P et B), i.e. codées en étant prédites à partir d'autres images de la séquence. Les images sont généralement divisées en macroblocs eux-mêmes divisés en blocs de pixels disjoints de taille N pixels par P pixels, appelés blocs NxP. Ces macroblocs sont eux-mêmes codés selon un mode de codage intra ou inter. Plus précisément tous les macroblocs dans une image I sont codés selon le mode intra alors que les macroblocs dans une image P peuvent être codés selon un mode inter ou intra. Les macroblocs éventuellement prédits sont ensuite transformés bloc par bloc en utilisant une transformée par exemple une transformée en cosinus discrète ( Discrete Cosinus Transform en anglais) référencée DCT ou encore une transformée de Hadamard. Les blocs ainsi transformés sont quantifiés puis codés en utilisant généralement des codes à longueur variable. Dans le cas particulier de la norme MPEG-2 les macroblocs de taille 16 par 16 pixels sont divisés en blocs 8x8 eux mêmes transformés avec une DCT 8x8 en blocs 8x8 transformés. Dans le cas de H.264, les macroblocs de type intra relatifs à la composante de luminance peuvent être codé selon le mode intra4x4 ou selon le mode intral6x16. Un macrobloc intra codé selon le mode intra4x4 est divisé en 16 blocs 4x4 disjoints. Chaque bloc 4x4 est prédit spatialement par rapport à certains blocs voisins situés dans un voisinage causal, i.e. à chaque bloc 4x4 est associé un bloc 4x4 de prédiction généré à partir desdits blocs voisins. Des blocs 4x4 de résidus sont générés en soustrayant de chacun des blocs 4x4, le bloc 4x4 de prédiction associé. Les 16 blocs de résidus ainsi générés sont transformés par une transformée 4x4 entière H qui approxime une DCT 4x4. Un macrobloc intra codé selon le mode intral6x16 est prédit spatialement par rapport à certains macroblocs voisins situés dans un voisinage causal, i.e. un bloc 16x16 de prédiction est généré à partir desdits macroblocs voisins. Un macrobloc de résidus est généré en soustrayant du macrobloc intra le macrobloc de prédiction associé. Ce macrobloc de résidus est divisé en 16 blocs 4x4 disjoints qui sont transformés par la transformée H. Les 16 coefficients basse fréquence (appelés coefficients DC) ainsi obtenus sont à leur tour transformés par une transformée de Hadamard 4x4. Dans la suite du document, la transformée T qui est appliquée sur un macrobloc désigne une transformée 4x4 H appliquée sur chacun des blocs 4x4 du macrobloc si le macrobloc est codé en mode intra4x4 et une transformée 4x4 H appliquée sur chacun des blocs 4x4 du macrobloc suivie d'une transformée de Hadamard appliquée sur les coefficients DC si le macrobloc est codé en mode intral6x16. Nous introduisons ici la notion de ST-block. La terme désigne une concaténation dans l'espace et dans le temps de block codé (en mpeg-4 par exemple) ou, indifféremment, de bloc de pixels. Un ST block est donc un sous ensemble particulier dans l'espace et dans le temps de la vidéo. Il peut correspondre à plusieurs blocs tels que décrits précédemment, à une image entière. Il correspond à l'unité de découpage de la vidéo. Les blocs N, N+1, N+2 représentés en figure 1 représentent chacun un ST-bloc. On applique au ST-bloc N une méthode de cryptographie décrite ultérieurement en référence à la figure 2, comprenant une fonction de hash et un chiffrement asymétrique. A l'issue de l'application de cette méthode de cryptographie, on obtient des données d'authentification de N. Ces données d'authentification sont alors insérées dans le bloc N+1 suivant de la vidéo sur lequel on va également appliquer la méthode cryptographie afin d'en obtenir des données d'authentification que l'on insère dans le bloc N+2 suivant et ainsi de suite. Ceci permet avantageusement de ne pas modifier les blocs après calcul du hash. Sinon, le bloc ne serait plus intègre à l'arrivée. Le bloc suivant est certes modifié mais de manière imperceptible, de part les propriétés du tatouage. Il n'y a donc pas de violation de l'intégrité sémantique du contenu. En outre, cette méthode permet également de contrôler ou de vérifier l'intégrité du chaînage des blocs, c'est-à-dire l'intégrité temporelle de la séquence. Supposons que l'on supprime la suite [N ;N+K] des blocs. La signature extraite de l'image N+K+1 ne correspond pas alors à la signature de l'image N-1, sauf si les images N+K+1 et N-1 étaient originellement identiques ; or, ce cas est extrêmement peu probable à cause de la variabilité intrinsèque des capteurs (bruit thermique etc.) . Ce mécanisme présente l'intérêt de pouvoir être implémenté au fil de l'eau, donc avec un gain mémoire important et une latence de traitement très faible. Une implémentation temps réelle à bas coût est donc envisageable, ce qui n'est pas le cas avec les approches itératives ou globales de l'état de l'art. Cette faible complexité est particulièrement intéressante dans une application de vidéo surveillance puisque, pour assurer un niveau de sécurité maximal, l'algorithme doit être opéré au plus proche du capteur. D'autre part, le découpage en bloc est particulièrement bien adapté au critère de localité définissant l'intégrité souple. L'algorithme permet en effet de déterminer quel(s) bloc(s) ont été altérés. Cette information peut être particulièrement intéressante pour savoir si des zones cruciales de la vidéo ont été altérées, auquel cas on peut suspecter une modification frauduleuse, ou si l'altération porte sur des zones peu importantes de la scène. Notons qu'il est nécessaire de dimensionner la taille des blocs en fonction d'un compromis sécurité / complexité de traitement / localisation des artefacts. La figure 2 représente un algorithme de cryptographie utilisé dans le mode de réalisation préféré de l'invention. Cet algorithme de cryptographie comprend tout d'abord une fonction de hash, étape El, suivie d'une fonction de calcul de signature numérique, étape E2. La fonction de hachage utilisée permet d'obtenir une version condensée du ST-bloc sur laquelle on calcule alors une signature numérique. La fonction de hash utilisée est une fonction de type sha-1 . La fonction de sha-1 prend en entrée les coefficients du macro-bloc et produit en sortie un condensé du bloc présenté en entrée. Dans d'autres modes de réalisation, on peut également prendre une fonction de type SHA-256, SHA-384 ou SHA-512, MD5, Whirepool ou TIGER. Sur ce condensé du ST-bloc N, on applique un algorithme de signature lors de l'étape E2. La signature utilisée est l'algorithme ElGamal. Dans d'autres modes de réalisation, on peut également prendre une fonction de signature de type RSA. On peut dériver de tout algorithme de chiffrement asymétrique un algorithme de signature numérique de la manière suivante : on applique la fonction de déchiffrement D() (utilisant la clé privée KS) au document à signer m, ou préférentiellement à son condensé H(m), pour obtenir la signature S = D(H(m)). Dans les crypto systèmes asymétriques, on utilise une clé de chiffrement (appelée clé publique Kp) différente de la clé de déchiffrement (appelée clé privée ou clé secrète KS). La clé publique est générée à partir de la clé privée : il est facile de générer Kp à partir de Ks, mais extrêmement difficile (en terme de temps de calcul et de ressources) de générer Ks à partir de Kp. La personne désirant chiffrer ou signer ses messages choisit une clé secrète, par exemple en tirant un nombre aléatoire, puis génère la clé publique à partir de cette clé secrète. Elle maintient Ks strictement cachée, et divulgue Kp. Par exemple, pour le système de signature El Gamal, la clé secrète Ks est un nombre x choisi de façon aléatoire. On calcule ensuite y = gX mod[p] à partir d'un nombre p premier et d'un nombre g. La clé publique Kp est alors constituée des nombres (y,p,g). Les propriétés des calculs sur les entiers modulo p font qu `il est extrêmement difficile de retrouver x à partir de (y,p,g). La signature du message m est une paire (r,$) telle que : gm = yr rs mod[p] Pour vérifier la signature, on regarde si l'égalité gm = yrrs mod[p] est vérifiée. On obtient alors en sortie une signature numérique pour le bloc. Cette signature numérique est alors insérée dans le bloc suivant N+1 en utilisant des techniques connues de tatouage. Avant l'insertion de la signature par tatouage, on encode la signature numérique en utilisant un code correcteur d'erreur, de type BCH par exemple. Une technique de tatouage possible consiste à découper le ST-bloc N+1 en un ensemble de k blocs DCT (k étant au moins égal à la taille de la signature numérique), et à appliquer l'algorithme de tatouage suivant : Un procédé de tatouage connu, appliqué par exemple dans l'espace de transformation DCT aux blocs 8x8 transformés notés Bg gT d'une image à tatouer, consiste à modifier éventuellement pour chaque bloc Bg gT la relation d'ordre existant entre les valeurs absolues de deux de ses coefficients DCT, notés F1 et T2. La signature S du ST-bloc N est une suite de j bits {bl,b2...bj}. Le ST-15 bloc N+1 comprend un ensemble de k blocs DCT Bg gT (k>=j). Dans chacun de ces blocs Bg gT on insère un des bits bi de la signature du ST-bloc N. Cette insertion est réalisée par l'application de l'algorithme de tatouage ci-dessous. En général, ces deux coefficients sont sélectionnés pour un bloc donné 20 à l'aide d'une clé secrète. Le bit bi de l'empreinte associé à un bloc Bg gT est inséré dans ce bloc en modifiant la relation d'ordre existant entre les valeurs absolues des deux coefficients F1 et F2. Afin de contrôler la visibilité du tatouage, on ne modifie les coefficients d'un bloc que si la relation suivante est vérifiée: 25 rl û 11-'2 Il Une fois la signature S insérée dans le bloc N+1, on calcule la signature du bloc N+1 comme indiquée précédemment pour le bloc N. Le dernier bloc de la vidéo n'est donc pas protégé, puisque l'on ne peut pas tatouer sa signature dans le bloc suivant, qui n'existe pas. Cependant, si l'on travaille au fil de l'eau sur un flux vidéo, par exemple si on veut certifier l'intégrité d'une vidéo acquise par une caméra de surveillance qui tourne en continu, on n'a jamais de dernier bloc et donc la protection est toujours garantie. Sur une vidéo bornée, il faut veiller àdimensionner la taille des blocs de telle sorte qu'une perte d'intégrité sur le dernier bloc ne soit pas importante. Remarquons que l'on n'a alors pas besoin de procéder dans l'ordre temporel ni spatial ayant la totalité de la vidéo à disposition, on peut réordonner les blocs de la vidéo de n'importe quelle façon (le bloc n+1 ne sera alors pas forcément situé après le bloc n). on peut alors choisir un bloc peu important pour la sémantique de la vidéo comme étant le bloc de fin. Pour vérifier l'intégrité du document m', on calcule son condensé H(m') en appliquant la fonction de hachage. Ensuite, on applique la fonction de chiffrement asymétrique CO (utilisant la clé publique Kp) à la signature S : C(S) = C(D(H(m))) = H(m) On obtient alors le condensé du document initial H(m), que l'on compare avec le condensé H(m') du document suspect m': si les deux sont égaux, alors l'intégrité du document est vérifiée. Revendications 1. Procédé de tatouage numérique comprenant les étapes de - décomposition de la vidéo en blocs (N, N+1,N+2) - calcul (El, E2) pour chaque bloc de ladite vidéo d'une signature numérique (S), caractérisé en ce qu'il comprend en outre une étape d'insertion dans un second bloc (N+1) de ladite signature (S) relative à un premier bloc (N), avant le calcul de ladite signature (S) dudit second bloc (N+1). 2. Procédé de tatouage numérique selon la revendication 1 caractérisé en ce que lors de l'étape de calcul de ladite signature numérique (El, E2), on applique à chaque bloc une fonction de hash et une fonction de chiffrement asymétrique. 3. Procédé selon l'une des revendications précédentes caractérisé en ce que lesdits blocs (N, N+1, N+2) comprennent une suite de sous-blocs (B" représentatifs d'une décomposition fréquentielle de ladite vidéo. 4. Procédé selon l'une des revendications précédentes caractérisé en ce que, lesdits premiers (N) et second blocs (N+1) sont des blocs adjacents temporellement et spatialement. 5. Procédé selon les revendications 3 et 4 caractérisé en ce que, ladite signature (S) étant une suite de bits (bi), on insère ladite signature (S) relative à un premier bloc (N) dans le second bloc (N+1), en insérant dans chacun des sous-blocs (B8 8r) dudit second bloc (N+1) un desdits bit (bi) de ladite signature (S) dudit premier bloc (N). 6. Procédé selon la revendication g 5 caractérisé en ce que, lors de l'insertion desdits bits (bi) dans lesdits sous-blocs (Bg 8T ), on modifie l'ordre de coefficients (I'1,F2) dudit sous-bloc (B8 8T ). 7. Procédé selon la revendication 6 caractérisé en ce que l'on choisit les coefficients (F1,r'2) à modifier de telle sorte que la valeur absolue de la différence de leur valeurs absolues soit inférieure à un seuil prédéterminé (Th). 8. Procédé selon la revendication 3 caractérisé en ce que lesdits sous-blocs (B$T) sont représentatifs d'une décomposition par la transformation de Fourrier (DCT) de ladite vidéo.