Brevet FR2904130A1 — publié le 20080125

PROCEDES ET DISPOSITIFS DE SECURISATION ET D'AUTHENTIFICATION DE DOCUMENTS 10 La présente invention concerne des procédés et des dispositifs de sécurisation et d'authentification de documents. Elle s'applique, notamment, à la détection de copie de documents, emballages, pièces manufacturées, pièces moulées et cartes, par exemple d'identification ou bancaires, le terme de document concernant tout support matériel d'un information. 15 Un code à barres est une représentation d'information visuelle sur une surface, lisible par une machine. A l'origine, les codes à barres représentaient l'information dans la largeur de lignes parallèles et la largeur d'espaces entre les lignes, ce qui limitait la quantité d'information par unité de surface. Ces codes à barres sont, en conséquence, appelés codes à barres à une dimension ou 1 D . Pour augmenter cette quantité d'information, les codes 20 à barres ont évolué vers des motifs de points ou de cercles concentriques. Les codes à barres sont largement utilisés pour réaliser une capture d'identification automatique rapide et fiable en vue d'un traitement automatique. Les codes à barres peuvent être lus par des lecteurs optiques portables ou des scanners munis de logiciels adaptés. 25 Les codes à barres matriciels en deux dimensions, appelés codes à barres 2D (en anglais "2D barcode") sont des supports d'information qui sont généralement constitués d'éléments carrés arrangés dans un périmètre défini, chaque élément ou cellule étant prenant l'une de deux couleurs prédéfinies (par exemple noir et blanc), selon la valeur du symbole binaire à décrire dans cette cellule. Aussi, un code à barre 2D permet de 30 représenter, à surface égale, une bien plus grande quantité d'information qu'un code à barres en une dimension. Le code à barres 2D est donc souvent préféré au code à barres en une dimension, bien que ses systèmes de lecture soient plus complexes et plus onéreux et permettent une lecture généralement moins souple, en ce qui concerne le positionnement respectif du 35 lecteur et du code à barres. 2904130 2 Ces codes à barres 2D sont largement utilisés pour stocker ou transmettre de l'information sur des objets passifs, par exemple du papier, une carte d'identité, des autocollants, du métal, du verre ou du plastique. Un système de création de code à barres en 2D reçoit, en entrée, de l'information, 5 généralement une séquence de symboles d'un alphabet prédéfini, par exemple l'alphabet ascii à 128 symboles ou le l'alphabet alphanumérique à 36 symboles ou un alphabet binaire. En sortie, ce système fournit une image numérique, qui est ensuite imprimée sur un objet que l'on appelle, au sens de la présente invention, un document . Un système d'acquisition d'image connecté à une unité de traitement est généralement utilisée pour lire le code à barres et restituer l'information contenue dans le code à barres 2D. Un code à barre, qu'il soit 1 D ou 2D, sert à transmettre de l'information d'un émetteur vers un récepteur. Pour de nombreuses applications, ce processus de transmission de l'information doit se faire de façon sécuritaire, ce qui implique notamment que (1) le message reste confidentiel (on ne veut pas qu'il soit lu par des tiers), (2) que le message puisse être authentifié (on veut s'assurer de sa provenance), (3) que l'intégrité du message puisse être vérifiée (on veut s'assurer que le message n'a pas été modifié ou falsifié), (4) et que le message ne puisse être répudié par l'émetteur (on désire éviter la situation ou l'auteur d'un message nierait l'avoir envoyé). Ces différents niveaux de sécurité peuvent être atteint en encryptant, ou chiffrant, le message, avec une clé de chiffrement connue seulement des personnes ou entités autorisées à lire ou à écrire les messages. Des méthodes de cryptographie symétrique et asymétrique sont généralement combinées, si l'on désire atteindre plusieurs des propriétés de sécurité citées plus haut. Avec le chiffrement du message, un code à barres 2D permet de conférer à un document physique des propriétés de sécurité qui à l'origine, ont été conçues pour les messages et documents de nature digitale. Ainsi, un code à barres 2D peuvent aider à éviter ou à détecter la falsification de documents. Par exemple, si de l'information textuelle imprimée en clair sur le document est manipulée, par exemple la date d'expiration ou de péremption du document, ou encore les données personnelles d'une carte d'identité, la même information chiffrée dans le code à barres 2D ne peut pas être manipulée aisément en correspondance avec la manipulation de l'information textuelle et le code à barres 2D permet donc de détecter la manipulation de l'information textuelle. Un code à barres 2D peut aussi être utilisé pour la traçabilité et le suivi de documents. L'origine, la destination et/ou le chemin de distribution du document peuvent être chiffrées dans le code à barres 2D imprimé sur ce document et permettre de vérifier si le document est dans une localisation légitime du chemin de distribution. Le chiffrement de ces informations est dans ce cas essentiel, car sinon elles pourraient être falsifiées ou même sans aucun rapport avec les informations originales. 2904130 3 Grâce à l'utilisation de codes à barres, les méthodes digitales de cryptographie peuvent être appliquées à des documents analogiques (du monde réel) et passifs (ne pouvant réagir à un signal), conférant ainsi à ces documents des propriétés de sécurité qui équivalent aux propriétés de sécurité des documents ou informations digitales. 5 Cependant, les codes à barres 2D n'offrent aucune protection contre la copie à l'identique, dite copie servile . Chaque cellule du code à barres 2D peut normalement être identifiée et lue avec une grande précision et une copie à l'identique de chaque code à barres peut, par conséquent être parfaitement réalisée sans difficulté. Ainsi, la question essentielle de l'authentification de la source (l'origine) du document ne peut être traitée 10 intégralement : un code à barre 2D chiffré ne permet pas de dire si le document qui le contient est un original ou une reproduction du document original . Aussi, les propriétaires de droits de propriété intellectuelle, notamment des marques, et les organismes qui génèrent des documents officiels et qui ont adopté les codes à barres 2D chiffrés ou d'autres supports d'information, tels que les étiquettes électroniques RFID 15 (acronyme de radiofréquence identification pour identification radiofréquence), pour les aider à résoudre leurs problèmes de falsification, doivent cependant utiliser des moyens d'authentification (des authentifiants ) radicalement différents, tels que des hologrammes, des encres de sécurité, des micro-textes, ou des motifs dits de guilloche (lignes fines et courbes interférant avec les systèmes de reproduction numérique, par exemple par effet de 20 moiré), pour éviter ou détecter la contrefaçon servile. Ces moyens ont cependant leurs limites, qui deviennent de plus en plus flagrantes avec la diffusion chaque jour plus rapide de la technologie, permettant aux contrefacteurs de copier ces authentifiants de mieux en mieux et avec un délai de plus en plus court. Ainsi, les hologrammes sont de mieux en mieux copiés par les contrefacteurs et les utilisateurs 25 terminaux (en anglais end-users ) n'ont pas les capacités ni la motivation de vérifier ces hologrammes. Les encres de sécurité, les motifs dits "de guilloche et les micro-textes ne sont pas rentables, sont difficiles à insérer dans les chaînes de production ou d'information des entreprises et n'offrent pas le niveau de sécurité généralement requis. De plus, ils peuvent être difficiles à identifier et n'offrent pas de réelles garanties de sécurité contre les 30 contrefacteurs déterminés. Lorsque c'est possible, l'information lue est utilisée en combinaison avec une base de données pour déterminer l'authenticité d'un document. Ainsi, on peut, par exemple, indirectement détecter une contrefaçon, si un autre document comportant la même information a été détecté auparavant, ou dans un lieu différent. Notons qu'on suppose ici que 35 chaque document comporte une information unique, ce qui n'est pas possible avec tous les moyens de production de document, notamment l'impression offset. Cependant, l'implémentation de ce type de solution est onéreuse et un accès rapide à la base de 2904130 4 données peut ne pas être possible, notamment lorsque le système de lecture est portable. Enfin, même un accès à une base de données ne résout pas le problème de savoir lequel de deux documents apparemment identiques est une contrefaçon. Les motifs de détection de copies (en anglais copy detection patterns ) sont un 5 type de motifs d'authentification visibles, qui ont généralement l'apparence du bruit et sont générés à partir d'une clé, de manière pseudo-aléatoire. Ces motifs de détection de copie sont essentiellement utilisés pour distinguer des documents imprimés originaux et des documents imprimées copies des premiers, par exemple par photocopie ou utilisation d'un scanner et d'une imprimante. Cette technique fonctionne en comparant une image captée 10 d'un motif de détection de copie analogique, c'est-à-dire du monde réel, avec une représentation numérique originale de ce motif pour mesurer le degré de différence entre les deux. Le principe sous-jacent est que le degré de différence est plus élevé pour l'image captée d'un motif qui n'a pas été produit à partir d'un motif analogique original, du fait de la dégradation lors de la copie. 15 Pour véhiculer de l'information, on découpe une image pseudo-aléatoire en bloc et on inverse les couleurs des pixels de chaque bloc qui représente l'une des valeurs binaires en laissant inchangés les pixels de chaque bloc qui représente l'autre des valeurs binaires. D'autres codages de valeurs binaires par des blocs peuvent aussi être utilisés. En pratique, les blocs doivent être assez grands pour que la lecture de la valeur binaire qu'ils portent soit 20 fiable et, en conséquence, la quantité d'information véhiculée par l'image est limitée. Cette technique possède, néanmoins, des inconvénients. En particulier, elle est optimisée pour la détection de copie mais ne permet pas de véhiculer une grande quantité d'information pour une surface donnée ; or de nombreuses applications impliquent que les documents transportent une information sécurisée importante, alors que des contraintes 25 sévères (esthétique, espace disponible, image de marque, etc.) limitent la surface disponible pour la détection de copie. La mise en oeuvre de cette technique nécessitant une comparaison entre deux images, une mise a l'échelle, coûteuse en nombre de calculs, s'avère nécessaire pour le motif capté. Cette mise à l'échelle peut également entraîner une dégradation de l'image modifiée, ce qui peut dans certaines circonstances avoir pour effet de 30 limiter la détectabilité des copies. De plus, le lecteur doit régénérer et stocker en mémoire le motif de détection de copie durant la phase de comparaison d'image, ce qui est une opération à la fois coûteuse et potentiellement dangereuse, puisqu'un malfaiteur pourrait être en mesure de lire la mémoire, ce qui lui permettrait de reproduire à l'identique le motif de détection de copie. 35 La présente invention vise à remédier à la fois aux inconvénients des codes à barres 2D et à ceux des motifs de détection de copies. En particulier, un objectif de la présente 2904130 5 invention est de fournir les moyens et les étapes de réalisation d'une matrice d'information qui permet la détection de copies ou de documents contrefaits. A cet effet, la présente invention vise, selon un premier aspect, un procédé de sécurisation de document, qui comporte : 5 une étape de génération d'une matrice d'informations numérique représentative d'un message comportant des redondances et - une étape de marquage dudit document avec ladite matrice d'informations numérique pour former une marque comportant, du fait des conditions physiques de marquage, des erreurs au moins partiellement imprévisibles, la quantité desdites erreurs étant 10 susceptibles d'être estimée en mettant en oeuvre lesdites redondances. En effet, l'inventeur a découvert que toute copie ou impression d'une information matricielle imprimée suffisamment petit présente une quantité d'erreur qui croît avec la finesse de l'impression et que l'insertion de redondances, par exemple de codes de correction d'erreurs dans l'information matricielle permettait de déterminer s'il s'agissait 15 d'une copie ou d'un original : l'insertion de redondances permet de lire le message sur un canal bruité et/ou de mesurer la quantité d'erreur du message encodé, permettant par la même de déterminer s'il s'agit d'une copie ou d'un original. On observe que les dégradations dues à l'impression ou à la copie dépendent de nombreux facteurs, tels que la qualité de l'impression, du support et de la résolution d'image 20 mise en oeuvre lors de l'étape de marquage ou de la capture d'image effectuée pour réaliser une copie. Selon des caractéristiques particulières, au cours de l'étape de génération, lesdites redondances comportent des codes de correction d'erreurs. Grâce à ces dispositions, le contenu de la marque permet de corriger les erreurs 25 dues à l'étape de marquage et de récupérer le message d'origine. Selon des caractéristiques particulières, au cours de l'étape de génération, lesdites redondances comportent des codes de détection d'erreurs. Grâce à chacune de ces dispositions, le nombre d'erreurs affectant la marque peut être déterminé et servir de base à la détection d'une copie de ladite marque. 30 Selon des caractéristiques particulières, ladite étape de marquage est une étape d'impression de ladite matrice sur ledit document, avec une dimension de points de la matrice provoquant des erreurs lors de sa copie. Selon des caractéristiques particulières, au cours de l'étape de génération d'une matrice d'informations, ladite matrice d'information est représentative, au niveau de chaque 35 cellule élémentaire et indépendamment des cellules élémentaires voisines, du message comportant les redondances. 2904130 6 On augmente ainsi la quantité d'information véhiculée par la marque, par rapport à la représentation de valeurs par des blocs de points. Selon des caractéristiques particulières, au cours de l'étape de marquage, on génère au moins cinq pour cent d'erreurs ponctuelles et la mise en oeuvre des redondances permet 5 de compter lesdites erreurs ponctuelles. En effet, l'inventeur a découvert qu'un taux élevé d'erreur dès l'étape de marquage était plus facile à mettre en oeuvre pour discriminer une copie de la marque, copie dont le taux d'erreur est une fonction du taux d'erreur de la marque initiale. Selon des caractéristiques particulières, au cours de l'étape de génération de la 10 matrice d'informations, les redondances sont adaptées à permettre la détection d'erreurs de marquage ponctuelles dans la marque réalisée au cours de l'étape de marquage. Selon des caractéristiques particulières, au cours de l'étape de marquage, on ajoute à la marque de la matrice d'informations, une marque complémentaire robuste portant un message. 15 Grâce à ces dispositions, le message porté par la marque complémentaire est plus robuste aux dégradations provoquées par une copie et peut donc être lue même lorsque ces dégradations sont importantes, par exemple après plusieurs copies successives. Selon des caractéristiques particulières, au cours de l'étape de génération de la matrice d'informations, on chiffre une représentation dudit message avec une clé de 20 chiffrement. Selon des caractéristiques particulières, au cours de l'étape de génération de la matrice d'informations, on encode une représentation dudit message pour générer lesdites redondances. Selon des caractéristiques particulières, au cours de l'étape de génération de la 25 matrice d'informations, on réplique une représentation dudit message pour former plusieurs exemplaires identiques. On crée ainsi, très simplement, des redondances permettant la détection d'erreurs lors de la lecture de la marque. Selon des caractéristiques particulières, au cours de l'étape de génération de la 30 matrice d'informations, on permute des positions d'éléments de représentation dudit message en fonction d'une clé secrète. Selon des caractéristiques particulières, au cours de l'étape de génération de la matrice d'informations, on permute partiellement des positions d'éléments de représentation dudit message en fonction d'une clé secrète différentes de la clé secrète de la première 35 permutation. Selon des caractéristiques particulières, au cours de l'étape de génération de la matrice d'informations, on applique, à au moins une partie des éléments d'une 2904130 7 représentation dudit message, une fonction de substitution de valeur dépendant, d'une part, de la valeur de l'élément et, d'autre part, de la valeur d'un élément d'une clé secrète. Selon des caractéristiques particulières, au cours de l'étape de génération de la matrice d'informations, on applique, à au moins une partie des éléments d'une 5 représentation dudit message, une fonction de substitution partielle de valeur dépendant, d'une part, de la valeur de l'élément et, d'autre part, de la valeur d'un élément d'une clé secrète différente de la clé secrète de la première fonction de substitution. Grâce à chacune de ces dispositions, le message est doté de sécurités contre une lecture par un tiers non autorisé. 10 Selon des caractéristiques particulières, au cours de l'étape de génération de la matrice d'informations, on met en oeuvre au moins une clé telle que la clé associée nécessaire pour récupérer le message soit différente. Ainsi, la clé utilisée pour déterminer l'authenticité du document ou produit possédant une marque représentative de ladite matrice d'informations ne peut pas être utilisée pour 15 générer une autre matrice d'informations contenant un message différent. Selon des caractéristiques particulières, au cours de l'étape de génération de la matrice d'informations, on génère une matrice d'information numérique représentative d'au moins deux messages dotés de moyens de sécurité différents. Grâce à ces dispositions, des personnes ou systèmes informatiques différents 20 peuvent disposer d'autorisation et de moyens de lecture différents, par exemple pour séparer les fonctions d'authentification et les fonctions de détermination de l'origine de produits contrefaits. Selon des caractéristiques particulières, l'un desdits messages représente des informations nécessaires pour, à la lecture de la matrice d'informations, déterminer l'autre 25 message et/ou détecter les erreurs de l'autre message. Selon des caractéristiques particulières, l'un desdits messages représente au moins une clé nécessaire à la lecture de l'autre message. Selon des caractéristiques particulières, au cours de l'étape de génération de la matrice d'informations, on ajoute à une représentation du message, un hachage dudit 30 message. Selon un deuxième aspect, la présente invention vise un procédé d'authentification de document, qui comporte : - une étape de capture d'image d'une matrice d'information, - une étape de reconstitution d'un message en fonction de ladite image, en mettant en 35 oeuvre des redondances associées audit message dans ladite matrice d'informations, -une étape de mesure de la quantité d'erreurs dans ledit message et - une étape de décision de l'authenticité, en fonction de ladite quantité d'erreurs. 2904130 8 Selon des caractéristiques particulières, au cours de l'étape de reconstitution, lesdites redondances comportent des codes de correction d'erreurs. Selon des caractéristiques particulières, au cours de l'étape de reconstitution, lesdites redondances comportent des codes de détection d'erreurs. 5 Selon des caractéristiques particulières, au cours de l'étape de reconstitution, lesdites redondances permettent de compter au moins cinq pour cent d'erreurs ponctuelles dans ledit message. Selon des caractéristiques particulières, au cours de l'étape de reconstitution, on lit un message complémentaire robuste positionnée en dehors de la matrice d'informations. Par 10 exemple, le message robuste est positionné à distance de la matrice d'informations, par exemple sous forme d'un code à barres en deux dimensions, en bordure de la matrice d'informations ou sur un étiquette électronique. Selon des caractéristiques particulières, au cours de l'étape de reconstitution, on applique, à au moins une partie des éléments d'une représentation dudit message, une 15 fonction de substitution de valeur dépendant, d'une part, de la valeur de l'élément et, d'autre part, de la valeur d'un élément d'une clé secrète. Selon des caractéristiques particulières, au cours de l'étape de reconstitution, on permute des positions d'éléments de représentation dudit message en fonction d'une clé secrète. 20 Selon des caractéristiques particulières, au cours de l'étape de reconstitution, on accumule des valeurs lues sur différents éléments d'une représentation dudit message. Selon des caractéristiques particulières, au cours de l'étape de reconstitution, on décode une représentation dudit message. Selon des caractéristiques particulières, au cours de l'étape de reconstitution, on 25 déchiffre une représentation dudit message avec une clé de déchiffrement. Selon des caractéristiques particulières, au cours de l'étape de reconstitution, on met en oeuvre au moins une clé différente de la clé associée mise en oeuvre au cours de la génération de ladite matrice d'information. Selon des caractéristiques particulières, au cours de l'étape de reconstitution, on 30 reconstitue au moins deux messages dotés de moyens de sécurité différents. Selon des caractéristiques particulières, l'un desdits messages représente des informations nécessaires pour déterminer l'autre message. Les avantages, buts et caractéristiques essentielles ou particulières de ce procédé d'authentification, tels que succinctement exposés ci-dessus, étant similaires et/ou corrélatifs 35 à ceux du procédé de sécurisation tel que succinctement exposé ci-dessus, ils ne sont pas rappelés ici. 2904130 9 Selon des caractéristiques particulières, l'un desdits messages représente une quantité d'erreurs limite à mettre en oeuvre au cours de l'étape de décision. Grâce à ces dispositions, le seuil de détection d'une copie peut être embarqué dans la marque, par exemple sous la forme d'une impression sur chaque document ou produit 5 marqué, après mesure, sur la chaîne d'impression, de la quantité d'erreurs affectant ladite marque. Selon des caractéristiques particulières, au cours de l'étape de reconstitution, on détermine un hachage dudit message. Grâce à ces dispositions, même si le lecteur local est examiné par un tiers non 10 autorisé, ce tiers ne peut pas reconstituer l'intégralité des fonctions d'authentification. Selon des caractéristiques particulières, une partie de l'étape de reconstitution est effectuée par un lecteur sur le lieu de capture d'image de la matrice d'informations et une autre partie de l'étape de reconstitution est effectuée par un système informatique distant du lieu de capture d'image de la matrice d'informations. 15 Grâce à ces dispositions, les clés mises en oeuvre pour l'authentification peuvent restées dans un système informatique distant sécurisé et la quantité de données à transmettre à ce système informatique distant peut être limitée par des traitements effectués sur le lieu de capture d'images de la matrice d'informations, par un lecteur. Selon un troisième aspect, la présente invention vise un dispositif de sécurisation de 20 document, qui comporte : - un moyen de génération d'une matrice d'informations numérique représentative d'un message comportant des redondances et - un moyen de marquage dudit document avec ladite matrice d'informations numérique adapté à former une marque comportant, du fait des conditions physiques de marquage, 25 des erreurs aléatoires imprévisibles. Selon un quatrième aspect, la présente invention vise un dispositif d'authentification de document, qui comporte : - un moyen de capture d'image d'une matrice d'information, - un moyen de reconstitution d'un message en fonction de ladite image, en mettant en 30 oeuvre des redondances associées audit message dans la matrice d'informations, - un moyen de mesure de la quantité d'erreurs dans ledit message, en mettant en oeuvre des codes de détection d'erreur insérés dans ledit message et - un moyen de décision de l'authenticité, en fonction de ladite quantité d'erreurs. Les avantages, buts et caractéristiques particulières de ces dispositifs étant similaires 35 à ceux des procédés correspondants, ils ne sont pas rappelés ici. 2904130 10 D'autres avantages, buts et caractéristiques de la présente invention ressortiront de la description qui va suivre, faite, dans un but explicatif et nullement limitatif, en regard des dessins annexés, dans lesquels : la figure 1 représente, schématiquement, sous forme de logigramme, des étapes de 5 détection d'impression et d'acquisition d'informations pour un original et pour une copie dudit original ; - la figure 2 représente, schématiquement, sous forme d'un logigramme, des étapes mises en oeuvre pour le marquage d'un document ou produits en vue de pouvoir l'authentifier ultérieurement, 10 la figure 3 représente, schématiquement, sous forme d'un logigramme, des étapes mises en oeuvre pour l'authentification d'un document ou produits doté d'un marquage réalisé par la mise en oeuvre des étapes illustrées en figure 2, - les figures 4A et 4B représentent des matrices d'informations pour marquer un objet et 15 - les figures 5A et 5B représentent, respectivement, une image captée d'une marque authentique d'une matrice d'informations et d'une marque recopiée de ladite matrice d'informations. Dans toute la description, on utilisera indifféremment les termes de chiffrement et d' encryption . 20 Avant de donner le détail de différents modes de réalisation particuliers de la présente invention, on donne, ci-après, des définitions qui seront utilisées dans la description. - matrice d'informations : il s'agit d'une représentation physique d'un message, généralement apposée sur une surface unie (à la différence des watermarks ou 25 stéganographies qui modifient les valeurs de pixels d'un décor à imprimer), lisible par une machine (en anglais machine-readable representation of information ). La définition de la matrice d'informations englobe, par exemple, les codes à barres 2D, les codes à barres à une dimension et d'autre moyens de représentation de l'information qui sont moins intrusifs, tel que les Dataglyphs (marquage de 30 données); - cellule : il s'agit d'un élément de la matrice d'information qui représente une unité d'information ; document : il s'agit de n'importe quel objet (physique) portant une matrice d'information ; 35 - marquage ou impression : tout processus par laquelle on passe d'une image digitale (incluant une matrice d'information, un document..) à sa représentation dans le monde réel, cette représentation étant généralement faite sur une surface : ceci 2904130 11 inclut, de manière non-exclusive, l'impression à jet d'encre, laser, offset, thermique, ainsi que l'embossage, la gravure laser, la génération d'hologrammes. Des processus plus complexes, tel que le moulage, dans lequel la matrice d'information est d'abord gravée dans le moule, puis moulée sur chaque objet, sont également 5 inclus (notons qu'une matrice d'information moulée pet être vue comme ayant troisdimensions dans le monde physique même si sa représentation digitale en comporte deux. Notons encore que plusieurs des procédés mentionnés incluent plusieurs transformation, par exemple l'impression offset classique (contrairement au offset computer-to-plate ), inclut la création d'un film, ledit film sevrant a créer une 10 plaque, ladite plaque étant utilisée dans l'impression. D'autres procédés permettent également d'imprimer une information dans le domaine non-visible, soit en utilisant des fréquences à l'extérieur du spectre visible, ou encore à inscrivant l'information à l'intérieur de la surface, etc, et - capture : tout processus par lequel on obtient une représentation digitale du 15 monde réel, incluant la représentation digitale d'un document physique contenant une matrice d'information. En guise d'introduction à la description de modes de réalisation particuliers du procédé et du dispositif objets de la présente invention, on rappelle que la dégradation d'une matrice d'information a pour conséquence que les contenus de certaines cellules peuvent ne 20 pas être correctement décodés. Chaque étape de la création de la matrice d'information est effectuée dans le but que le message d'origine soit lisible sans erreur, même si, et c'est un effet désiré, la lecture initiale de la matrice d'informations est entachée d'erreurs. En particulier, un des buts de cette création de matrice d'information est d'utiliser le nombre ou le taux d'erreurs des 25 messages encodés, répliqués, permutés ou brouillés pour déterminer l'authenticité d'une marque de la matrice d'informations et donc du document qui la porte. En effet, le taux de cette dégradation peut être ajusté en fonction des caractéristiques de l'impression, de telle sorte que la production d'une copie entraîne des erreurs supplémentaires, résultant en un taux d'erreur en moyenne plus élevé lors de la lecture 30 d'une copie, que lors de la lecture d'un original. Pour comprendre pourquoi une mesure du taux d'erreurs du message peut suffire à déterminer si un document est un original ou une copie, une analogie avec les systèmes de communication s'avère utile. En effet, le passage du message codé, brouillé à la matrice d'information qui le représente n'est autre qu'une modulation du message, cette modulation 35 étant définie comme le processus par lequel le message est transformé de sa forme originale en une forme adaptée à la transmission sur un canal. Ce canal de communication, soit le média de transmission d'information qui relie la source au destinataire et permet 2904130 12 l'acheminement du message, diffère selon que la matrice d'information captée est une matrice d'information originale captée ou une matrice d'information copiée captée. Le canal de communication peut varier : on distingue ainsi le canal de communication d'un original et le canal de communication d'une copie . Cette différence peut se mesurer en terme de 5 rapport signal/bruit , ce rapport étant plus faible pour une matrice d'information copiée captée. Le message codé extrait d'une matrice d'information copiée captée aura plus d'erreurs que le message codé extrait d'une matrice d'information originale captée. Le nombre ou le taux d'erreurs détectés sont, conformément à la présente invention, utilisés 10 pour différencier une copie d'un original. Le canal de communication d'un original et le canal de communication d'une copie sont avantageusement décrit en termes des sous-canaux qui les composent, ceux-ci étant en partie différent dans les deux cas. Dans l'exposé ci-dessous, chaque sous-canal du canal de transmission du signal, c'est-à-dire de la matrice d'information, est une transformation 15 analogique à numérique ou numérique à analogique. La figure 1 montre les canaux de communication pour une matrice d'information originale captée et pour une matrice d'information copiée captée. Le premier canal comporte un sous-canal 105 de transformation de la matrice d'information générée numériquement en sa marque dans le monde réel, donc analogique, sur le document à sécuriser, c'est-à-dire 20 sur le document original et un second sous-canal 110 correspondant à la lecture de cette marque. Dans le cas d'une copie, s'ajoutent à ces deux premiers canaux, un troisième sous-canal 115 de création est utilisé pour reproduire une marque de la marque lue, dans le monde réel et un quatrième sous-canal 120 est utilisé pour lire cette trace pour en déterminer l'authenticité. 25 On observe qu'en variante, il est possible de réaliser la deuxième trace en fonction de la première, de manière purement analogique (par exemple par photocopie analogique ou photographie analogique) mais ce cinquième sous-canal analogique-analogique 125, représente, en général, une dégradation du signal supérieure à la dégradation due au passage par une lecture avec un capteur d'image de haute résolution. 30 Les troisième, quatrième et/ou cinquième sous-canaux imposent une dégradation additionnelle du message qui permet le discernement d'un original, dont un exemple d'image 505 est représenté en figure 5A, et d'une copie dont un exemple d'image 510 correspondant à la même matrice d'informations que l'image 505, est représenté en figure 5B. Comme on le voit en comparant les images 505 et 510, la copie comporte une plus faible finesse de détail, 35 la dégradation entre ces images correspondant à des erreurs de reproduction de la marque de la matrice d'informations originale. 2904130 13 Les contrefacteurs cherchant à minimiser leurs coûts de revient, les sous-canaux utilisés pour réaliser la copie, et, en particulier les sous-canaux menant à la trace analogique, ici les troisième ou cinquième canaux, sont parfois réalisés avec de faibles qualités de marquage ou d'impression. Le message contenu dans les copies ainsi produites 5 ont alors un rapport signal/bruit significativement plus faible, ce qui permet de détecter les dites copies encore plus aisément. Cependant, il est à noter que les cas ou le contrefacteur utilise des moyens d'impression de qualité égale, voire supérieure à ceux utilisés pour la production des document originaux, ne posent en général pas de problème particuliers. En effet, le contrefacteur ne peut éviter complètement l'ajout de bruit, résultant en des erreurs 10 additionnelles lors de la démodulation de la matrice d'information, lors de l'impression de la copie. Le rapport signal/bruit sera donc réduit par cette opération. Cette différence de rapport signal/bruit sera, dans la plupart des cas, suffisantes pour discerner les matrice d'information originale captées des matrice d'information copiée captées. Préférentiellement, on conçoit la matrice d'information et, en particulier, la finesse de 15 ses détails pour que l'impression, dont les caractéristiques sont à priori connues, soit de telle sorte que la matrice d'information imprimée sera dégradée. Aussi, le message encodé contient des erreurs, à la lecture, dans une proportion appréciable, sans être excessive. Ainsi, une dégradation additionnelle ne pourra être évitée par le contrefacteur lors de l'impression de la copie. On précise que la dégradation durant l'impression de l'original doit 20 être naturelle et aléatoire, c'est-à-dire causée par des phénomènes physique de nature localement imprévisible, dispersion de l'encre dans le papier, instabilité naturelle de la machine d'impression, etc., et non pas provoquée. Cette dégradation est telle que le contrefacteur ne pourra corriger les erreurs, la perte d'information étant par nature irréversible, ni éviter les erreurs additionnelles, l'impression de la copie étant elle-même 25 soumise aux mêmes phénomènes physiques. Pour augmenter la sécurité contre la contrefaçon, on fait dépendre la création de la matrice d'information d'un ou plusieurs paramètres tenu secrets, appelé(s) clé(s) secrète(s) . II suffit alors de changer de clé secrète pour renouveler le niveau de sécurité initiale, au cas où la clé précédente aurait été découverte par un tiers. Pour simplifier la description, on 30 parler, en général, d'une clé secrète, étant entendu que cette clé peut elle-même être composée de plusieurs clés secrètes. La clé secrète est utilisée pour chiffrer ou encrypter le message initial, préalablement à son encodage. Ce type de chiffrement pouvant bénéficier d'un effet d'avalanche, les erreurs lors de la démodulation, ou lecture de la matrice, étant, dans la plupart des cas, 35 éliminées par le code correcteur d'erreur, deux matrices d'information générées à partir de la même clé, et dont les messages ne différeraient que par un bit, distance minimale entre deux messages différents, apparaîtront comme étant radicalement différentes. De même, 2904130 14 pour deux matrices d'information comportant des messages identiques, mais générées à partir de clés différentes. La première propriété est particulièrement avantageuse, car le contrefacteur ne pourra ainsi détecter aucun motif récurrent qui serait éventuellement exploitable pour la création d'une contrefaçon, par l'analyse de matrices d'informations 5 provenant de la même clé mais comportant des messages différents. Notons qu'il est également possible d'ajouter un nombre aléatoire au message, de telle sorte que deux matrices d'information générées avec la même clé et le même message, mais ayant des nombres aléatoires différents ajoutés au message, apparaîtront également comme étant radicalement différentes. 10 Une matrice d'informations peut être vue comme le résultat d'une modulation d'un message représenté par des symboles d'un alphabet, par exemple binaire. Dans des modes de réalisation particuliers, des symboles de synchronisation, d'alignement ou de positionnement, sont ajoutés au niveau du message ou des motifs d'aide à la localisation sont insérés au niveau de la matrice d'information. 15 Le logigramme illustré en figure 2 expose différentes étapes de génération d'une matrice d'information et de marquage d'un document, selon un mode particulier de réalisation du procédé objet de la présente invention. Après le démarrage 205, on reçoit, au cours d'une étape 210, un message à faire porter par un document, ce message étant généralement fonction d'un identifiant du 20 document, et, au cours d'une étape 215, au moins une clé secrète de chiffrement et/ou de brouillage. Le message d'origine représente, par exemple, une désignation du document, le ou les propriétaires des droits de propriété intellectuelle attachés, un ordre de fabrication, une date de fabrication, une destination du document, un prestataire de fabrication. II est 25 constitué selon des techniques connues en soi. Le message d'origine est représenté dans un alphabet prédéfini, par exemple en caractères alphanumériques. Au cours d'une étape 215, on chiffre le message, avec un clé symétrique ou, préférentiellement, avec une clé asymétrique, par exemple de type bi-clé de l'infrastructure à clés publiques PKI (acronyme de public key infrastructure ) pour fournir un message 30 chiffré. Ainsi, pour accroître le niveau de sécurité du message, on chiffre, ou encrypte, le message de telle manière qu'une variation d'une seule information binaire du message, en entrée de chiffrement, fait varier une grande quantité d'informations binaires en sortie de chiffrement. Le chiffrement opère en général sur des blocs de bits, de taille fixée, par exemple 64 35 bits ou 128 bits. L'algorithme de chiffrement DES (acronyme de data encryption standard pour standard de chiffrement de données) avec une clé de 56 bits et une taille de bloc de message de 64 bits, le triple-DES, avec une clé de 168 bits et une taille de bloc de message 2904130 15 de 64 bits, et l'AES (acronyme de advanced encryption standard pour standard de chiffrement avancé), avec une clé de 128, 192 ou 256 bits et une taille de bloc de message de 128 bits, peuvent être utilisés car ils sont très utilisés, et reconnus comme étant résistant aux attaques. Cependant, de nombreux autres algorithmes de chiffrement, par bloc ou 5 séquentiels, peuvent également être utilisés. Notons que les algorithmes de chiffrement par bloc fournissent, en principe, des messages chiffrés de taille égale au message initial, pour autant que celui-ci soit un multiple de la taille de bloc. L'AES est reconnu comme offrant le niveau de sécurité le plus élevé, mais notons qu'il opère sur des blocs de message de taille minimale de 128 bits. Si le message à 10 transmettre est de taille multiple de 64 bits, on utilisera plutôt un algorithme comme Triple-DES. Finalement, il est possible de créer un nouvel algorithme de chiffrement, notamment si l'on est limité à de très petite taille de message, par exemple 32 bits. Notons toutefois que ces algorithmes auront une sécurité limitée du fait du faible nombre de messages chiffrés différents. 15 Notons toutefois que les attaques cryptographiques de recherche de clé ne peuvent en principe pas être appliquée, du moins dans leur forme classique, en cryptographie. En effet, le contrefacteur n'a accès, en principe, qu'à une image capturée de la matrice d'information originale imprimé, et il faudrait qu'il ait au moins accès au message décrypté pour lancer une attaque cryptographique. Or le message ne peut être décrypté que s'il a été 20 débrouillé, ce qui nécessite de chercher la clé de brouillage. Les méthodes de chiffrement précédemment décrites sont dites symétriques c'est-à-dire que la même clé sera utilisée pour le déchiffrement. L'acheminement et le stockage des clés au module de détection doit se faire de façon très sécuritaire, car un adversaire entrant en possession de cette clé serait en mesure de créer des messages 25 chiffrés qui apparaîtraient comme légitimes. Ces risques peuvent être cependant limités par l'usage de méthode de chiffrement asymétriques, dans lesquelles la clé de déchiffrement est différente de la clé de chiffrement. En effet, la clé de déchiffrement ne permettant pas de chiffrer des messages, un adversaire en possession de cette clé ne pourra générer de nouveaux messages valides, ni donc de matrices d'information comportant un message 30 différent. Au cours d'une étape 220, on encode le message chiffré pour générer un message chiffré encodé. Préférentiellement l'encodage met en oeuvre un codage convolutionel, qui est très rapide à générer, le décodage étant lui-même rapide en utilisant, par exemple, la méthode très connue élaborée par Viterbi. Si le codage convolutionel utilisé met en oeuvre 35 un polynôme générateur de degré 9, et le taux du code est de 2 bits en sortie pour un bit en entrée, on obtiendra un gain de codage de 7dB par rapport au même message qui serait simplement répliqué. Ceci se traduit par un risque d'erreur au décodage beaucoup plus bas. 2904130 16 Pour un message à encoder contenant 128 bits, avec le code convolutionel précédemment décrit, on aura un message encodé de 272 bits (il y a 2 bits en sortie pour chacun des 128 bits du code et des 8 bits appartenant à la mémoire de l'encodeur pour un polynôme générateur de degré 9). Notons toutefois que de nombreux autres types d'encodage peuvent 5 être réalisés (codage arithmétique, turbo-code,..) selon le même principe. Préférentiellement, ce message chiffré encodé se trouve alors écrit en alphabet binaire, c'est-à-dire qu'il est composé de 0 et de 1 . Au cours d'une étape 225, on insert et on réplique le message chiffré encodé dans une liste des cellules disponibles une matrice d'informations dont les zones indisponibles 10 supportent des symboles de synchronisation, d'alignement ou de positionnement, ou des motifs d'aide à la localisation qui, dans des modes de réalisation, sont déterminés à partir d'une clé secrète. Les motifs d'alignement, sont, par exemple, des matrices de 9x9 pixels distribuées de manière périodique dans la matrice d'informations. Le message chiffré encodé est ainsi répliqué, ou répété, pour que chaque information binaire soit représentée plusieurs 15 fois, pour correspondre au nombre de cellules disponibles dans la matrice d'informations. Cette réplication, qui s'apparente à un codage par répétition ou redondance, permet de significativement réduire le taux d'erreur du message encodé qui sera fourni en entrée à l'algorithme de décodage du code convolutionel. Les erreurs non corrigées par les répétitions seront corrigées par le code convolutionel dans la plupart des cas. 20 Au cours d'étapes 235 et 240, on brouille le message chiffré encodé répliqué, selon des techniques dites de scrambling , ou brouillage, pour fournir un message chiffré encodé brouillé. La fonction de brouillage, ou scrambling, du message chiffré encodé répliqué consiste préférentiellement, à appliquer successivement une permutation, étape 235, et une 25 substitution, étape 240, chacune dépendant d'une deuxième clé secrète, éventuellement identique à la première clé secrète, des valeurs binaires du message. La substitution est préférentiellement faite à partir d'une fonction ou exclusif et d'une séquence pseudoaléatoire. Ainsi, le brouillage du message chiffré codé est effectué de manière non triviale, en 30 mettant en oeuvre une clé secrète, qui peut être une clé identique à celle utilisée pour le chiffrement du message ou une clé différente. Notons que si la clé est différente, dans des modes de réalisation particuliers, elle peut être calculée à partir d'une fonction de la clé utilisée pour le chiffrement. L'utilisation d'une clé secrète, à la fois pour le chiffrement du message et pour le 35 brouillage du message encodé, permet d'atteindre un niveau de sécurité élevé contre les contrefaçons. Par comparaison, les méthodes existantes de création de code barre 2D ne brouillant pas le message encodé, le contrefacteur peut facilement recréer une matrice 2904130 17 d'information originale après avoir décodé le message de la matrice d'information captée ; même si le message décodé est chiffré, il ne lui est pas nécessaire de décrypter le dit message pour recréer la matrice d'information à l'identique. Le brouillage consiste ici préférentiellement, en une combinaison de permutation, 5 étape 235, et, étape 240, de l'utilisation d'une fonction XOR ou ou exclusif dont la table est A B S=A XOR B 0 0 0 0 1 1 1 0 1 1 1 0 En effet, ce type de brouillage évite qu'une erreur se propage (il n'y a pas d'effet dit d'avalanche : une erreur sur un élément du message brouillé entraîne une erreur et une seule sur le message débrouillé). L'effet d'avalanche n'est pas désirable car il rendrait 10 difficile la lecture de la matrice d'informations à partir du moment où on aurait une seule erreur dans le message brouillé. Or, comme on l'a vu, les erreurs jouent un rôle essentiel dans la mise en oeuvre de la présente invention. La permutation, étape 235, est déterminée à partir d'un algorithme de permutation auquel on fournit une clé, ladite clé permettant de générer pseudo aléatoirement l'ensemble 15 des permutations effectuées. L'application de la fonction ou exclusif , étape 240, se fait entre la séquence permutée (dont la taille correspond au nombre de cellules disponibles) et une séquence binaire de même taille générée également à partir d'une clé. On note que si le message n'est en mode binaire (les cellules permettant de représenter plus de deux valeurs possibles), la permutation peut s'effectuer de la même façon, et la fonction ou exclusif 20 peut être remplacée par une fonction qui fait une addition modulo le nombre de valeurs possibles du message avec une séquence générée pseudo aléatoirement comportant le même nombre de valeurs possibles que le message brouillé. De nombreuses permutations dépendant d'une clé secrète existent. Un algorithme simple consiste à faire tourner une boucle munie d'un indice i croissant entre 0 et la 25 dimension du message, N-1, et, pour chaque indice I, générer un nombre entier pseudoaléatoire j entre 0 et N-1, et ensuite permuter les valeurs du message aux positions d'indices ietj. Les nombre pseudo-aléatoires peuvent être générés en utilisant en mode chaîné un algorithme de chiffrement (tels que ceux mentionnés plus haut) ou un algorithme de 30 hachage, tel que SHA-1 (deuxième version du Secure Nash Algorithm , qui fait partie d'un standard du gouvernement américain). La clé sert à initialiser l'algorithme, ce dernier étant à chaque nouvelle étape réinitialisé à partir des nombres produits durant l'étape précédente. 2904130 18 Une fois que les données binaires du message ont été permutées, étape 235, les valeurs de bits sont passées à travers un filtre "ou exclusif (en anglais xor ) avec une séquence de valeurs binaires pseudo-aléatoires de même longueur que le message, étape 240. En variante, cette étape 240 est effectuée avant l'étape de permutation 235. 5 Chacune des données binaires du message chiffré encodé répliqué brouillé est ainsi modulée dans une cellule de la matrice d'informations en attribuant l'une de deux couleurs (par exemple noir et blanc) aux données binaires 0 et l'autre de ces couleurs à une donnée binaire 1 , la correspondance pouvant varier sur la surface de l'image. Selon la méthode d'impression, étape 245, une seule des deux couleurs peut être 10 imprimée, l'autre correspondant à la couleur d'origine du substrat, ou ayant été pré-imprimée en toile de fond . Pour les méthodes d'impression qui impriment un relief physique (par exemple l'embossage ou la gravure laser), une des deux couleurs associée à une certaine valeur binaire sera choisie, par exemple de manière arbitraire. En général, la taille de l'image, en pixels, est déterminée par la surface disponible sur 15 le document, et par la résolution d'impression. Si, par exemple, la surface disponible est de 5 mm x 5 mm, et que la résolution d'impression de la matrice est de 600 pixels/pouce (cette donnée étant souvent exprimée dans le système impérial de mesure), l'homme du métier calculera que la surface disponible en pixel est de 118x118 pixels. En supposant que l'on ajoute une bordure noire de 4 pixels de chaque côte de la matrice, la taille de la matrice en 20 pixels est donc de 110 x 110 pixels, pour un total de 12100 pixels. Si on fait l'hypothèse que la taille de chaque cellule est de un pixel, la matrice d'informations comportera 12100 pixels. Des blocs d'alignements, de valeur connue ou déterminable par le détecteur, peuvent être insérés dans la matrice. Ces blocs peuvent être insérés à intervalle régulier depuis le coin supérieur gauche de la matrice, par exemple tous les 25 pixels, avec une taille de 10x10 25 pixels. On observe alors que la matrice comptera 5x5=25 blocs d'alignement, comptant chacun 100 pixels, pour un total de 25x100=2050 pixels d'alignement, ou 2050 cellules du message. Le nombre de cellules disponibles pour la réplication du message encodé. sera alors de 12100-2500=9600. Sachant que, tel que décrit plus haut, le message encodé compte 272 bits, ledit message pourra être répliqué complètement 35 fois, et partiellement 30 une 36ème fois (les 80 premiers bits du message encodé). On note que ces 35 réplications permettent d'améliorer le rapport signal /bruit du signal encodé par plus de 15 dB, ce qui permet un risque d'erreur très bas à la lecture du message. Deux exemples de représentations de la matrice d'informations résultant du procédé de sécurisation de document illustré en regard de la figure 2 sont donnés en figure 4A, 35 matrice 405 sans bloc d'alignement apparent et en figure 4B, matrice 410 avec blocs d'alignement apparents 415. Dans cette dernières figure, les blocs d'alignement 415, formés de croix noires sur fond blanc, sont bien visibles du fait de leur régularité. Dans d'autres 2904130 19 modes de réalisation, comme représenté en figure 4A, ces blocs présentent sensiblement la même apparence que le reste de l'image. Enfin, comme dans les figures 4A et 4B, une bordure noire 420 peut être ajoutée tout autour du message et des blocs d'alignement éventuels. 5 On observe que, en dehors de la bordure et des blocs d'alignement, qui peuvent être pseudo-aléatoires, les valeurs binaires 0 et 1 sont préférentiellement équiprobables. Dans une variante, on constitue la bordure de la matrice d'informations avec des cellules de plus grande dimension que les cellules du reste de la zone de marquage afin d'y représenter un message robuste. Par exemple, pour constituer une cellule carrée de la 10 bordure, on associe quatre cellules périphériques de la matrice d'information et on représente, dans cette bordure, le message chiffré encodé brouillé. Ainsi, le contenu de la bordure sera très robuste aux dégradations ultérieures de la marque, en particulier l'acquisition de son image ou sa copie sur un autre document. Dans d'autres variantes, un message complémentaire au message portée par la 15 matrice d'information est porté par le document, par exemple sur une étiquette électronique ou sur un code à barres en deux dimensions. Comme exposé plus loin, ce message complémentaire peut représenter le message initial ou un message mis en oeuvre au cours de l'authentification du document, par exemple représentative de clés mises en oeuvre au cours de la génération de la matrice d'informations, de données associées à ces clés dans 20 une mémoire distante, de seuil de quantité d'erreur à utiliser pour décider si le document est authentique ou non. Dans des variantes, on réalise, après les étapes 235 et 240, une étape additionnelle de brouillage partiel du message chiffré encodé répliqué brouillé en fonction d'une troisième clé secrète. Le message chiffré encodé répliqué brouillé peut ainsi lui-même être brouillé 25 partiellement, avec une clé différente de celle(s) utilisée(s) dans les étapes précédentes. Par exemple, ce brouillage partiel supplémentaire concerne de l'ordre de 10 à 20% des cellules (le nombre est généralement fixé). Les cellules qui subissent ce brouillage supplémentaires sont choisies pseudo-aléatoirement à l'aide de la clé de brouillage supplémentaire. Les valeurs des cellules choisies peuvent être systématiquement modifiés, par exemple passant 30 de 1 à 0 et de 0 à 1 , pour des valeurs binaires. En variante, les cellules choisies peuvent être passées à travers un filtre ou-exclusif , généré à partir de la clé de brouillage supplémentaire, et auront donc 50% de chances d'être modifiées. Le but de ce brouillage supplémentaire est de faire en sorte qu'un détecteur qui n'est pas muni de la clé de brouillage supplémentaire peut malgré tout extraire le message 35 correctement, et détecter les copies. Cependant, un tel détecteur tombant dans les mains non autorisées ne contient pas toutes les informations ou clés nécessaire pour reproduire un original. En effet, n'ayant pas la clé de brouillage supplémentaire, l'adversaire pourra générer 2904130 20 et imprimer une matrice d'information qui sera reconnue comme une copie par un détecteur équipé de la clé de brouillage supplémentaire. En général, les détecteurs considérés comme moins sécurisés ne seront pas équipés de la clé de brouillage supplémentaire. D'autres variantes sur ce principe consistant à ne pas fournir tous les clés ou 5 paramètres ayant servi à la création de la matrice d'informations sont discutées plus loin. Au cours de l'étape 245, on marque un document avec la matrice d'informations, par exemple par impression ou gravure, avec une résolution de marquage telle que la représentation de la matrice d'information comporte des erreurs dues à ladite étape de marquage de telle manière que toute lecture de ladite matrice d'informations analogique 10 révèle un taux d'erreur non nul. Au cours de cette étape de marquage, on forme ainsi une marque comportant, dufait des conditions physiques de marquage, des erreurs locales, c'est-à-dire affectant individuellement des représentations de cellules de la matrice d'informations, au moins partiellement aléatoires ou imprévisibles. Les conditions physiques de marquages comportent, notamment, les tolérances 15 physique des moyens de marquage, support, et, en particulier, sont état de surface et matériau, par exemple encre, éventuellement déposé. Le terme d'imprévisible signifie que l'on ne peut déterminer, avant le marquage physique du document, quelles cellules de la matrice d'informations seront correctement représentées par le marquage et quelles cellules de la matrice seront erronées. 20 Pour chacune des clés secrètes utilisées, il suffit de changer de clé secrète pour renouveler le niveau de sécurité initiale, au cas où la clé précédente aurait été découverte par un tiers. On note que l'encodage et l'éventuelle réplication permettent, d'une part, d'augmenter significativement la robustesse du message face aux dégradations et, d'autre 25 part, d'authentifier le document, en estimant ou en mesure le nombre ou le taux d'erreurs affectant une lecture de la marque de la matrice d'informations. On observe que les étapes de codage, de chiffrement, de brouillage, de brouillage additionnel et de réplication sont réversibles, sous réserve de connaître la ou les clé(s) secrète(s). 30 Lorsque l'on examine des matrices d'informations originales captées imprimées avec une résolution de 1200 points par pouce, avec des cellules de 8x8, 4x4, 2x2 et 1x1 pixel(s), on observe que la lecture, en haute résolution, de la valeur binaire représentée par chaque cellule : - ne présente pratiquement pas d'erreur avec des cellules de 8x8 pixels, 35 - présente quelques erreurs avec des cellules de 4x4 pixels, - présente de nombreuses erreurs avec des cellules de 2x2 pixels et 2904130 21 - présente, pour les cellules de 1x1 pixels, un taux d'erreurs qui avoisine le maximum de 50 % si bien que les corrections d'erreurs serait probablement insuffisantes et que la dégradation due à une copie serait imperceptible puisque le taux d'erreur ne pourrait évoluer. 5 Entre les dimensions extrêmes des cellules, on passe par un optimum et, dans le choix limité représenté ici, l'un des cas où les cellules possèdent 4x4 ou 2x2 pixels est optimal. Une méthode de détermination de cet optimum est donnée plus loin. Comme illustré en figure 3, dans un mode de réalisation particulier, le procédé d'authentification d'un document comporte, après le démarrage 305 : 10 -une étape 310 de réception d'au moins une clé secrète, une étape 315 d'acquisition d'une image d'une marque d'une matrice d'information sur ledit document, préférentiellement avec un capteur d'image matriciel, par exemple une caméra vidéo, - une étape 320 de localisation de la marque de la matrice d'information, 15 - une étape 325 de recherche de motifs d'alignement et de localisation des cellules de la matrice d'information, dans ladite marque, - des étapes 330 et 335 de débrouillage (en anglais descrambling ) d'éléments de message en mettant en oeuvre une clé secrète, pour obtenir un message chiffré encodé répliqué, pour effectuer une substitution, étape 330 et une permutation, étape 20 335, une étape 340 d'accumulation des réplications du message chiffré encodé répliqué pour obtenir un message chiffré encodé, - une étape 345 de décodage du message chiffré encodé pour fournir un message chiffré, 25 - une étape optionnelle 350 de déchiffrement du message chiffré, en mettant en oeuvre une clé secrète, une étape 355 de détermination de quantité d'erreurs affectant le message chiffré en mettant en oeuvre les redondances associées au message par l'étape d'encodage et - une étape 360 de décision si le document qui portait la marque de la matrice 30 d'informations est une copie ou un document original. Préférentiellement, chaque clé secrète est aléatoire ou pseudo-aléatoire. Ainsi, optionnellement, le procédé d'authentification comporte une étape de déchiffrement du message original, en mettant en oeuvre une clé de chiffrement, symétrique ou asymétrique. Selon le type de chiffrement, à clés symétriques ou à clés asymétriques, la 35 clé de déchiffrement est identique à ou différente de la clé de chiffrement. Des clés identiques sont utilisées pour du chiffrement symétrique, alors que des clés différentes sont du chiffrement asymétrique. Un avantage important du chiffrement asymétrique est que la 2904130 22 clé de déchiffrement ne permet pas de générer des messages chiffrés valides. Ainsi, un tiers ayant accès à un détecteur, et parvenant à extraire la clé de déchiffrement, ne pourra l'utiliser pour générer un nouveau message valide. Pour traiter une marque formée sur un document, celle-ci est, d'abord, captée par un 5 capteur d'image, typiquement un capteur d'image matriciel d'une caméra, par exemple monochrome. Le format de l'image captée numérisée est, par exemple une matrice de points (connue sous le nom de bitmap pour carte de données binaires). La figure 5 montre un exemple d'image captée numérisée de dimensions 640 x 480 pixels avec huit données binaires par pixel (soit une échelle de 256 niveaux de gris). Les 10 fonctions de lecture successives mises en oeuvre sont détaillées ci-dessous. D'abord, on effectue une fonction de recherche de chacun des 25 motifs d'alignement dans l'image reçue. La sortie de cette fonction contient 50 valeurs entières représentant les positions verticales et horizontales des 25 motifs d'alignement. Cette fonction est effectuée en deux étapes : 15 une étape pour trouver la position globale de la matrice d'information dans l'image captée numérisée et - une étape au cours de laquelle on effectue une recherche locale (sur une souspartie de l'image) de chacun des motifs d'alignement pour déterminer leurs positions. Pour effectuer la première étape, l'homme du métier peut s'inspirer de l'art antérieur, 20 par exemple, le document US 5,296,690 (dont le titre est System for locating and determining the orientation of bar codes in a two-dimensional image ). Alternativement, un algorithme simple et rapide consiste à délimiter la région de l'image captée numérisée qui contient la matrice d'information en recherchant des transitions de niveau de gris abruptes, ligne par ligne et colonne par colonne ou après avoir effectué la somme de toutes les lignes, 25 d'une part et la somme de toutes les colonnes, d'autre part, pour constituer une seule ligne et une seule colonne sur lesquelles on effectue cette recherche. Par exemple, les dérivées de niveaux de gris possédant les plus hautes valeurs absolues correspondent aux bords de la matrice d'information et une estimation grossière des positions des quatre coins peut être effectuée. 30 Pour effectuer la deuxième étape, les positions estimées des quatre coins de la matrice d'information sont utilisées pour estimer la position des motifs d'alignement, selon des techniques géométriques connues. Des techniques géométriques standards peuvent être utilisées pour déterminer la translation, la mise à l'échelle et l'angle de rotation de la matrice d'information dans l'image 35 captée par le capteur d'image. Réciproquement, ces translations, mise à l'échelle et angle de rotation peuvent être utilisés pour déterminer la position des coins de la matrice 2904130 23 d'information. Une approximation successive peut ainsi être effectuée par itération de ces deux étapes. En général, on a une estimation de la position de chaque motif d'alignement, avec une précision de plus ou moins X pixels en coordonnées verticales et horizontales. Cette 5 valeur X dépend des conditions de l'application, notamment du rapport entre la résolution de capture et d'impression, de l'angle de lecture maximal toléré, et de la précision des estimations des positions des quatre coins de la matrice d'information. Une valeur X de 10 pixels est raisonnable, auquel cas on a un espace de recherche de 21x21 pixels. On effectue une convolution entre le motif d'alignement et le bloc d'alignement, ce dernier étant 10 possiblement mis à l'échelle si le rapport entre la résolution de capture et la résolution d'impression est différent de un. La position de la matrice de convolution résultante dont la valeur est maximale correspond à la position de départ du bloc d'alignement. Les positions des 25 motifs d'alignement sont mises en mémoire. Cette ensemble de données est utilisé dans l'étape de démodulation, afin déterminer avec un maximum de 15 précision la position dans l'image captée de chacune des cellules de la matrice d'information. Pour chaque valeur binaire, le motif d'alignement qui est le plus proche de la cellule correspondante est utilisé comme point de départ pour estimer la position de la cellule en terme de pixel de l'image captée. En utilisant la rotation et l'échelle estimées et la position relative connue de la cellule dans la matrice d'information numérique, la position centrale de 20 la cellule est estimée dans la matrice d'information captée, selon des techniques géométriques connues. L'application d'une fonction de débrouillage, fonction inverse de la fonction de brouillage appliquée lors de la réalisation de la matrice d'information originale, permet de retrouver le message répliqué original affecté d'erreurs. Si les indicateurs sont conservés, on 25 à alors des valeurs réelles ou entières, qui peuvent être positives ou négatives, auquel cas la fonction ou exclusif n'est pas applicable directement. Pour obtenir un estimé du message débrouillé à partir des indicateurs, il suffit alors de multiplier par -1 l'indicateur lorsque la valeur du filtre ou exclusif est 0, et par +1 lorsque sa valeur est 1. Notons que la permutation s'effectue de la même façon pour les différents types d'indicateur (binaire, 30 entier, réel). Ensuite, une étape sert à estimer la valeur de chaque bit du message encodé, en fonction de l'observation des valeurs captées des cellules de la matrice d'informations débrouillées. A cet effet, l'étape suivante consiste à déterminer un indicateur de la valeur binaire qui a été assignée à la cellule, en considérant que le noir a pour valeur binaire 0 35 et le blanc 1 (on inversement). Cet indicateur peut, par exemple, être la luminance moyenne (ou le niveau de gris moyen) d'un petit voisinage entourant le centre de la cellule (et correspondant au plus à la surface de la cellule) ou la valeur la plus élevée dans ce petit 2904130 24 voisinage, ou encore la plus faible valeur de luminance dans ce voisinage. Une approche avantageuse peut être de définir deux voisinages, un petit voisinage entourant le centre de la cellule et un plus grand voisinage entourant et excluant le plus petit voisinage. L'indicateur peut alors être basé sur une comparaison des valeurs de luminance dans le voisinage 5 externe et dans le plus petit voisinage, dit interne. Une mesure de comparaison peut être la différence entre la luminance moyenne dans le voisinage interne et la luminance moyenne dans le plus grand voisinage. Une fois que l'indicateur de valeur binaire a été déterminé pour chacune des cellules de la matrice d'information, il est avantageux d'effectuer un traitement supplémentaire de ces 10 indicateurs. En effet, en fonction des transformations qu'a subi la matrice d'informations, depuis la matrice d'informations numérique jusqu'à la matrice d'informations captée, les indicateurs peuvent présenter une dérive. Un simple traitement supplémentaire pour réduire cette dérive consiste à soustraire la valeur d'indicateur moyenne ou médiane et, éventuellement, à normaliser ces indicateurs sur une plage allant de -1 à +1. Ces 15 indicateurs normalisés peuvent être utilisés pour déterminer les valeurs binaires les plus probables, en les comparant à une valeur de seuil, par exemple la valeur 0 , les valeurs supérieures étant affectées d'un 1 et les valeurs inférieures d'un 0 , ce qui entraînera un même nombre de valeurs binaires 0 et 1 . En variante préférentielle, pour chaque valeur binaire recherchée, la somme des 20 valeurs d'indicateurs est effectuée sur toutes ses représentations, puis comparée à une valeur servant de seuil. Ce traitement, plus lourd en consommation de ressources, donne, en effet, une plus grande fiabilité de cette étape. On rappelle que, pour l'exemple décrit précédemment, la matrice d'informations comporte 35 fois le message encodé de 272 valeurs binaires, 80 d'entre eux étant dupliqués 25 une 36ème fois. Pour chaque valeur du message encodé, on a donc 35 ou 36 indicateurs. La concentration, ou accumulation, revient à ne retenir qu'une valeur (binaire, réelle ou entière) finale en fonction de ces nombreuses représentations de la même valeur binaire initiale. Par exemple, on effectue une moyenne des 35 ou 36 indicateurs, une moyenne positive étant interprétée comme un 1 , et une valeur négative comme un 0 . On peut aussi 30 comparer les moyennes des indicateurs à la valeur seuil 0 . Selon des variantes, des traitements statistiques plus complexes sont appliqués sur les indicateurs, dans certains cas nécessitant une phase d'apprentissage. Par exemple, des opérations non linéaires peuvent être effectuées sur les moyennes des indicateurs afin d'estimer la probabilité que la valeur binaire initiale correspondante soit "1", respectivement 35 "0". L'estimation d'une probabilité peut en effet permettre d'affiner le résultat du décodeur. A la fin de l'étape d'accumulation, on dispose d'un message encodé comportant des redondances destinées à permettre la correction, ou, au moins, la détection, d'erreurs. 2904130 25 Le décodeur qui, dans le cas d'un code convolutionel est préférentiellement basé sur la méthode de Viterbi, fournit en sortie le message chiffré, dont la taille est, dans l'exemple décrit jusqu'ici, de 128 bits. Puis le message chiffré décodé est décrypté en utilisant l'algorithme de chiffrement 5 utilisé au chiffrement, préférentiellement l'AES pour des blocs de 128 bits, en mode inversé. On rappelle qu'une partie du message peut avoir été réservée pour contenir une fonction mathématique, par exemple un hachage, du reste du message. Dans l'exemple cité précédemment, 16 bits sont réservés pour contenir une fonction mathématique des 112 bits restants du message. Des bits de padding (que l'on peut approximativement traduire, en 10 français, par remplissage) sont ajoutés aux 112 bits restants du message, et un hachage ou condensât (en anglais hash ) de type SHA-1 est calculé à partir du message auquel sont ajoutés les bits de padding et de la même clé secrète utilisée à la création. Si les 16 premiers bits du résultat du hachage correspondent aux 16 bits réservés, la validité du message est confirmée, et la procédure de lecture peut passer à l'étape suivante. Dans le 15 cas contraire, le message de 112 bits est considéré non valide. Cette invalidité peut avoir différentes raisons : lecture incorrecte, message généré de façon non légitime, etc. Une analyse plus poussée, éventuellement avec intervention humaine, permettra de déterminer la cause exacte du problème. Le message décrypté de 112 bits est interprété de façon à fournir en sortie les 20 informations significatives à l'utilisateur. Ces informations peuvent, en elle-même, fournir à l'utilisateur des indications importantes sur la nature du document ou support qui contient la matrice d'information : date de péremption d'un produit, traçage de la chaîne de distribution, corrélation avec autres informations issues du même document, etc. Ces informations peuvent également servir à interroger une base de données, qui pourra ajouter de nouvelles 25 informations, confirmer la validité ou vérifier l'origine du document, détection de doublon, etc. Cependant, comme expliqué précédemment, la lecture et l'analyse du message transmis ne permettent pas une réponse définitive à la question suivante : le document en question est-il un original ou une copie ? En effet, une copie de bonne qualité d'un document original contiendra un message lisible, avec des informations en principe valide. Même si les 30 informations extraites d'une copie sont jugées non valides (par exemple, si la copie du document est écoulée sur un réseau de distribution qui ne correspond pas aux informations extraites de la matrice d'information), il est important de savoir la cause exacte de la fraude : produit légitime écoulé sur un canal illégitime, ou contrefaçon? Différentes méthodes pour déterminer l'origine du document (original ou copie) sont maintenant présentées. 35 De nombreux décodeurs fournissent une mesure du taux d'erreur sur le message encodé. Par exemple, pour un code convolutionel, le détecteur de Viterbi calcule le plus court chemin, en se basant sur une métrique donnée, dans l'espace des états du décodeur 2904130 26 qui mène au message encodé observé. La métrique choisie dépend de la représentation des données encodées fournies au décodeur. Si les données fournies sont binaires, la métrique sera basée sur la distance de Hamming, soit le nombre de positions ou les valeurs de bits diffèrent, entre le code fourni en entrée du décodeur, et le code correspondant au plus court 5 chemin dans l'espace des états. Si les données ne sont pas binaires mais quantifiées de manière plus fine, ou si elles sont entières ou réelles, une métrique appropriée sera utilisée. Peu importe la métrique utilisée pour la mesure du taux d'erreur du message, ce dernier sera en principe plus élevé pour une matrice d'information captée copiée, que pour une matrice d'information captée originale. Pour déterminer le type de la matrice 10 d'information (original ou copie), un seuil de décision est nécessaire. Pour calculer ce seuil de décision, on peut par exemple prendre l'approche suivante : - générer un échantillon représentatif de l'application, par exemple 100 matrices d'information originales différentes, captées chacune 3 fois dans les conditions de l'application, pour un total de 300 images captées ; 15 mesurer le taux d'erreur pour chacune des 300 images captées ; - calculer une mesure de la valeur moyenne et de la dispersion de l'échantillon des taux d'erreurs, par exemple la moyenne arithmétique et l'écart type de l'échantillon ; - en fonction des mesures de valeur moyenne et de dispersion, déterminer le seuil de décision du taux d'erreur au dessus duquel la matrice d'information sera considérée 20 comme une copie. Ce seuil de décision peut, par exemple, être égal à la moyenne+ 4*écart-type ; afin de détecter des anomalies possible dans l'impression des matrices d'information originales, on peut également fixer un seuil de décision inférieur, par exemple moyenne - 3*écart-type, en bas duquel l'utilisateur serait informé du taux erreur 25 particulièrement bas de l'échantillon ; - si les conditions de capture de la matrice d'information sont inégales, de sorte que le taux d'erreur est trop élevé du fait des mauvaises conditions de capture, on peut également considérer une zone ou il n'est pas possible de déterminer avec une certitude l'origine de la matrice d'information ; on demande alors une re-capture de 30 l'image. Cette zone peut par exemple, être située entre la moyenne + 2* écart-type, et le seuil de décision (situé dans l'exemple actuel à moyenne + 4* écart-type). La mesure du taux d'erreur obtenue lors de l'étape de décodage est en principe calculée directement lors de l'étape de décodage, son usage est donc très pratique. Comme on l'a vu, ce taux d'erreur sur le message encodé est basé sur l'accumulation, dans notre 35 exemple, des 35 ou 36 indicateurs pour chaque bit du message encodé. Cependant, dans certain cas il est souhaitable de faire une analyse plus fine du taux d'erreur, basée directement sur les indicateurs et non sur des valeurs accumulées de ces indicateurs. En 2904130 27 effet, une analyse plus fine du taux d'erreur peut permettre une meilleure détection matrices d'information copiées. Pour cela, il est nécessaire de déterminer les positions des erreurs sur chacun des indicateurs. Dans ce but, on commence par déterminer le message encodé d'origine. Ce 5 message encodé d'origine peut être fourni par le décodeur. Dans le cas contraire, on peut le calculer en encodant le message décodé. On note que cette étape d'encodage est particulièrement peu coûteuse lorsqu'un code convolutionel est utilisé. Le message encodé est ensuite répliqué de façon à obtenir le message répliqué d'origine. Ce message répliqué d'origine peut être comparé au message répliqué d'origine affecté d'erreurs obtenu 10 précédemment, et une mesure du taux d'erreur dans une métrique appropriée peut être calculée. Si le message répliqué affecté d'erreurs est représenté en valeurs binaires, on peut directement compter le nombre d'erreur (équivalent à la distance de Hamming), et le normaliser en le divisant par la taille du message répliqué. Si l'on conserve les valeurs des indicateurs, le message répliqué affecté d'erreurs est représenté en valeurs entières, ou 15 réelles. Dans ce cas, on peut assimiler les messages répliqués à des vecteurs, et on choisira une métrique permettant de calculer une distance entre ces vecteurs. Par exemple, l'indice de corrélation linéaire entre deux vecteurs, compris entre -1 et 1, est une mesure très utilisée de similarité entre vecteurs. Notons qu'une mesure de distance entre vecteurs peut simplement être calculée en prenant la négation d'une mesure de similarité, en l'occurrence 20 la négation de cette indice de corrélation linéaire. Evidemment, de nombreuses autres mesures de distance peuvent être utilisées en conservant l'esprit du procédé objet de la présente invention. La mesure de distance sur le message répliqué permet une analyse plus fine, au niveau des unités élémentaires du message représentées par les cellules de la matrice. Il peut être souhaitable de pousser 25 encore l'analyse à un niveau supplémentaire de précision, en considérant séparément les différentes zones géographiques de la matrice. Par exemple, on peut souhaiter analyser et déterminer le taux d'erreur dans une région précise, tel que le coin supérieur gauche de la matrice. Cette possibilité est particulièrement intéressante lorsque, par exemple, la matrice d'information a été localement dégradée (rayure, pliure, usure, tache, etc.), ou encore 30 lorsque sa capture a été faite de manière inégale (parties excessivement sombres ou claire, ou out of focus (en français hors plan de focalisation). En effet, on souhaite éviter que ces dégradations, qui peuvent affecter des matrices d'information originales, résultent en un taux d'erreur élevé pour ces dernières. Une analyse à composantes locales peut alors permettre d'ignorer, ou de pondérer plus faiblement, les 35 zones dégradées qui comportent un taux d'erreur plus élevé. Ceci peut être accompli en considérant le message permuté ou brouillé, au lieu du message répliqué. En effet, la matrice d'information étant générée de manière fixe 2904130 28 (indépendante d'une clé) à partir du message brouillé et des blocs d'alignement, il est par conséquent aisé d'extraire des portions du message permuté ou brouillé correspondant à des zones géographiques précises. On note que si l'on se base sur le message permuté, au lieu du message brouillé, on évite l'étape d'application d'un filtre ou exclusif afin d'obtenir 5 le message original brouillé. Pour une zone géographique arbitraire, on peut appliquer les mesures de distance décrite précédemment entre le message d'origine permuté ou brouillé, et le message affecté d'erreurs permuté ou brouillé. En tous les cas, il est possible d'inclure les blocs d'alignement dans l'analyse. 10 De nombreux algorithmes contrôlant l'utilisation des différentes zones géographiques sont possibles. Dans certains cas, il est également possible de faire à appel à un opérateur humain, qui serait par exemple capable de déterminer l'origine des dégradations (accidentelle, volontaire, systématique, etc.). Cependant, l'analyse doit souvent se faire de manière automatique, et produire un résultat déterminé : original, copie, erreur de lecture, 15 etc. Une approche générique consiste alors à séparer la matrice d'information en zones exclusives de même taille, par exemple 25 carrés de 22x22 pixels pour la matrice de 110x110 pixels décrite dans l'exemple ci-dessus. On calcule alors 25 valeurs de distance, entre les messages d'origine et les messages affectés d'erreurs correspondant à ces zone géographiques distinctes. Puis, on extrait les 8 valeurs de distance les plus élevées, 20 correspondant aux 8 zones ayant subi les dégradation les plus faibles. On calcule finalement un taux d'erreur moyen sur ces 8 zones géographiques. On favorise alors les zones de I matrice d'information qui ont eu le plus de chance d'être lues correctement. On note que, comme plusieurs indices du taux d'erreur peuvent être calculés, en fonction du message encodé, répliqué, permuté ou brouillé, et en fonction également des 25 différentes zones géographiques, on peut regrouper les différents taux d'erreur mesurés, de façon à produire une mesure globale du taux d'erreur. Partant des valeurs binaires du message de 255 valeurs binaires, le décodeur détermine le message décodé et le nombre, ou taux, d'erreurs. Dans le cas des décodeurs ne fournissant pas le nombre ou le taux d'erreurs, on ré-encode le message décodé et on 30 compare ce message ré-encodé au message issu de la matrice d'information captée. A partir des valeurs binaires, conformément à l'invention, on détermine si la matrice d'informations analogique captées est un original ou une copie, en fonction du nombre d'erreurs détectées. Dans le cas où le message peut être décodé et la position des erreurs déterminée, de 35 cette étape de décodage sort une liste de 255 valeurs binaires qui valent 1 pour les erreurs et 0 lorsqu'il n'y a pas d'erreur pour la valeur binaire correspondante dans le message décodé. 2904130 29 On observe que le nombre d'erreurs qui peuvent être décodées étant limité, si le message décodé ne peut être déterminé, on sait que le nombre d'erreurs est supérieur à la limite de détection en question. Lorsque le message est décodé, en utilisant la clé secrète, on le déchiffre. On 5 observe que l'utilisation de clés asymétriques permet d'augmenter la sécurité de cette étape. D'après l'expérience de l'inventeurs, des paramètres d'impression générant, du fait des tolérances physiques du moyen de marquage utilisé, de l'état de surface du document et du dépôt éventuellement effectué, au moins 5 pour cent et, préférentiellement, 10 à 35 pour cent et, encore plus préférentiellement, entre 20 et 25 pour cent de symboles incorrectement 10 imprimés fournit une bonne performance en termes de détection de copie. Pour atteindre ce taux d'erreurs, on fait varier les paramètres d'impression qui influencent la dégradation du message imprimé. On décrit, ci-après, des variantes ou des perfectionnements pour la mise en oeuvre de la présente invention. 15 1) Mise en oeuvre de matrices d'information non-binaires. L'implémentation de la présente invention n'est pas limitée à des matrices d'information de nature binaire. A toutes les étapes, pour passer du message initial à la matrice d'information, les éléments du message peuvent avoir plus de deux valeurs différentes. Prenons le cas où les cellules de la matrice d'information peuvent avoir 256 valeurs différentes, ce qui correspond à l'impression 20 d'une image en niveaux de gris de valeur comprise entre 0 et 255. Les messages brouillés et encodés auront aussi 256 valeurs. Pour déterminer le message encodé brouillé à partir du message encodé, la fonction de permutationpeut rester la même, mais la fonction de ou exclusif peut être remplacée par une addition modulo 255, et la séquence pseudo-aléatoire servant à cette addition modulo 256 comportant aussi des valeurs comprises entre 0 et 255. 25 Le message initial et le la partie de l'encodage correspondant à l'application d'un code correcteur d'erreur pourront encore, mais pas obligatoirement, être représentés par des valeurs binaires. Cependant, la sous-étape de réplication devra transformer un message encodé binaire en message répliqué ayant des valeurs, par exemple, entre 0 et 255 (8 bits). Une manière de faire consiste à regrouper le message encodé binaire par unités de 8 bits 30 successifs, puis à représenter ces unités sur un échelle de 0 à 255. 2) Détermination des copies sur la base du résultat du décodage, sans lecture du taux d'erreur. Dans les modes de réalisation décrits en regard des figures, on utilise le taux d'erreur pour déterminer l'origine d'une matrice d'information captée : original ou copie. Il a été également mentionné que le taux d'erreur n'est mesurable que si le message encodé de 35 la matrice d'information capté peut être décodé. On a expliqué les étapes nécessaires pour s'assurer que le message soit décodable, dans la plupart des cas, jusqu'à un taux d'erreur 2904130 30 désiré. On peut ainsi s'assurer que, dans la plupart des cas, le taux d'erreur soit mesurable également pour les copies, pour autant qu'elles soient d'une qualité suffisante. Dans certains cas, on ne se base pas (uniquement) sur le taux d'erreur pour déterminer si la matrice d'information est une copie. C'est le cas notamment lorsque la 5 quantité d'information insérée dans la matrice d'information est très importante par rapport à la surface ou le nombre de pixels disponibles, de sorte que le message encodé ne peut être répliqué un nombre élevé de fois (dans notre exemple, le message encodé est répliqué 35 ou 36 fois). On cherche alors à s'assurer que les matrices d'informations originales soient lues correctement ; par contre les matrices d'informations copiées sont, dans la plupart des 10 cas, incorrectement lues. Une lecture correcte permet de s'assurer que la matrice d'information est originale ; par contre, une lecture incorrecte n'est pas forcément une garantie que la matrice d'information est une copie. La quantité d'information est élevée si le message est encrypté asymétriquement, par exemple en utilisant l'algorithme de chiffrement à clé publique RSA avec des tailles de 15 message chiffrés de 1024 bits, ou encore si on cherche à chiffrer symétriquement le portrait du détenteur d'une carte d'identité (2000 à 5000 bits). Si la taille de la matrice d'information est restreinte (par exemple moins d'un centimètre carré), on ne sera pas en mesure de répliquer le message encodé un grand nombre de fois ; selon la qualité d'impression, on sera probablement dans le cas ou le message d'une copie n'est pas lisible. 20 3) Mise en oeuvre de matrices d'informations contenant plusieurs messages. Il est possible de créer des matrices d'information contenant plusieurs messages, chacun utilisant des clés différentes, de manière récursive. Ceci est notamment intéressant pour des applications ou on assigne des niveaux d'autorisation différents à différents outils de vérification, ou utilisateurs. Ceci est également intéressant pour obtenir plusieurs couches de 25 sécurité : si une clé davantage exposée est découverte par un tiers, seule une partie de la matrice d'information peut être contrefaite. Pour simplifier l'explication de ces modes de réalisation particuliers, prenons le cas de deux messages (message 1 et message 2). Le groupement des messages 1 et 2 peut se faire à plusieurs niveaux. Par exemple : 30 - les messages 1 et 2 chiffrés séparément avec une clé 1 et une clé 2 sont concaténés. La clé 1 (ou un groupe de clés 1) est utilisée pour les étapes de permutation, brouillage, etc. Le message 2 ne peut être déchiffré que sur certains lecteurs équipés de la clé 2. L'authentification, pour déterminer si on a une matrice originale ou une matrice copiée, peut être faite sur la globalité de la matrice à partir 35 de la clé 1. Cette approche est avantageuse si l'image est captée par un outil portable qui communique avec un serveur à distance équipé de la clé 2, si la 2904130 31 communication est coûteuse, longue ou difficile à établir : en effet le volume de données à envoyer est peu important ; le message 1 brouillé et le message 2 brouillé sont concaténés, et la matrice d'information est modulée à partir des messages brouillés concaténés. On note que 5 les deux messages ont des positions physiquement séparées dans la matrice d'information ; - le message 1 répliqué et le message 2 brouillé sont concaténées, et le message concaténé est permuté et brouillé en utilisant la clé 1. On note que les positions du message 2 brouillé dépendent à la fois de la clé 2 et de la clé 1 ; par conséquent, les 10 deux clés sont nécessaires pour lire le message 2. L'utilisation de plusieurs messages sécurisés avec des clés différentes permet de gérer des niveaux d'autorisation différents pour différents utilisateurs du module de vérification. Par exemple, certaines entités sont autorisées à lire et authentifier le premier message, d'autres ne peuvent qu'authentifier le premier message. Un module de vérification 15 autonome, sans accès au serveur pour la vérification, ne pourrait en général lire et/ou authentifier le deuxième. De nombreuses autres variantes sont évidemment possibles. On note que les considérations qui précèdent peuvent être étendues à des matrices d'information possédant plus de deux messages. 4) Insertion d'un code détecteur d'erreur ou de falsification. Plus le taux d'erreur est 20 élevé, plus le risque est grand que le message ne soit pas décodé correctement. Il est souhaitable d'avoir un mécanisme pour détecter les messages incorrectement décodés. Parfois, cela peut être fait sur le plan applicatif : le message incorrectement décodé n'est pas cohérent. Cependant, on ne peut pas se baser sur la signification du message décodé pour vérifier sa validité. Une autre approche consiste à estimer le risque que le message soit 25 incorrectement décodé, en se basant sur une mesure du rapport signal/bruit du message encodé, en relation avec le type de code et de décodage utilisés. Des graphiques existent, on se réfère notamment à Error Control Coding , Second Edition, de Lin et Costello. Par exemple, on peut y lire en page 555 que pour un code convolutionnel avec une mémoire de 8 et un taux de %, avec décodage mou (en anglais soft decoding ) à valeurs d'entrée 30 continues, le taux d'erreur par bit encodé est de 10"(-5) pour un rapport signal sur bruit de 6 dB. Une autre approche, qui peut être complémentaire à la précédente, consiste à ajouter une valeur hachée du message au message chiffré. Par exemple, on peut utiliser la fonction de hachage SHA-1 pour calculer un certain nombre de bits de hachage du message chiffré. 35 Ces bits de hachage sont ajoutés à la fin du message chiffré. A la détection, le hachage du message décodé est comparé aux bits de hachage concaténés; si les deux sont égaux, on peut en conclure avec une grande probabilité que le message est correctement décodé. On 2904130 32 note qu'avec un nombre de 16 bits de hachage, il y a une chance sur 2^16 qu'une erreur ne soit pas détectée. II est possible d'augmenter le nombre des bits de hachage, mais cela se fait au détriment du nombre de cellules disponibles pour la réplication du message encodé. 5) Mise en oeuvre de fonctions de hachage de sécurité. Pour implémenter la présente 5 invention, on peut utiliser le hachage dans le but d'ajouter une couche de sécurité. Supposons en effet que l'on utilise un chiffrement symétrique, et qu'un tiers s'empare de la clé de chiffrement. Cet adversaire peut générer à volonté des matrices d'information valides. On observe, toutefois, que si une clé de brouillage supplémentaire a été utilisée initialement et qu'elle n'est pas en possession du tiers, les matrices d'informations générées par le tiers 10 seront détectées comme copies par un détecteur muni de cette clé de chiffrement supplémentaire. On peut cependant concaténer au message chiffré, un hachage du message brut ou chiffré, ce hachage étant dépendant d'une clé qui n'est en principe pas stockée sur les détecteurs auquel peut potentiellement accéder le tiers. La vérification de la valeur du hachage, possible sur les lecteurs sécurisés, permet de s'assurer qu'une valeur de 15 message valide a été générée. Ainsi, un tiers muni de la clé de chiffrement, mais pas de la clé de hachage, n'est pas en mesure de calculer un hachage valide du message. On ajoute que ce hachage valide permet de s'assurer, d'une manière générale, de la cohérence des informations contenu dans le message. 6) Utilisation des matrices d'information dans le système serveur. Le traitement est 20 intégralement effectué dans un serveur distant du moyen de marquage ou du moyen de capture d'image ou, pour l'authentification, dans un lecteur autonome disposant éventuellement d'un ensemble de clés secrètes. En variante préférentielle, le serveur permet de lire le message et le lecteur portable permet de détecter la copie. 25 Préférentiellement, une partie des étapes 320 à 350 de reconstitution du message original est effectuée par un lecteur sur le lieu de capture d'image de la matrice d'informations et une autre partie de l'étape de reconstitution est effectuée par un système informatique, par exemple un serveur, distant du lieu de capture d'image de la matrice d'informations. Les données relatives à la création et à la lecture des matrices d'information 30 (clés et paramètres associés) peuvent ainsi être stockées en un seul point ou serveur, hautement sécurisé. Les utilisateurs autorisés peuvent se connecter au serveur (après authentification) afin de commander un certain nombre de matrices d'information qui seront apposées sur les documents à sécuriser et/ou tracer. Ces matrices d'information sont générées par le serveur, et les clés utilisées sont stockées sur ce serveur. Elles sont 35 transmises à l'utilisateur, ou directement à la machine d'impression, de manière sécurisée (en utilisant par exemple des moyens de chiffrement). 2904130 33 Afin d'effectuer un contrôle de qualité directement sur la chaîne de production, des modules de capture (capteur+ logiciel de traitement+ transfert d'information) permettent à l'opérateur de capturer des images de matrices d'information imprimées, ces dernières étant automatiquement transmises au serveur. Le serveur détermine les clés et les paramètres 5 correspondants, fait la lecture et l'authentification des matrices d'information capturées, et retourne un résultat à l'opérateur. On note que ce processus peut également être automatisé à l'aide de caméras de vision industrielle capturant automatiquement une image de chaque matrice d'information imprimée passant sur la chaîne. Si les outils portables de capture sur le terrain peuvent effectuer une liaison avec le 10 serveur, une procédure similaire peut être établie pour la lecture et/ou l'authentification. Cependant, cette liaison n'est pas toujours souhaitable ou possible à effectuer, auquel cas on doit stocker certaines des clés sur le dispositif d'authentification. L'utilisation d'une clé de brouillage partiel à la création se révèle alors particulièrement avantageuse, car si celle-ci n'est pas stockée sur l'outil de lecture portable, ce dernier ne possède pas les informations 15 suffisantes pour créer une matrice d'information originale. De façon similaire, si le chiffrement est fait de manière asymétrique, la clé de déchiffrement stockée sur l'outil de lecture portable ne permet pas le chiffrement, et donc la génération d'une matrice d'information contenant un message différent qui serait valide. Dans certaines applications, le serveur de distribution et de vérification des matrices 20 d'information doit gérer un grand nombre de profils différents, un profil étant un couple clé-paramètre unique. Ceci est notamment le cas lorsque le système est utilisé par des compagnies ou institutions différentes, qui désirent sécuriser leurs documents, produits, etc. On voit l'intérêt pour ces différents utilisateurs d'avoir des clés différentes : les informations contenues dans matrices d'information sont en général de nature confidentielle. Le système 25 peut ainsi avoir un grand nombre de clés à gérer. De plus, comme il est d'usage en cryptographie, on désire renouveler les clés à intervalle régulier. La multiplication des clés doit bien entendu être considérée du point de vue de la vérification : en effet, si le module de vérification ne connaît pas d'avance laquelle des clés a été utilisée pour générer la matrice, il n'a pas d'autre choix que de tester une à une les clés à sa disposition. L'insertion de deux 30 messages dans la matrice d'information, chacun utilisant des clés différentes, se révèle très avantageux dans ce mode d'utilisation de l'invention. En effet, on peut alors utiliser une clé fixée pour le premier message, de sorte que le module de vérification peut directement lire et/ou authentifier le premier message. Pour lire le deuxième message, le premier message contient, par exemple, un index qui permet au module de vérification d'interroger une base 35 de données sécurisée, qui pourra lui fournir les clés de lecture et/ou d'authentification du deuxième message. En général, le premier message contiendra des informations de nature 2904130 34 générique, alors que le deuxième message contiendra des données de nature confidentielle, qui seront éventuellement personnalisables. 7) Seuil de détection/Paramètres d'impression. Afin de faciliter une authentification autonome de la matrice d'information, on peut stocker le ou les seuils de décisions, ou 5 autres paramètres relatifs à l'impression, dans le ou les messages contenus dans la matrice d'information. Ainsi, il n'est pas nécessaire d'interroger la base de données pour ces paramètres, ni de les stocker sur les modules de vérification autonomes. De plus, cela permet de gérer des applications ou des matrices d'information, de même nature du point de vue applicatif, qui sont imprimés par des méthodes différentes. Par exemple, les matrices 10 d'information appliquées au même type de document, mais imprimées sur des machines différentes, pourraient utiliser la ou les mêmes clés. Elles auraient des paramètres d'impressions stockées dans les messages respectifs. REVENDICATIONS 1 - Procédé de sécurisation de document, caractérisé en ce qu'il comporte : une étape de génération (220 à 240) d'une matrice d'informations numérique représentative d'un message comportant des redondances et une étape de marquage (245) dudit document avec ladite matrice d'informations numérique pour former une marque comportant, du fait des conditions physiques de marquage, des erreurs au moins partiellement imprévisibles, la quantité desdites erreurs étant susceptibles d'être estimée en mettant en oeuvre lesdites redondances. 2 û Procédé selon la revendication 1, caractérisé en ce que, au cours de l'étape de génération (220 à 240), lesdites redondances comportent des codes de correction d'erreurs. 3 û Procédé selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que, au cours de l'étape de génération (220 à 240), lesdites redondances comportent des codes de détection d'erreurs. 4 û Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ladite étape de marquage (245) est une étape d'impression de ladite matrice sur ledit document, avec une dimension de points de la matrice provoquant des erreurs lors de sa copie. 5 û Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que, au cours de l'étape de génération (220 à 240) d'une matrice d'informations, ladite matrice d'information est représentative, au niveau de chaque cellule élémentaire et indépendamment des cellules élémentaires voisines, du message comportant les redondances. 6 û Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que, au cours de l'étape de marquage (245), on génère au moins cinq pour cent d'erreurs ponctuelles et en ce que la mise en oeuvre des redondances permet de compter lesdites erreurs ponctuelles. 7 û Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que, au cours de l'étape de génération (220 à 240) de la matrice d'informations, les redondances sont adaptées à permettre la détection d'erreurs de marquage ponctuelles dans la marque réalisée au cours de l'étape de marquage. 8 û Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que, au cours de l'étape de marquage (245), on ajoute à la marque de la matrice d'informations, une marque complémentaire robuste portant un message. 9 û Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que, au cours de l'étape de génération (220 à 240) de la matrice d'informations, on chiffre une représentation dudit message avec une clé de chiffrement (220). 2904130 36 10 û Procédé selon l'une quelconque des revendications 1 à 9, caractérisé en ce que, au cours de l'étape de génération (220 à 240) de la matrice d'informations, on encode une représentation dudit message pour générer lesdites redondances (225). 11 û Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce que, au 5 cours de l'étape de génération (220 à 240) de la matrice d'informations, on réplique une représentation dudit message pour former plusieurs exemplaires identiques (230). 12 û Procédé selon l'une quelconque des revendications 1 à 11, caractérisé en ce que, au cours de l'étape de génération (220 à 240) de la matrice d'informations, on permute des positions d'éléments de représentation dudit message en fonction d'une clé secrète (235). 10 13 û Procédé selon la revendication 12, caractérisé en ce que, au cours de l'étape de génération (220 à 240) de la matrice d'informations, on permute partiellement des positions d'éléments de représentation dudit message en fonction d'une clé secrète différentes de la clé secrète de la première permutation. 14 û Procédé selon l'une quelconque des revendications 1 à 13, caractérisé en ce que, au 15 cours de l'étape de génération (220 à 240) de la matrice d'informations, on applique, à au moins une partie des éléments d'une représentation dudit message, une fonction de substitution de valeur dépendant, d'une part, de la valeur de l'élément et, d'autre part, de la valeur d'un élément d'une clé secrète (240). 15 û Procédé selon la revendication 14, caractérisé en ce que, au cours de l'étape de 20 génération (220 à 240) de la matrice d'informations, on applique, à au moins une partie des éléments d'une représentation dudit message, une fonction de substitution partielle de valeur dépendant, d'une part, de la valeur de l'élément et, d'autre part, de la valeur d'un élément d'une clé secrète différente de la clé secrète de la première fonction de substitution. 16 û Procédé selon l'une quelconque des revendications 1 à 15, caractérisé en ce que, au 25 cours de l'étape de génération (220 à 240) de la matrice d'informations, on met en oeuvre au moins une clé telle que la clé associée nécessaire pour récupérer le message soit différente. 17 û Procédé selon l'une quelconque des revendications 1 à 16, caractérisé en ce que, au cours de l'étape de génération (220 à 240) de la matrice d'informations, on génère une matrice d'information numérique représentative d'au moins deux messages dotés de moyens 30 de sécurité différents. 18 û Procédé selon la revendication 17, caractérisé en ce que l'un desdits messages représente des informations nécessaires pour, à la lecture de la matrice d'informations, déterminer l'autre message et/ou détecter les erreurs de l'autre message. 19 Procédé selon la revendication 18, caractérisé en ce que l'un desdits messages 35 représente au moins une clé nécessaire à la lecture de l'autre message. 2904130 37 20 û Procédé selon l'une quelconque des revendications 1 à 19, caractérisé en ce que, au cours de l'étape de génération (220 à 240) de la matrice d'informations, on ajoute à une représentation du message, un hachage dudit message. 21 - Procédé d'authentification de document, caractérisé en ce qu'il comporte : 5 - une étape (315) de capture d'image d'une matrice d'information, - une étape (320 à 350) de reconstitution d'un message en fonction de ladite image, en mettant en oeuvre des redondances associées audit message dans ladite matrice d'informations, - une étape (355) de mesure de la quantité d'erreurs dans ledit message et 10 - une étape (360) de décision de l'authenticité, en fonction de ladite quantité d'erreurs. 22 û Procédé selon la revendication 21, caractérisé en ce que, au cours de l'étape de reconstitution (320 à 350), lesdites redondances comportent des codes de correction d'erreurs. 23 û Procédé selon l'une quelconque des revendications 21 ou 22, caractérisé en ce que, au 15 cours de l'étape de reconstitution (320 à 350), lesdites redondances comportent des codes de détection d'erreurs. 24 û Procédé selon l'une quelconque des revendications 21 à 23, caractérisé en ce que, au cours de l'étape de reconstitution (320 à 350), lesdites redondances permettent de compter au moins cinq pour cent d'erreurs ponctuelles dans ledit message. 20 25 û Procédé selon l'une quelconque des revendications 21 à 24, caractérisé en ce que, au cours de l'étape de reconstitution (320 à 350), on lit un message complémentaire robuste positionnée en dehors de la matrice d'informations. 26 û Procédé selon l'une quelconque des revendications 21 à 25, caractérisé en ce que, au cours de l'étape de reconstitution (320 à 350), on applique, à au moins une partie des 25 éléments d'une représentation dudit message, une fonction de substitution de valeur dépendant, d'une part, de la valeur de l'élément et, d'autre part, de la valeur d'un élément d'une clé secrète (330). 27 û Procédé selon l'une quelconque des revendications 21 à 26, caractérisé en ce que, au cours de l'étape de reconstitution (320 à 350), on permute des positions d'éléments de 30 représentation dudit message en fonction d'une clé secrète (335). 28 û Procédé selon l'une quelconque des revendications 21 à 27, caractérisé en ce que, au cours de l'étape de reconstitution (320 à 350), on accumule des valeurs lues sur différents éléments d'une représentation dudit message (340). 29 û Procédé selon l'une quelconque des revendications 21 à 28, caractérisé en ce que, au 35 cours de l'étape de reconstitution (320 à 350), on décode une représentation dudit message (345). 2904130 38 30 û Procédé selon l'une quelconque des revendications 21 à 29, caractérisé en ce que, au cours de l'étape de reconstitution (320 à 350), on déchiffre une représentation dudit message avec une clé de déchiffrement (350). 31 û Procédé selon l'une quelconque des revendications 21 à 30, caractérisé en ce que, au 5 cours de l'étape de reconstitution (320 à 350), on met en oeuvre au moins une clé différente de la clé associée mise en oeuvre au cours de la génération de ladite matrice d'information. 32 û Procédé selon l'une quelconque des revendications 21 à 31, caractérisé en ce que, au cours de l'étape de reconstitution (320 à 350), on reconstitue au moins deux messages dotés de moyens de sécurité différents. 10 33 û Procédé selon la revendication 32, caractérisé en ce que l'un desdits messages représente des informations nécessaires pour déterminer l'autre message. 34 û Procédé selon l'une quelconque des revendications 31 ou 32, caractérisé en ce que l'un desdits messages représente une quantité d'erreurs limite à mettre en oeuvre au cours de l'étape de décision. 15 35 û Procédé selon l'une quelconque des revendications 21 à 34, caractérisé en ce que, au cours de l'étape de reconstitution (320 à 350), on détermine un hachage dudit message. 36 û Procédé selon l'une quelconque des revendications 21 à 35, caractérisé en ce qu'une partie de l'étape de reconstitution (320 à 350) est effectuée par un lecteur sur le lieu de capture d'image de la matrice d'informations et en ce qu'une autre partie de l'étape de 20 reconstitution est effectuée par un système informatique distant du lieu de capture d'image de la matrice d'informations. 37 Dispositif de sécurisation de document, caractérisé en ce qu'il comporte : - un moyen de génération d'une matrice d'informations numérique représentative d'un message comportant des redondances et 25 - un moyen de marquage dudit document avec ladite matrice d'informations numérique adapté à former une marque comportant, du fait des conditions physiques de marquage, des erreurs aléatoires imprévisibles. 38 - Dispositif d'authentification de document, caractérisé en ce qu'il comporte : - un moyen de capture d'image d'une matrice d'information, 30 - un moyen de reconstitution d'un message en fonction de ladite image, en mettant en oeuvre des redondances associées audit message dans la matrice d'informations, - un moyen de mesure de la quantité d'erreurs dans ledit message, en mettant en oeuvre des codes de détection d'erreur insérés dans ledit message et - un moyen de décision de l'authenticité, en fonction de ladite quantité d'erreurs. 35