Brevet FR3058543A1 — publié le 20180511

PROCEDE POUR L'AUTHENTIFICATION D'UNE ILLUSTRATION. DOMAINE DE L'INVENTION La présente invention concerne le domaine de l'authentification d'une illustration. Par illustration, on entend toute représentation graphique non uniforme ; par exemple une peinture, un dessin, une photographie, etc. Par souci de concision, le cas où l'illustration est une photographie, en particulier un portrait, sera essentiellement décrit ici. Dans ce contexte, la présente invention trouve une application particulière dans le 15 domaine de la vérification de documents d'identité, typiquement les documents d'identité officiels (carte d'identité, passeport, permis de conduire, etc.) ou non officiels (carte d'abonnement, etc.), où l'illustration est une photographie du porteur de document d'identité. En effet, la falsification de documents d'identité porte principalement sur le remplacement 20 de la photo d'identité. Si pendant longtemps ce remplacement pouvait être assez succinct, il s'est complexifié ces dernières années avec l'utilisation d'images « morphées ». Par image « morphée », on entend l'image résultant d'une transformation morphologique ou morphing, entre la photographie originale du porteur légitime du document d'identité et celle 25 d'un fraudeur qui souhaite utiliser ce document d'identité. Pour un fraudeur, le document d'identité subissant la manipulation est par exemple choisi de sorte à ce que le porteur légitime partage un certain nombre de traits morphologiques avec le fraudeur. Cette ressemblance morphologique entre le porteur légitime et le fraudeur facilite le 30 travail du faussaire qui imprime ce morphing sur le document d'identité (en conservant les autres éléments de sécurité intacts), ce qui permet de tromper un contrôle visuel et parfois même automatique, tout en restant visuellement compatible avec les autres éléments de sécurité du document d'identité qui font écho à la photographie, comme par exemple une image fantôme, une image par perçage de trous, etc. 35 10 L'objectif de la présente invention vise donc à assurer que l'illustration, dans ce cas la photographie présente sur le document d'identité, est l'originale, c'est-à-dire qu'elle n'a pas été 3058543 2 manipulée d'une manière ou d'une autre. Il s'agit donc d'authentifier l'illustration, par exemple comme elle devait être au jour de la fabrication du document d'identité. Elle peut en outre servir à authentifier le porteur du document ou le sujet de la photographie. En ce sens, la présente invention traite de photométrie et non de biométrie. 5 Elle s'applique bien évidemment au domaine de la sécurité, comme au domaine de l'art. Dans le domaine de la sécurité, il est connu le document US2015/0332136 qui vise à sécuriser une photographie d'identité en entourant celle-ci d'un code-barres 2D, le code-barres 2D étant basé sur des données alphanumériques. La présente invention vise à proposer une solution alternative et plus sécurisée. RESUME DE L'INVENTION Plus précisément, l'invention concerne selon un premier de ses objets, un procédé d'encodage d'une illustration source en couleurs, comprenant des étapes consistant à : inscrire ladite illustration source sous forme d'une illustration inscrite en niveaux de gris ou en couleur, encoder un message sous la forme d'un code-barres à deux dimensions comprenant un ensemble de blocs, chaque bloc codant un fragment dudit message et comprenant un ensemble de (M) lignes et (N) colonnes, et chaque bloc comprenant un ensemble de sous-blocs codants, chaque sous-bloc comprenant un ensemble d'éléments binaires. Il est essentiellement caractérisé en ce que l'étape d'encodage comprend des étapes préalables consistant à : définir ou identifier un ensemble de points remarquables sur l'illustration source, calculer un ensemble d'attributs en fonction de certains au moins des points remarquables dudit ensemble, sélectionner, parmi l'ensemble des attributs calculés, un ensemble d'au moins un attribut permettant de définir une empreinte numérique, optionnellement compresser ladite empreinte numérique, optionnellement signer ladite empreinte numérique au moyen d'une signature cryptographique, et enregistrer dans le message l'un parmi : - un ensemble d'au moins un attribut, - l'empreinte numérique, 3058543 3 - l'empreinte numérique compressée, - l'empreinte numérique signée non compressée et - l'empreinte numérique compressée et signée. 5 Dans un mode de réalisation, on prévoit en outre une étape consistant à : - encoder au moins certaines informations de couleur de l'illustration source dans ledit code-barres à deux dimensions. Dans un mode de réalisation, on prévoit en outre au moins l'une des étapes consistant à : 10 inscrire ledit code-barres à deux dimensions sur un support de destination ; solidariser ladite illustration inscrite et ledit support de destination ; rendre le code-barres à deux dimensions solidaire de l'illustration inscrite ; et disposer le code-barres à deux dimensions de manière prédéfinie par rapport à l'illustration inscrite, optionnellement en encadrant ladite illustration inscrite. 15 Grâce à cette caractéristique, il est possible, comme décrit ultérieurement, de scanner par exemple avec un objet communicant toutes les informations utiles à la vérification simultanément. 20 Dans un mode de réalisation, chaque bloc codant comprend en outre un ensemble de sous-blocs non-codants dont la position est prédéfinie, le procédé comprenant en outre, pour chaque bloc codant, des étapes consistant à : - sélectionner un ensemble prédéfini de sous-blocs codants, - encoder sur un ensemble d'au moins un sous-bloc non-codant prédéfini le résultat de 25 l'application d'un code correcteur d'erreurs aux valeurs encodées par ledit ensemble prédéfini de sous-blocs codants. On peut prévoir une étape consistant à : - numériser l'illustration source si celle-ci n'est pas déjà sous forme numérique ; et 30 Soit : - décomposer l'illustration source numérisée en un ensemble de zones, chaque zone étant définie : - par une primitive, déterminée par un algorithme de reconnaissance de forme, un algorithme de reconnaissance biométrique ou un gradient de couleur ; ou 35 - par un algorithme de détection de contours ; ou 3058543 4 - par application à l'illustration source d'une grille géométrique statique ayant une forme prédéterminée, optionnellement celle d'un visage, la grille comprenant un ensemble de zones ; et - associer à chaque zone une couleur ou une information de couleur respective ; 5 Soit : - convertir l'illustration source numérisée, éventuellement redimensionnée, dans l'espace Teinte Saturation Valeur comprenant une composante teinte et une composante saturation ; et - compresser les informations de couleur de l'illustration source dans l'espace des teintes et dans l'espace des saturations par : 10 - décomposer ladite composante teinte et ladite composante saturation en un ensemble de (k) zones respectives, chaque zone correspondant à un ensemble homogène de pixels dont la teinte, respectivement la saturation, est uniforme ; et - associer à chaque zone une teinte (Ti) et une saturation (Si) respective et les enregistrer dans un dictionnaire. 15 On peut prévoir que l'étape de sélection d'un ensemble d'au moins un attribut permettant de définir une empreinte numérique comprend une étape consistant à sélectionner un nombre d'attributs supérieurs à une valeur seuil enregistrée dans une mémoire 20 On peut prévoir au moins l'une des étapes parmi : - ajouter à l'empreinte numérique des données extrinsèques à l'illustration source ; - sélectionner un nombre d'attributs supérieurs à une valeur seuil enregistrée dans une mémoire parmi l'ensemble d'attributs calculés ; et 25 - encoder au moins certaines couleurs ou informations de couleur de l'illustration source sous forme de métadonnées dudit code-barres. On peut prévoir au moins l'une des étapes consistant à, pour chaque bloc : - disposer les sous-blocs codants et les sous-blocs non-codants de sorte que : 30 o au moins une ligne du bloc comprend un ensemble de sous-blocs codants adjacents deux à deux, ledit ensemble étant entouré d'un ensemble de sous-blocs non-codants, et o au moins une colonne du bloc comprend un ensemble de sous-blocs codants adjacents deux à deux, ledit ensemble étant entouré d'un ensemble de sous- 35 blocs non-codants ; et - disposer les sous-blocs codants et les sous-blocs non-codants de sorte que : 3058543 5 o pour au moins une colonne comprenant un ensemble de sous-blocs codants, chaque sous-bloc non-codant de ladite colonne encode un résultat respectif de l'application d'un code correcteur d'erreurs respectif aux valeurs encodées par ledit ensemble de sous-blocs codants de ladite colonne, 5 o pour au moins une ligne comprenant un ensemble de sous-blocs codants, chaque sous-bloc non-codant de ladite ligne encode un résultat respectif de l'application d'un code correcteur d'erreurs respectif aux valeurs encodées par ledit ensemble de sous-blocs codants de ladite ligne. 10 Selon un autre de ses objets, l'invention concerne un procédé d'authentification d'une illustration inscrite en niveaux de gris ou en couleur, issue d'une illustration source en couleurs, comprenant des étapes consistant à : numériser par un capteur optique : o une illustration inscrite en niveaux de gris ou en couleur, et 15 o un code-barres à deux dimensions encodé selon l'invention, et encodant un message et des métadonnées, décoder le message dudit code-barres à deux dimensions, et comparer le message décodé et l'illustration inscrite. 20 On peut prévoir des étapes consistant à : - sur l'illustration inscrite lue par le capteur optique : o définir ou identifier un ensemble de points remarquables sur l'illustration inscrite lue par le capteur optique, o recalculer un ensemble d'attributs en fonction de certains au moins des 25 points remarquables dudit ensemble, o sélectionner, parmi l'ensemble des attributs recalculés, un ensemble d'au moins un attribut permettant de définir une empreinte numérique, - comparer la valeur de la différence entre les attributs décodés dudit code-barres à deux dimensions et les attributs recalculés à une valeur seuil prédéterminée 30 enregistrée dans une mémoire, et - optionnellement vérifier la signature cryptographique. On peut prévoir en outre des étapes consistant à : calculer une illustration reconstruite de l'illustration source par extraction du message 35 ou des métadonnées dudit code-barres à deux dimensions et à partir dudit message extrait ou desdites métadonnées extraites en suivant l'une des séquences d'étapes A, B, C ou D suivantes, consistant à : 3058543 6 A1. identifier un ensemble de primitives parmi lesdites métadonnées, A2. appliquer chaque primitive à l'illustration inscrite numérisée pour recalculer chaque zone sur l'illustration inscrite numérisée et coloriser chaque zone avec sa couleur respective associée ; et 5 A3. fusionner lesdites zones colorisées recalculées et l'illustration inscrite numérisée ; ou Bl. définir un ensemble de zones de l'illustration inscrite numérisée par un algorithme de détection de contours ; B2. établir une correspondance unique entre chaque zone de 10 l'illustration source et chaque zone de l'illustration inscrite numérisée; B3. colorer chaque zone de l'illustration inscrite numérisée avec la couleur de la zone de l'illustration source correspondante extraite des métadonnées; ou C1. définir un ensemble de zones de l'illustration inscrite numérisée par 15 application d'une grille géométrique statique ayant une forme prédéterminée, optionnellement celle d'un visage, à l'illustration inscrite numérisée ; C2. établir une correspondance unique entre chaque zone de l'illustration source et chaque zone de l'illustration inscrite numérisée; 20 C3. colorer chaque zone de l'illustration inscrite numérisée avec la couleur de la zone de l'illustration source correspondante extraite des métadonnées; ou Dl. extraire d'un dictionnaire les valeurs de l'ensemble des classes (Ti) dans l'espace des teintes et dans l'espace des saturations (Si), 25 D2. recomposer l'ensemble de (k) zones de l'espace des teintes et de l'espace des saturations par décompression du code-barres à deux dimensions, D3. optionnellement redimensionner l'illustration reconstruite dans l'espace des saturations et dans l'espace des teintes aux dimensions 30 de l'illustration inscrite numérisée, D4. reconstruire la composante de brillance à partir de l'illustration inscrite numérisée, ou à partir de l'illustration source numérisée, D5. calculer les composantes de brillance de teinte et de saturation de l'illustration reconstruite par combinaison de l'ensemble des (k) zones 35 de l'espace des teintes et de l'espace des saturations recomposées à l'étape D2, et la composante de brillance reconstruite à l'étape D4, 3058543 7 D6. convertir les composantes de brillance de teinte et de saturation en valeurs rouge vert bleu, et afficher l'illustration reconstruite sur un écran d'affichage ; le procédé comprenant optionnellement en outre une étape de remplissage consistant à 5 appliquer un algorithme de restauration sur l'illustration reconstruite préalablement à l'étape d'affichage. Enfin, selon un autre de ses objets, l'invention concerne un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé 10 selon l'invention, lorsque ledit programme est exécuté sur un ordinateur. D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante donnée à titre d'exemple illustratif et non limitatif et faite en référence aux figures annexées. 15 DESCRIPTIF DES DESSINS la figure 1 illustre une illustration source au sens de la présente l'invention, en l'espèce une photographie d'identité, la figure 2 illustre un mode de réalisation d'un code-barres 2D au sens de la présente 20 l'invention, entourant l'illustration de la figure 1, et comprenant des données extrinsèques au sens de la présente l'invention, la figure 3 illustre des attributs métriques au sens de la présente l'invention, la figure 4 illustre un mode de réalisation d'un bloc au sens de la présente l'invention, la figure 5 illustre l'illustration de la figure 1 après décomposition par primitives en un 25 ensemble de zones, chaque zone étant colorée d'une couleur respective, la figure 6 illustre une illustration recalculée et colorée à partir du code-barres 2D de la figure 2, la figure 7 illustre l'image résultante de la fusion entre les zones colorisées recalculées de la figure 6 et l'illustration inscrite de la figure 2 numérisée, 30 la figure 8 illustre schématiquement une séquence d'encodage de l'illustration de la figure 1 en code-barres 2D dans laquelle chaque zone de l'illustration est définie par une primitive, la figure 9 illustre le décodage du code-barres 2D de la figure 8 ; la figure 10 illustre schématiquement une séquence d'encodage de l'illustration de la figure 1 en code-barres 2D dans laquelle chaque zone de l'illustration est définie par une 35 reconnaissance de contours, la figure 11 illustre le décodage du code-barres 2D de la figure 10 ; 3058543 8 la figure 12A et la figure 12B illustrent la reconstruction d'une illustration par décodage du code-barres 2D encodé avec le portrait original ; la figure 13A et la figure 13B illustrent la reconstruction d'une illustration par décodage du code-barres 2D encodé avec le portrait original mais pour lesquelles les illustrations ont été 5 interverties ultérieurement à l'encodage du code-barres 2D ; la figure 14A illustre l'illustration de la figure 1 numérisée dans l'espace des teintes, et la figure 14B illustre l'illustration de la figure 1 numérisée dans l'espace des saturations. DESCRIPTION DETAILLEE 10 Une illustration source, en couleur, est représentée en figure 1. En l'espèce, l'illustration source et une photographie d'identité, en particulier destinée à un document d'identité. On prévoit tout d'abord une étape consistant à numériser l'illustration source si celle-ci ne 15 se présente pas déjà sous forme numérique. Par simplification, on entend ci-après indistinctement l'illustration source ou son fichier numérique correspondant. Pour pouvoir ultérieurement authentifier l'illustration source et vérifier son intégrité, c'est-à-dire sa non-falsification, il est proposé un mécanisme d'encodage décrit ci-dessous. Points remarquables On prévoit une étape consistant à définir, ou identifier, un ensemble de points remarquables sur l'illustration source. Un point remarquable est défini comme un point de l'illustration source, c'est-à-dire un pixel ou un ensemble de pixels adjacents deux à deux, pour lequel le gradient de contraste, selon une direction et une distance prédéfinies, est supérieur à une valeur seuil prédéfinie. 30 Par exemple, un point remarquable est un point d'impression d'un caractère alphanumérique ou kanji. Un point remarquable peut également être purement graphique, c'est-à-dire non-alphanumérique, comme par exemple un point de l'iris d'un oeil ou un point fixe du support sur lequel l'illustration source est imprimée, par exemple un caractère d'un numéro de série. 20 25 35 3058543 9 Pour une photographie d'une personne, des points remarquables peuvent être par exemple des éléments usuels de biométrie tels que les yeux, le nez, la commissure des lèvres le centre de la bouche, etc. 5 Plus généralement, des points remarquables peuvent être des éléments graphiques situés dans un environnement aux caractéristiques physiques ou mathématiques (en traitement d'images) particulières, comme par exemple des éléments graphiques autour desquels un gradient intense se forme, ou qui répondent à des critères de traitement d'images tels que les détecteurs de Stephen-Harris. Par gradient « intense », on entend un gradient dont la valeur est 10 supérieure à une valeur seuil. Attributs A partir de l'ensemble de points remarquables, on prévoit une étape consistant à calculer 15 un ensemble d'attributs qui concourent au caractère identifiable, voire unique, de l'illustration source. Les attributs comprennent un ensemble de métriques, c'est-à-dire un ensemble de distances ou angles entre certains points remarquables. Les attributs comprennent par exemple les coordonnées de points remarquables (par 20 rapport à un repère prédéterminé), les distances entre certains points remarquables, des valeurs de gradient de contraste autour des points remarquables, etc. La position d'un point remarquable prédéterminé de l'illustration source dans son contexte de représentation (par exemple dans le cadre présenté sur la figure 2), que cette position soit 25 aléatoire ou imposée, peut également être un attribut, par exemple un point remarquable peut être : - un bord de l'illustration source, - un repéré calculé biométriquement, comme le centre de gravité des yeux ou de la bouche. 30 Pour une photographie d'une personne, des attributs peuvent être par exemple des éléments usuels de biométrie tels que des rapports de distance entre les positions des yeux, du nez, de la commissure des lèvres ou du centre de la bouche, ou des angles entre ces mêmes éléments, etc. comme illustré figure 3. 35 Les attributs peuvent être calculés grâce à des logiciels standards de biométrie pour les illustrations de portraits. 3058543 10 Par exemple, pour une illustration source représentant un portrait, les attributs peuvent être calculés en se basant sur la morphologie du visage (position des yeux, du nez et de la bouche) et sur l'orientation de la tête au moment de la prise de vue (tête droite, légèrement 5 penchée vers la gauche, légèrement penchée vers la droite, etc.). On peut aussi utiliser l'algorithme dit SIFT pour "Scale Invariant Feature Transform" en anglais, ou l'algorithme dit SURF pour "Speeded Up Robust Features" en anglais, qui sont tous deux des descripteurs locaux qui consistent, dans un premier temps, à détecter un certain 10 nombre de points remarquables dans l'image, pour ensuite calculer un descripteur décrivant localement l'image autour de chaque point remarquable. La qualité du descripteur est mesurée par sa robustesse aux changements possibles que peut subir une image, par exemple un changement d'échelle et une rotation. 15 Pour l'algorithme SIFT, décrit notamment dans la publication D. Lowe. Object recognition from local scale-invariant features. IEEE International Conference on Computer Vision, pages 1150-1157, 1999, la détection des points est basée sur les différences des gaussiennes (DoG) obtenues par le calcul de la différence entre chaque couple d'images lissées par un filtre gaussien, en variant à chaque fois le paramètre sigma (c'est à dire la déviation standard) du 20 filtre. Les DoG peuvent être calculé pour différents niveaux d'échelle permettant d'introduire la notion de l'espace d'échelle. La détection des potentielles zones de points d'intérêt / points remarquables s'effectue en recherchant les extrema selon le plan de la dimension de l'image (x,y) et le plan du facteur d'échelle. Ensuite une étape de filtrage est nécessaire pour supprimer les points non pertinents, en éliminant par exemple les points dont le contraste est trop faible. 25 Le calcul du descripteur SIFT s'effectue sur une zone autour de chaque point d'intérêt par exemple de 16x16 pixels, subdivisée en 4x4 zones de 4x4 pixels. Sur chacune des 16 zones, un histogramme des orientations du gradient basé sur 8 intervalles est alors calculé. La concaténation des 16 histogrammes donne un vecteur descripteur de 128 valeurs. 30 Pour l'algorithme SURF, décrit notamment dans la publication H. Bay, T. Tuylelaars, and L. Van Gool. Surf : Speeded up robust features. European Conference on Computer Vision, pages 404-417, 2006, la méthode consiste à utiliser le déterminant de la matrice Hessienne, à calculer une approximation des dérivées secondes des gaussiennes de l'image par le biais de 35 filtres à différentes échelles en utilisant des masques de différentes tailles (par exemple 9x9, 15x15, 21x21, ...). Pour le calcul de l'orientation des points et les descripteurs autour des points, le principe est basé sur les sommes des réponses des ondelettes de Haar horizontales 3058543 11 et verticales ainsi que leurs normes. La zone circulaire de description est divisée là encore en 16 régions. Une analyse en ondelettes est effectuée sur chaque région afin de construire le descripteur final. Ce dernier est constitué de la somme des gradients en x et en y ainsi que de la somme de leur norme respective pour l'ensemble des 16 régions. Le vecteur descripteur est 5 ainsi constitué de 64 valeurs qui représentent des propriétés extraites à la fois dans l'espace normal et dans celui des échelles de grandeur. De préférence, on prévoit une étape consistant à classer les attributs selon un ordre de priorité de vraisemblance, ce qui permet de ne sélectionner que les plus efficaces pour détecter 10 une éventuelle manipulation de l'illustration source. Par exemple, la distance entre deux yeux d'un être humain adulte est en moyenne de 63 mm, et généralement comprise entre 58 mm et 72mm. Pour une illustration source représentant un portrait, si un attribut calcule que la distance entre les deux yeux est supérieure à une valeur 15 prédéterminée, en l'espèce 8 cm, ou inférieure à une autre valeur prédéterminée, en l'espèce 5 cm, on peut prévoir que cet attribut est rejeté (non sélectionné). On peut donc prévoir une étape consistant à sélectionner tout ou partie des attributs calculés. 20 De préférence, on prévoit de sélectionner un nombre d'attributs supérieurs à une valeur seuil enregistrée dans une mémoire. Plus les métriques (nombre d'attributs) sont nombreuses et différentes les unes des autres, plus le taux de confusion diminue. 25 Empreinte L'ensemble des attributs sélectionnés définit une empreinte numérique de l'illustration source. 30 Une fois les attributs sélectionnés, on peut alors enregistrer ladite empreinte numérique dans une mémoire. En l'espèce, l'empreinte numérique est enregistrée sous forme de vecteur de données dans une mémoire temporaire. Typiquement, le vecteur de données comprend les valeurs des attributs sélectionnés, juxtaposées deux à deux. 35 On peut aussi prévoir une étape consistant à ajouter à l'empreinte numérique des données extrinsèques à l'illustration source, en particulier des données intrinsèques à l'environnement dont l'illustration source est solidaire. 3058543 12 Par exemple, pour une illustration source telle qu'une photographie dans un environnement tel qu'un document, en particulier un document d'identité, on peut prévoir au moins l'un des ensembles de données parmi : 5 - des données relatives au porteur dudit document et inscrites dans ledit document, par exemple le nom, le prénom, la taille, la date de naissance du porteur, etc. ; et qui peuvent faciliter le contrôle du document, - des données relatives audit document, par exemple des informations utiles à l'utilisation dudit document (date de validité, périmètre d'usage,...) de préférence 10 dont l'authenticité est prouvée par la signature cryptographique décrite ultérieurement, - des métadonnées relatives à l'illustration source, par exemple des métadonnées relatives aux couleurs de l'illustration source, comme décrit ultérieurement ; - des métadonnées relatives au document, par exemple : 15 o une classification, des données provenant de bases de données externes, des conditions d'utilisation, etc. ; o une « charge utile » telle qu'une empreinte digitale, l'empreinte de l'iris d'un ceil, etc. du porteur du document, représentée sous la forme d'un code de minuties ; ou encore 20 - la date de création de l'illustration source ou de création du code-barres 2D décrit ci- après. Par convention, on appelle donc « empreinte » indistinctement l'ensemble d'attributs sélectionnés et l'ensemble d'attributs sélectionnés auxquels sont ajoutées les données 25 extrinsèques à l'illustration source. Compression L'empreinte numérique est ensuite préférentiellement compressée pour ne représenter 30 que quelques octets d'informations. Signature L'empreinte numérique éventuellement compressée est alors signée au moyen d'une 35 signature cryptographique qui permet de prouver que l'ensemble de ces informations ont été émises par une source de confiance. 3058543 13 Avantageusement, on prévoit de signer au moyen d'une signature cryptographique à clef publique, en particulier compacte, de préférence faisant appel à la cryptographie sur des courbes elliptiques, et par exemple selon l'algorithme ECDSA pour Elliptic Curve Digital Signature Algorithm en anglais. 5 Cette signature exploite l'asymétrie entre la clef privée et la clef publique et permet de signer de manière sécurisée l'empreinte numérique, tout en s'assurant : - d'une part, que personne ne disposant du certificat ne soit en mesure de refaire ladite signature de l'empreinte numérique (et ainsi de pouvoir faire croire que le contenu 10 provient de source de confiance alors qu'il ne l'est pas) ; et - d'autre part, que chacun puisse vérifier l'authenticité de l'empreinte numérique et de l'identité de son signataire, au moyen d'une clef sans danger fournie par exemple dans une application sur un objet communicant (téléphone, smartphone, tablette, ordinateur portable, etc.) équipé d'un objectif optique et d'un écran d'affichage, ou 15 dans un logiciel ad hoc. Code-barres 2D On prévoit une étape consistant à encoder un message sous la forme d'un code-barres à 20 deux dimensions, dit code-barres 2D, représenté par des pixels. Le message comprend l'un parmi : - un ensemble d'au moins un attribut, - l'empreinte numérique, 25 - l'empreinte numérique compressée, - l'empreinte numérique signée non compressée, et - l'empreinte numérique compressée signée. On peut également prévoir que le message comprend en outre : 30 - un ensemble d'au moins un point remarquable à partir duquel les attributs sont calculés, ce qui permet typiquement de ne calculer l'empreinte que sur une partie seulement d'une illustration source. Le code-barres 2D est ensuite rendu solidaire de l'illustration source, par exemple par 35 impression sur le support de l'illustration source, et en particulier sur une page d'un document d'identité. Le code-barres 2D peut aussi être imprimé sous forme d'étiquette collée au support 3058543 14 de l'illustration source. D'autres techniques peuvent être mises en oeuvre, par exemple par gravure ou autre, tant que le code-barres 2D peut être reconnu optiquement. On prévoit que le code-barres 2D est disposé de manière prédéfinie par rapport à 5 l'illustration source, c'est-à-dire que sa forme est prédéfinie, ses dimensions sont prédéfinies et la position relative entre le code-barres 2D et l'illustration source est également prédéfinie. Dans le domaine de l'art, si l'illustration source est une peinture, on peut prévoir que le code-barres 2D est imprimé sur le support de la peinture, par exemple une toile, et de 10 préférence caché par le cadre de celle-ci ; si l'illustration source est une sculpture, on peut prévoir que le code-barres 2D est imprimé ou gravé sur le socle de celle-ci. On peut prévoir que le code-barres 2D encadre l'illustration source, en l'espèce le code-barres 2D présente une forme de cadre polygonal, et plus particulièrement un cadre 15 rectangulaire, comme illustré figure 2, ce qui est avantageux dans le domaine de la sécurité. De préférence, la position relative de l'illustration et du code-barres 2D encadrant celle-ci comporte un aléa de position et cette position relative est un attribut, ce qui permet de sécuriser encore l'empreinte numérique. En effet, deux illustrations identiques (ou une même illustration 20 source) génèrent un premier et un deuxième code-barres 2D quasi identiques. Mais grâce à l'aléa de position, la position relative du premier code-barres 2D et la position relative du deuxième code-barres 2D est différente. En particulier, l'aléa de position est un aléa prédéterminé et non un aléa mécanique du par exemple à la fabrication. 25 Ainsi, dans le domaine de la sécurité, il peut arriver qu'un document d'identité soit perdu et que le porteur dudit document perdu fasse faire un nouveau document d'identité avec la même photographie que celle utilisée pour le document d'identité perdu. Dans ce cas, comme la position de la photographie sur le nouveau document d'identité n'est pas exactement à la même position que sur le document d'identité perdu, alors l'attribut correspondant du nouveau 30 document est différent de l'attribut correspondant du document d'identité perdu. Il est ainsi possible de distinguer deux versions (autrement identiques) d'un même document. Typiquement, le code-barres 2D est construit au sein d'un ensemble d'amers. Ces amers permettent de redresser par traitement des images à la fois l'illustration source et le code- 35 barres 2D. Le nombre d'amers peut-être adapté en fonction de la surface cible sur laquelle l'illustration source est apposée / imprimée / inscrite / collée / affichée / etc. En effet, la surface 3058543 15 cible peut être plane mais aussi cylindrique, conique, tronconique, etc. Les éléments à redresser sont inclus dedans pour assurer leur redressement optimal. Pour une surface cible plane, comme illustré figure 2, on prévoit de préférence trois ou 5 quatre amers qui entourent l'illustration source à sécuriser. L'encodage permet d'inscrire à l'immédiate proximité de l'illustration source et de manière codée, des éléments de sécurité qui assureront une vérification facile au moyen d'un objet communicant ou d'une caméra (y compris webcam) quelconque. La proximité immédiate de l'illustration source et du code-barres 2D permet d'assurer une certaine sécurité en ce que l'altération (volontaire ou non) de l'illustration source risque d'endommager le code-barres 2D, et réciproquement. En outre, elle permet que l'illustration source et le code-barres 2D soient lus simultanément par un capteur optique Encodage de la redondance Le code-barres 2D inclut un certain nombre de propriétés de redondance du message pour éviter les difficultés de lecture ultérieure. Une implémentation possible est l'utilisation d'un 20 code correcteur, typiquement l'un des codes parmi : un Code de Hamming un Code de Golay un Code de Reed-Müller un Code de Goppa 25 un Code de Xing, et un code de Reed-Solomon. Un exemple de méthode d'encodage du code-barres 2D consiste à créer une pluralité de blocs de M lignes x N colonnes d'éléments binaires chacun, avec M et N des entiers naturels 30 tous deux supérieurs ou égaux à 3. De préférence M = N de sorte à obtenir des blocs carrés. En fonction de la longueur du message, ledit message peut être scindé en fragments, 35 chaque fragment étant encodé sur un bloc respectif. Par concision, on assimilera message et fragment(s). 10 15 3058543 16 Les blocs peuvent être répartis suivant des formes variées adaptées au support utilisé. Par exemple, les blocs peuvent se trouver répartis dans le fond d'une photographie ou former un motif particulier. La seule contrainte est qu'ils restent à l'intérieur de la surface couverte par les amers ou dans leur proximité immédiate, afin de permettre un bon redressement. 5 Dans un bloc codant, un fragment est encodé sur un ensemble d'éléments binaires appelés « codants » dont la position est connue et prédéterminée. Il est proposé ici que chaque bloc codant contient, outre les éléments binaires codants, un 10 ensemble d'éléments binaires non-codants, différents des éléments binaires codants, et dont la position est également connue et prédéterminée. En l'espèce, on prévoit que chaque bloc M x N est organisé en : un ensemble de sous-blocs codants, chaque sous-bloc codant comprenant un ensemble 15 McxNc d'éléments binaires codants ; avec Mc et Nc deux entiers naturels tels que Mc REVENDICATIONS1. Procédé d'encodage d'une illustration source en couleurs, comprenant des étapes consistant à : - inscrire ladite illustration source sous forme d'une illustration inscrite en niveaux de gris ou en couleur, - encoder un message sous la forme d'un code-barres à deux dimensions comprenant un ensemble de blocs, chaque bloc codant un fragment dudit message et comprenant un ensemble de lignes et colonnes, et chaque bloc comprenant un ensemble de sous-blocs codants, chaque sous-bloc comprenant un ensemble d'éléments binaires ; caractérisé en ce que l'étape d'encodage comprend des étapes préalables consistant à : définir ou identifier un ensemble de points remarquables sur l'illustration source, calculer un ensemble d'attributs en fonction de certains au moins des points remarquables dudit ensemble, sélectionner, parmi l'ensemble des attributs calculés, un ensemble d'au moins un attribut permettant de définir une empreinte numérique, optionnellement compresser ladite empreinte numérique, optionnellement signer ladite empreinte numérique au moyen d'une signature cryptographique, enregistrer dans le message l'un parmi : - un ensemble d'au moins un attribut, - l'empreinte numérique, - l'empreinte numérique compressée, - l'empreinte numérique signée non compressée, et - l'empreinte numérique compressée et signée. 2. Procédé selon la revendication 1, comprenant en outre une étape consistant à : - encoder au moins certaines informations de couleur de l'illustration source dans ledit code-barres à deux dimensions. 3. Procédé selon l'une quelconque des revendications précédentes, comprenant en outre au moins l'une des étapes consistant à : - inscrire ledit code-barres à deux dimensions sur un support de destination ; solidariser ladite illustration inscrite et ledit support de destination ; - rendre le code-barres à deux dimensions solidaire de l'illustration inscrite ; et 3058543 35 - disposer le code-barres à deux dimensions de manière prédéfinie par rapport à l'illustration inscrite, optionnellement en encadrant ladite illustration inscrite. 4. Procédé selon l'une quelconque des revendications précédentes, dans lequel chaque bloc codant comprend en outre un ensemble de sous-blocs non-codants dont la position est prédéfinie, le procédé comprenant en outre, pour chaque bloc codant, des étapes consistant à : - sélectionner un ensemble prédéfini de sous-blocs codants, - encoder sur un ensemble d'au moins un sous-bloc non-codant prédéfini le résultat de l'application d'un code correcteur d'erreurs aux valeurs encodées par ledit ensemble prédéfini de sous-blocs codants. 5. Procédé selon l'une quelconque des revendications précédentes, comprenant : - numériser l'illustration source si celle-ci n'est pas déjà sous forme numérique ; et Soit : - décomposer l'illustration source numérisée en un ensemble de zones, chaque zone étant définie : - par une primitive, déterminée par un algorithme de reconnaissance de forme, un algorithme de reconnaissance biométrique ou un gradient de couleur ; ou - par un algorithme de détection de contours ; ou par application à l'illustration source d'une grille géométrique statique ayant une forme prédéterminée, optionnellement celle d'un visage, la grille comprenant un ensemble de zones ; et - associer à chaque zone une couleur ou une information de couleur respective ; Soit : - convertir l'illustration source numérisée, éventuellement redimensionnée, dans l'espace Teinte Saturation Valeur comprenant une composante teinte et une composante saturation ; et - compresser les informations de couleur de l'illustration source dans l'espace des teintes et dans l'espace des saturations par : - décomposer ladite composante teinte et ladite composante saturation en un ensemble de zones respectives, chaque zone correspondant à un ensemble homogène de pixels dont la teinte, respectivement la saturation, est uniforme ; et - associer à chaque zone une teinte et une saturation respective et les enregistrer dans un dictionnaire. 3058543 36 6. Procédé selon l'une quelconque des revendications précédentes, comprenant au moins l'une des étapes parmi : - ajouter à l'empreinte numérique des données extrinsèques à l'illustration source, - sélectionner un nombre d'attributs supérieurs à une valeur seuil enregistrée dans une mémoire parmi l'ensemble d'attributs calculés ; et - encoder au moins certaines informations de couleur de l'illustration source sous forme de métadonnées dudit code-barres. 7. Procédé selon l'une quelconque des revendications 4 à 6, comprenant au moins l'une des étapes consistant à, pour chaque bloc : disposer les sous-blocs codants et les sous-blocs non-codants de sorte que : o au moins une ligne du bloc comprend un ensemble de sous-blocs codants adjacents deux à deux, ledit ensemble étant entouré d'un ensemble de sous-blocs non-codants, et o au moins une colonne du bloc comprend un ensemble de sous-blocs codants adjacents deux à deux, ledit ensemble étant entouré d'un ensemble de sous-blocs non-codants ; et disposer les sous-blocs codants et les sous-blocs non-codants de sorte que : o pour au moins une colonne comprenant un ensemble de sous-blocs codants, chaque sous-bloc non-codant de ladite colonne encode un résultat respectif de l'application d'un code correcteur d'erreurs respectif aux valeurs encodées par ledit ensemble de sous-blocs codants de ladite colonne, o pour au moins une ligne comprenant un ensemble de sous-blocs codants, chaque sous-bloc non-codant de ladite ligne encode un résultat respectif de l'application d'un code correcteur d'erreurs respectif aux valeurs encodées par ledit ensemble de sous-blocs codants de ladite ligne. 8. Procédé d'authentification d'une illustration inscrite en niveaux de gris ou en couleur, issue d'une illustration source en couleurs, comprenant des étapes consistant à : numériser par un capteur optique : o une Ilustration inscrite en niveaux de gris ou en couleur, et o un code-barres à deux dimensions encodé selon un procédé d'encodage selon l'une quelconque des revendications précédentes, et encodant un message et des métadonnées ; - décoder le message dudit code-barres à deux dimensions, et - comparer le message décodé et l'illustration inscrite. 3058543 37 9. Procédé d'authentification selon la revendication 8, comprenant des étapes consistant à : - sur l'illustration inscrite lue par le capteur optique : o définir ou identifier un ensemble de points remarquables sur l'illustration inscrite lue par le capteur optique, o recalculer un ensemble d'attributs en fonction de certains au moins des points remarquables dudit ensemble, o sélectionner, parmi l'ensemble des attributs recalculés, un ensemble d'au moins un attribut permettant de définir une empreinte numérique, - comparer la valeur de la différence entre les attributs décodés dudit code-barres à deux dimensions et les attributs recalculés à une valeur seuil prédéterminée enregistrée dans une mémoire, et - optionnellement vérifier la signature cryptographique. 10. Procédé d'authentification selon l'une quelconque des revendications 8 ou 9, comprenant en outre des étapes consistant à : calculer une illustration reconstruite de l'illustration source par extraction du message ou des métadonnées dudit code-barres à deux dimensions et à partir dudit message extrait ou desdites métadonnées extraites en suivant l'une des séquences d'étapes A, B, C ou D suivantes, consistant à: A1. identifier un ensemble de primitives parmi lesdites métadonnées, A2. appliquer chaque primitive à l'illustration inscrite numérisée pour recalculer chaque zone sur l'illustration inscrite numérisée et coloriser chaque zone avec sa couleur respective associée ; et A3. fusionner lesdites zones colorisées recalculées et l'illustration inscrite numérisée ; ou B1. définir un ensemble de zones de l'illustration inscrite numérisée par un algorithme de détection de contours ; B2. établir une correspondance unique entre chaque zone de l'illustration source et chaque zone de l'illustration inscrite numérisée; B3. colorer chaque zone de l'illustration inscrite numérisée avec la couleur de la zone de l'illustration source correspondante extraite des métadonnées; ou Cl. définir un ensemble de zones de l'illustration inscrite numérisée par application d'une grille géométrique statique ayant une forme 3058543 38 prédéterminée, optionnellement celle d'un visage, à l'illustration inscrite numérisée ; C2. établir une correspondance unique entre chaque zone de l'illustration source et chaque zone de l'illustration inscrite numérisée; C3. colorer chaque zone de l'illustration inscrite numérisée avec la couleur de la zone de l'illustration source correspondante extraite des métadonnées; ou Dl. extraire d'un dictionnaire les valeurs de l'ensemble des classes dans l'espace des teintes et dans l'espace des saturations, D2. recomposer l'ensemble de zones de l'espace des teintes et de l'espace des saturations par décompression du code-barres à deux dimensions, D3. optionnellement redimensionner l'illustration reconstruite dans l'espace des saturations et dans l'espace des teintes aux dimensions de l'illustration inscrite numérisée, D4. reconstruire la composante de brillance à partir de l'illustration inscrite numérisée, ou à partir de l'illustration source numérisée, D5. calculer les composantes de brillance de teinte et de saturation de l'illustration reconstruite par combinaison de l'ensemble des zones de l'espace des teintes et de l'espace des saturations recomposées à l'étape D2, et la composante de brillance reconstruite à l'étape D4, D6. convertir les composantes de brillance de teinte et de saturation en valeurs rouge vert bleu, et afficher l'illustration reconstruite sur un écran d'affichage ; le procédé comprenant optionnellement en outre une étape de remplissage consistant à appliquer un algorithme de restauration sur l'illustration reconstruite préalablement à l'étape d'affichage. 11. Programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé selon l'une quelconque des revendications précédentes, lorsque ledit programme est exécuté sur un ordinateur.