Brevet FR2581776A1 — publié le 19861114

Procédé et dispositif pour l'établissement et le contrôle d'un document à usage réservé à son titulaire, et document ainsi établi. L'invention concerne un procédé et un dispositif pour l'établissement et le contrôle d'un document dont l'usage est réservé à son titulaire ou éventuellement à un porteur habilité, ce document étant par exemple un chèque bancaire, une carte de crédit ou encore une carte nationale d'identité, un passeport, etc. On connait déjà des procédés de ce type, selon lesquels le titulaire du document choisit un mot composé de lettres et/ou de chiffres, dont il est certain de se souvenir sans avoir besoin de le noter, et tape ce mot sur un clavier relié à un microprocesseur ou analogue dans lequel est enregistré un algorithme, qui transforme le mot tapé par le titulaire en une information codée qui est ensuite reportée sur le document sous une forme quelconque, pour être lisible de façon visuelle ou au moyen d'un appareil de lecture approprié. Lorsqu'une personne qui détient ce document veut 11uti- liser, on peut lui demander de taper le mot qu'elle doit connaître sur le clavier d'un dispositif de contrôle, comprenant également un microprocesseur permettant de coder ce mot de la même façon qu'indiqué plus haut, et on compare, visuellement ou automatiquement, 11 information codée résultant du codage du mot tapé par la personne à l'information codée qui figure sur le document, pour vérifier que la personne qui détient le document est bien son titulaire, ou bien une personne à qui le titulaire du document a communiqué le mot correspondant. Ces procédés connus, qui sont censés éviter l'utilisation frauduleuse de documents volés ou perdus (notamment de chèques bancaires et de cartes de crédit), présentent cependant un certain nombre d'inconvénients. Tout d'abord, les algorithmes ou lois de codage qui sont utilisés pour transformer le mot choisi par le titulaire du document en une information codée qui va figurer sur le document, sont en général relativement faciles à inverser, dès que l'on connaît quelques mots et les informations codées correspondantes, ce qui permet par exemple à un faussaire de découvrir, à partir de l'information codée figurant sur le document, le mot qui correspond à cette information codée. I1 est bien entendu possible de déterminer un algorithme ou une loi de codage qui soit réellement impossible à inverser à partir de quelques couples de mots et d'informations codées correspondante, ctest-à- dire un algorithme ou une loi tel que le calcul de l'algorithme ou de la loi inverse soit pratiquement infaisable et que la seule méthode pour retrouver le mot à partir d'une information codée soit celle des essais systématiques, consistant à essayer tous les mots possibles, ce qui, même avec les moyens informatiques les plus puissants, prendrait quelques dizaines de siècles ou davantage. Un tel procédé n'assure cependant pas de protection contre la fabrication frauduleuse de documents En effet, comme les dispositifs de contrôle sont nécessai- rement nombreux et comprennent un microprocesseur dans lequel est enregistré l'algorithme ou la loi de codage utilisé, il devient possible à une personne de taper sur l'un de ces dispositifs un mot quelconque et drob- tenir l'information codée correspondante qui peut être ensuite reportée sur une copie ou une imitation d'un document authentique. La personne pourra ensuite utiliser ce document sans être démasquée, puisqu'elle connaîtra le mot correspondant à l'information codée figurant sur le document. L'ivnention a notamment pour objet un procédé permettant d'éviter ces inconvénients des procédés connus. Elle propose à cet effet un procédé pour l'établisse- ment et le contrôle d'un document, tel qu'un chèque bancaire, dont l'usage est réservé à son titulaire ou à un porteur habilite, ce procédé consistant à porter sur le document une information codée correspondant à un mot connu du seul titulaire du document, puis à demander, lors de l'usage du document; l'émission de~ ce mot au porteur du document, à coder le mot émis et à vérifier la concordance entre l'information codée ainsi obtenue et celle qui est portée sur le document, le procédé étant caractérisé en ce que le codage du mot est réalisé par application à ce mot dbun premier algorithme impossible à inverser, donnant une première information codée à laquelle on applique un second algorithme tenu secret et tel qu'il ne puisse être déterminé à partir de l'algorithme inverse, pour obtenir une deuxième information codée qui est portée sur le document. Selon l'invention, le procédé de contrôle de l'usage d'un document ainsi établi est caractérisé en ce qu'il consiste à lire sur le document la deuxième information codée et à lui appliquer un algorithme inverse du second algorithme pour obtenir une information qui est encore partiellement codée, à coder par application du premier algorithme le mot qui est émis par le porteur du document pour obtenir une autre information codée, et à vérifier la concordance entre cette information codée et ladite information partiellement codée. Un tel procédé permet d'éviter, non seulement l'utilisation frauduleuse d'un document appartenant à un tiers, mais également la fabrication frauduleuse de documents par une personne disposant d'un dispositif de contrôle. En effet, une telle personne ne pourra obtenir l'algorithme inverse du premier algorithme utilisé pour le codage du mot, puisque cet algorithme est par définition impossible à inverser, et ne connaitra pas le second algorithme utilisé pour le codage, puisqu'elle ne disposera que de l'algorithme inverse et que la connaissance de l'algorithme inverse ne permet pas de remonter à celle du second algorithme. Une personne tentant de frauder ne pourra donc jamais obtenir un mot et l'information codée qui lui correspond et qui doit figurer sur le document. Selon une autre caractéristique de l'invention, le procédé d'établissement d'un tel document consiste à ajouter, à la première information codée, une troisième information caractérisant le document, par exemple un numéro de série, et à appliquer le second algorithme à l'information constituée par la première information codée et par la troisième information, pour obtenir la deuxième information codée qui sera portée sur le document. Le procédé de contrôle correspondant est caractérisé en ce qu'il consiste à coder, par application du premier algorithme, le mot émis par le porteur du document pour obtenir une quatrième information, à lire sur le document la deuxième information codée test à lui appliquer l'algorithme inverse du second algorithme pour obtenir, d'une part, une cinquième information que l'on compare à la quatrième information et une sixième information que l'on compare à la troisième information, et à accepter le document en cas de résultat satisfaisant de ces deux comparaisons. On établit ainsi, entre le document et son titulaire, une relation qu'il est impossible de découvrir et de reproduire frauduleusement, et qui permet d'identifier le document lui-même. Selon d'autres caractéristiques de l'invention le mot précité, connu ou choisi par le titulaire du document, comprend un nombre quelconque de caractères alphanumériques, qui doit uniquement être supérieur à une valeur prédéterminée,et est transcrit dans un alphabet numérique comprenant un nombre prédéterminé de bits par caractère, avant d'être codé. Cette transcription peut être facilement réalisée par frappe du mot sur un clavier d'un type usuel. Selon encore une autre caractéristique de l'invention, la deuxième information codée figurant sur le document est composée de caractères de l'alphabet usuel et/ou de chiffres. Cela facilite une lecture visuelle de cette information codée, qui peut ensuite être tapée sur un clavier de type usuel. L'invention propose également un dispositif de contrôle de l'usage d'un document, tel qu'un chèque bancaire par exemple qui a été établi par le procédé selon l'invention, ce dispositif étant caractérisé en ce qu'il comprend des moyens pour transcrire dans un alphabet numérique déterminé un mot émis par le porteur du document, des moyens d'entrée ou de lecture de l'information codée figurant sur le document, des moyens de calcul appliquant, d'une part, le premier algorithme de codage à la transcription numérique du mot émis et, d'autre part, un algorithme inverse du second algorithme de codage à l'information codée portée sur le document, et des moyens de vérification de la concordance de ces deux calculs. Les moyens de vérification précités comprennent avantageusement un comparateur dont les entrées sont alimentées par les moyens de calcul et dont la sortie est reliée à des moyens d'affichage des résultats. L'invnetion concerne également un document, tel qu'un chèque bancaire, par exemple, dont l'usage est réservé à son titulaire ou à un porteur habilité et sur lequel figure une information codée correspondant à un mot connu ou choisi par le titulaire, caractérisé en ce que cette information codée est la transcription codée, par un algorithme tenu secret, d'une autre information codée par un algorithme impossible à inverser et appliqué à une information initiale correspondant au mot connu ou choisi par le titulaire. Avantageusement, l'information codée figurant sur le document est formée de lettres de l'alphabet usuel et/ ou de chiffres, et peut être écrite dans un code barres déjà utilisé pour d'autres informations figurant sur le document. Dans la description qui suit, faite à titre d'exemple, on se réfère aux dessins annexés, dans lesquels - la figure 1 représente schématiquement un procédé et un dispositif d'établissement d'un document selon l'invention; - la figure 2 représente schématiquement un procédé et un dispositif de contrôle du document, lorsque celui-ci est utilisé; - la figure 3 représente schématiquement une variante du procédé et du dispositif selon l'invention. On se réfère d'abord à la figure 1, qui représente schématiquement un procédé et un dispositif d'établissement d'un document selon l'invention. Lorsque ce docuemnt est, par exemple, un chèque bancaire, le titulaire du compte bancaire doit, dans la banque, taper sur un clavier 10 un mot M qu'il sera seul àconnaltreet qu'il choisira de façon à pouvoir le mémoriser sans avoir à le noter quelque part. Lorsque le clavier 10 est d'un type usuel, comprenant les caractères de l'alphabet ordinaire et également des chiffres de 0 à 9, par exemple, le mot choisi peut être une combinaison de lettres et de chiffres, ou bien être constitué uniquement de lettres ou encore uniquement de chiffres, à condition qu'il comprenne un nombre de caractères alphanumériques supérieur à une valeur prédéterminée pour que le mot comprenne suffisamment d'informations et que le codage soit efficace. Cette valeur prédéterminée peut être égale à 4, 5 ou 6 caractères par exemple, en fonction du type de codage qui lui sera appliqué par la suite. Le mot M tapé sur le clavier 10 est transcrit par ce clavier dans un alphabet numérique, par exemple l'alphabet international ASCII à sept bits par caractère. On applique un algorithme ou une transformation de codage T, impossible à inverser, à l'information I résultant de la transcription du mot M dans l'alphabet numérique choisi. l'algorithme ou la transformation T doit répondre aux caractéristiques suivantes - Elle doit être facile à mettre en oeuvre, par exemple au moyen d'un programme comprenant de 500 à 2000 octets pour un microprocesseur à 8 bits. - L'algorithme ou transformation T doit être impossible à inverser, c'est-à-dire que le calcul de T 1 est pratiquement infaisable, et que la seule méthode possible pour retrouver le mot M à partir de l'information Iî= T(I) soit celle des essais systématiques consistant à essayer tous les mots possibles, ce qui, avec les ordinateurs les plus puissants, prendrait au moins quel ques milliers d'années pour un mot M comprenant 8 lettres et transcrit dans l'alphabet international ASCII. - L'information codée I1 comprend un nombre suffisant de bits, par exemple compris entre 56 et 128. L'information codée Il résultant de l'application de l'algorithme ou de la transformation T à l'information I, est transmise par la banque, avec les autres données habituelles (nom et adresse du titulaire, numéro du compte, etc) à l'imprimerie produisant les chèques bancaires. Ces données, comprenant l'information codée I 1,sont introduites avec une autre donnée caractérisant le document, par exemple le numéro de série du chèque nc, dans un microprocesseur programmé de façon à appliquer, aux informations 11 et nc, un algorithme ou une transformation f qui est tenu secret et qui est tel que la connaissance de l'algorithme ou de la transformation inverse f 1 ne permette pas de remonter à la connais- sance de f. L'information codee Z, qui est le résultat de l'application de l'algorithme f à l'information (11, nc}, est portée sur le chèque 12, de même que le numéro de chèque nc, et les autres données habituelles d'identification de la banque, de l'agence bancaire, du compte bancaire,du titulaire, etc. L'information codée Z figurant sur le chèque peut être imprimée sous diverses formes, par exemple dans un alphabet alphanumérique, dans un code barres déjà utilisé pour l'impression de certaines données figurant en clair sur le chèque, etc. Le fait d'imprimer l'information codée Z sur le cheque dans le même alphabet que celui qui est déjà utilisé pour l'impres sion des chèques facilite ia lecture de cette information, qu'il s'agisse d'une lecture visuelle ou automatique, et facilite également l'impression des chèques. On évite également que l'impression de l'information Z sur le chèque prenne trop de place. Par exemple, lorsque l'information Z est imprimée dans un alphabet codable sur p bits, et que l'information Z comprend n bits, le nombre de lettres à imprimer est n/p. Pour n - 56 bits et p = 7 bits (alphabet international ASCII), le nombre des lettres à imprimer sera de 8. On se réfère maintenant à la figure 2, qui représente schématiquement le procédé et le dispositif de contrôle qui sont mis en oeuvre lors de l'usage d'un chèque 12 établi par le procédé et le dispositif de la figure 1. La personne qui utilise le chèque 12 doit, pour que le chèque soit accepté, taper sur un clavier 10, identique à celui de la rigure 1, le mot M. A l'information correspondante I on applique l'algorithme ou la transformation T pour obtenir l'information II. Par ailleurs, on lit sur le chèque 12 les informations Z et nc, on applique à l'information Z l'algorithme ou la transformation f 1 inverse de l'algorithme ou de la transformation f précédemment utilisé, de façon à obtenir, d'une part, une information I'l, que l'on compare à l'information Il, et, d'autre part, une information nc' que l'on compare au numéro du chèque nc lu sur le chèque. Lorsque ces comparaisons établissent l'identité des informations I1 et I'1 et des informations nc et nc', le chèque 12 peut être accepté. Ce procédé de contrôle peut être mis en oeuvre au moyen d'un dispositif de contrôle comprenant, d'une part, un clavier 10 pour la frappe du mot M par le porteur du chèque, et d'autre part un microprocesseur comprenant des moyens 14 de calcul des algorithmes T et f 1, des moyens 16 de comparaison des informations I1, I'1 et nc, nc', et un circuit ET 18 recevant les résultats de ces comparaisons et délivrant un signal d'acceptation ou de refus du chèque. Le microprocesseur peut -également être associé à des moyens 20 de lecture automatique de l'information Z et du numéro nc figurant sur le chèque. D'autre part, lorsque l'information Z et le numéro nc sont imprimés sur le chèque dans un alphabet usuel, les moyens 20 de lecture automatique peuvent être remplacés par le clavier 10. On comprend que, même si un faussaire peut utiliser un dispositif de contrôle tel que celui de la figure 2, il ne pourra, ni utiliser frauduleusement des documents appartenant à un tiers, ni fabriquer frauduleusement des documents. En effet, le dispositif de contrôle de la figure 2 permet à une personne de taper un mot M sur le clavier 10 et d'avoir accès à l'information Il correspondante. Toutefois, comme cette personne ne connaît pas l'algorithme f utilisé pour le codage de l'information Z, et qu'elle ne peut calculer cet algorithme à partir de l'algorithme inverse f 1, elle ne pourra obtenir l'information codée Z correspondant au mot M. Inversement, si cette personne part d'une information Z quelconque à laquelle elle applique l'algorithme f 1, elle pourra obtenir l'information I1 correspondante, mais ne pourra découvrir le mot M correspondant à cette information I1 puisque l'algorithme T est impossible à inverser. On comprend également qu'il n'est pas indispensable que l'information à laquelle on applique l'algorithme f lors de l'établissement du document comprenne une information caractérisant ce document, telle que son numéro de série. L'information codée Z peut donc être le résultat de l'application de l'algorithme f à lin- formation Il. Dans ce cas, le dispositif de contrôle de la figure 2 est simplifié, car le deuxième comparateur 16 et le circuit ET 18 ne sont plus nécessaires. Par ailleurs, les deux comparateurs 16 et le circuit ET 18 du dispositif de la figure 2 ne sont pas non plus à proprement parler indispensables. Les sorties des moyens de calcul 14 peuvent être reliées à des moyens d'affichage permettant de visualiser les séries de bits ou de caractères alphanumériques représentant les informations I1 et I'1, pour les comparer visuellement. En outre, lorsque l'information codée Z est imprimée sur le chèque dans un alphabet usuel, le dispositif de contrôle peut comprendre uniquement le clavier 10, les moyens 14 de calcul des algorithmes T et f 1 et des moyens d'affichageou de comparaison. On peut également prévoir que l'information Il comprendra un nombre de bits prédéterminé et invariant, quel que soit le nombre de caractères du mot M choisi par une personne. On peut utiliser pour cela un registre à décalage tel que le registre R représenté schématiquement en figure 3, qui comprend n pas et qui est rebouclé selon un polynôme primitif du type Xn + XP + 1, où le symbole "+" désigne l'addition des entiers modulo 2. Ce registre à décalage est utilisé de la façon suivante: Le registre R est initialisé à une valeur prédéterminée non nulle, définie par n bits qui ne sont pas tous nuls. Pendant que le mot M est frappé sur le clavier 10 qui produit l'information I, le registre R tourne et, à chaque avance,le bit de rebouclage égal à R(n) + R(p) est modifié par un nouveau bit pris dans I, soit I(i), ce qui définit le bit Y introduit dans R(1), de la façon suivante Y = R(n) + R(p) + I(i) Lorsque tous les bits de l'information I ont été ainsi rentrés dans le registre R, on fait tourner ce registre un nombre prédéterminé de fois pour assurer un bon mélange des bits qu'il contient, et on applique la transformation T au contenu du registre R, pour obtenir l'information codée Il. I1 existe, pour le rebouclage du registre R, des polynômes primitifs de toute longueur, jusqu'à n = 127, et, pour chaque longueur, on peut choisir un polynôme primitif définissant de nombreux rebouclages intermediaires, pour accroître l'effet de mélange des bits contenus dans R. Un registre R de n pas, rebouclé suivant un polynôme primitif, a une période maximale en fonctionnement autonome qui vaut 2n-1. Pour n = 32, cette période est égale à 4,29.109 et pour n = 40, cette période-est égale à environ 1012. La sécurité du système est donc assurée, en pratique, dès que n est supérieur à 30. Par ailleurs, le fait que l'algorithme T soit appliqué à une série de bits qui ne sont plus directement extraits du mot M, augmente encore la sécurité. Un autre avantage est que le format de l'information I sera déterminé et invariant, quelle que soit la longueur du mot M, et qu'il pourra en être de même de l'information Z portée sur le chèque. I1 suffira que la longueur du mot M soit supérieure à une valeur déterminée, de façon à ce que l'on puisse charger une quantité minimale suffisante d'informations dans le registre R. Bien entendu, lorsque ce registre R est utilisé lors de l'établissement document, il est également utilisé pour le contrôle des documents et fait alors partie,vpar exemple, des moyens de calcul 14. Par ailleurs, il existe une infinité d'algorithmes T et f répondant aux conditions énumérées plus haut, et on sait en construire autant qu'il en est besoin. L'invention a donc un caractère très général, tout en offrant une sécurité absolue, et est applicable à des types très divers de documents. Revendications. 1. Procédé pour l'établissement et le contrôle d'un document dontl'usageest réservé à son titulaire ou à un porteur habilité, par exemple un chèque bancaire, consistant à porter sur le document une information codée correspondant à un mot connu ou choisi par le titulaire du document, puis à demander, lors de l'usage du document, l'émission de ce mot au porteur du document, à coder le mot émis et à vérifier la concordance entre l'information codée ainsi obtenue et celle qui est portée sur le document, caractérisé en ce que le codage du mot (M) est réalisé par application à ce mot, d'un premier algorithme (T) impossible à inverser, donnant une première information codée (Iî) à laquelle on applique un second algorithme (f) tenu secret et tel qu'il ne puisse être déterminé à partir de l'algo rithme inverse (f ),pour obtenir une deuxième informa- tion codée (Z) qui est portée sur le document (12 > . 2. Procédé selon la revendication 1, caractérisé en ce qu'on ajoute à la première information codée ( une troisième information (nc) caractérisant le document, par exemple un numéro de série, et on applique le second algorithme (f) à l'information c-onstituée par la première information codée (I1) et par la troisième information (nc), pour obtenir la deuxième information codée (Z) portée sur le document. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que le mot (M) comprend un nombre quelconque de caractères alphanumériques, qui doit uniquement être supérieur à une valeur prédéterminée, et est transcrit dans un alphabet numérique comprenant un nombre prédéterminé de bits par caractère, avant d'être traité par application du premier algorithme (T). 4. Procédé selon l'une des revendications précédentes, caractérisé en ce que la deuxième information codée (Z) figurant sur le document est écrite dans un alphabet usuel, par exemple celui utilisé pour l'impression d'autres données sur le document. 5. Procédé de contrôle de l'usage d'un document établi par exécution du procédé selon la revendication 1, caractérisé en ce qu'il consiste à coder par application du premier algorithme (T) le mot émis par le porteur du document pour obtenir une quatrième information codée (I1) , à lire sur le document la deuxième information codée (Z) et à lui appliquer l'algorithme (f-I) inverse du second algorithme (f) pour obtenir une cinquième information (I' (I'1), et à vérifier la concordance entre la quatrième information (I1) et la cinquième information (I'1). 6. Procédé de contrôle de l'usage d'un document établi par exécution du procédé selon la revendication 2, caractérisé en ce qu'il consiste à coder par application du premier algorithme (T) le mot émis par le porteur du document pour obtenir une quatrième information codée (I1), à lire sur le document la deuxième information codée (Z) et à lui appliquer l'algorithme (f 1) inverse du second algorithme (f) pour obtenir, d'une part, une cinquième information (I'1) que l'on compare à la quatrième information (11), et une sixième information (nc') que l'on compare à la troisième information (nc), et à accepter le document en cas de résultat satisfaisant de ces deux comparaisons. 7. Procédé selon l'ensemble de la revendication 3 et de l'une des revendications 4 à 6, caractérisé en ce que l'information (i) résultant de la transcription du mot (M) dans un alphabet numérique est chargée bit par bit dans un registre à décalage (R) à n pas rebouclé selon un polynôme primitif, puis on fait tourner le registre (R) un nombre prédéterminé de fois, et on applique ensuite l'algorithme (T) à la suite de bits contenue dans le registre (R). 8. Dispositif de contrôle de l'usage d'un document, tel qu'un chèque bancaire, qui a été établi par le procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend des moyens (10) pour transcrire dans un alphabet numérique déterminé un mot (M) émis par le porteur du document, des moyens (20) d'entrée ou de lecture de l'information codée (Z) figurant sur le document, des moyens (14) de calcul appliquant, d'une part, le premier algorithme de codage (T) à la transcription numérique (I) du mot (M) et, d'autre part, un algorithme (f 1) inverse du second algorithme de codage (f) à l'information codée (Z) portée sur le document, et des moyens (16) de vérification de la concordance de ces deux calculs. 9. Dispositif selon la revendication 8, caractérisé en ce que les moyens de vérification comprennent un comparateur (16) dont les entrées sont alimentées par les moyens de calcul (14) et dont la sortie est reliée à des moyens d'affichage ou de signalisation du résultat. 10. Dispositif selon la revendication 8 ou 9, caractérisé en ce que les moyens de calcul (14) comprennent un registre à décalage (R) à n pas, rebouclé selon un polynôme primitif, des moyens de chargement bit par bit de l'information (I) dans le registre (R), des moyens pour faire tourner ensuite ce registre d'un nombre prédéterminé de fois, et des moyens pour appliquer l'algorithme (T) à la suite de bits contenue dans le registre (R). 11. Document, tel qu'un chèque bancaire par exemple, dont l'usage est réservé à son titulaire ou à un porteur habilité, et sur lequel figure une information codée correspondant à un mot connu ou choisi par le titulaire, caractérisé en ce que cette information codée (Z) est le résultat de la transformation, par un algorithme (f) tenu secret, d'une autre information codée (I1) résultant de l'application d'un algorithme (T) impossible à inverser à une information initiale (I) correspondant au mot (M) connu ou choisi par le titulaire. 12. Document selon la revendication 11, caractérisé en ce que l'information codée (Z) figurant sur le document est formée de caractères d'un alphabet déjà utilisé pour l'impression d'autres informations ou données sur le document. 13. Document selon la revendication 11 ou 12, carac térisé en ce que l'information codée (Z) figurant sur le document résulte de l'application de l'algorithme (f) tenu secret, à l'information (I1) précitée et à une autre information (nc) caractérisant le document, par exemple un numéro de série, qui figure en clair sur le document.