Brevet FR2604809A1 — publié le 19880408

CARTE DE CONTROLE PERMETTANT D'ENGENDRER DES CODES SECRETS DE GRANDE LONGUEUR La présente invention a principalement pour objet des cartes de contrôle permettant d'engendrer des codes secrets de grande longueur. D'une part, il est connu de réaliser des cartes de contrôle, communément dénommées cartes à mémoire, permettant de générer ou de contrôler un code secret. Le débit d'échange entre les cartes de contrôle de type connu et leur lecteur est très faible. Ainsi les cartes de contrôle de type connu servent principalement à vérifier qu'un code secret qu'on leur fournit est exact. Dans ce cas les codes sont utilisés pour valider les opérations désirées. D'autre part, il est connu de générer des codes pseudoaléatoires en rebouclant certaines cellules d'un registre à décalage à travers une porte OU-exclusif. Il est possible ainsi de générer des codes pseudo-aléatoires très longs. La génération rapide d'un code pseudo-aléatoire très long permet d'utiliser ce code pour des traitements comme par exemple pour le test de circuits électriques. De même, il est connu du brevet français nO 8406220 I'utilisation d'un registre à décalage dont seulement deux cellules sont connectées à l'entrée d'une porte logique OUexclusif pour modifiller de façon prédéterminée un mot binaire. Dans ledit dispositif le fait de n'utiliser que deux cellules connectées à la porte logique OUexclusif réduit de façon considérable les combinaisons possibles. En fait, il est très difficile de prévoir la transformation d'un mot binaire au bout d'un nombre prédéterminé de cycles d'horloge. Ainsi, ledit dispositif ne permet pas d'engendrer des codes de grande longueur mais permet d'effectuer de transcodages. La présente invention a pour objet une carte de contrôle susceptible, associée à un lecteur de carte, de générer des codes pseudo-aléatoires très longs en temps réel. Dans ce but, I'ensemble carte de contrôle-lecteur de carte de contrôle comporte un registre à décalage dont certaines cellules sont rebouclées sur un circuit logique comme par exemple une porte logique OU-exclusif. Selon le degré de protection désirée, la carte de contrôle comportera une plus ou moins grande partie de l'électronique nécessaire à la génération du code pseudo-aléatoire. Dans une variante de réalisation la carte de contrôle selon l'invention ne délivre le code pseudo-aléatoire de grande longueur qu'après avoir reçu un code secret. Ainsi, non seulement il n'est pas possible de copier une telle carte mais même la vraie carte n'est utilisable que par le personnel autorisé. Une telle carte comporte en combinaison avec les moyens de génération du code pseudo-aléatoire par exemple un microprocesseur et des mémoires. Avantageusement, les cartes de contrôle électronique sont réalisées au format de carte de crédit. L'invention a principalement pour objet une carte de contrôle, caractérisée par le fait qu'associée à un lecteur de carte elle est susceptible d'engendrer un code pseudo-aléatoire à partir d'un registre à décalage dont une pluralité de cellules est connectée aux entrées d'un circuit logique, par exemple, d'une porte logique OUexclusif, la sortie de ladite porte logique OU-exclusif étant connectée sur l'entrée dudit registre à décalage. L'invention sera mieux comprise au moyen de la description ciaprès et des figures données comme des exemples non limitatifs parmi lesquels - la figure 1 est un schéma illustrant le principe connu d'un générateur de code pseudo-aléatoire utilisant un registre à décalage rebouclé à travers une porte logique OU;; - la figure 2 est un schéma illustrant un premier exemple de réalisation du dispositif selon l'invention - la figure 3 est un schéma illustrant un second exemple de réalisation du dispositif selon l'invention - la figure 4 est un schéma illustrant un troisième exemple de réalisation du dispositif selon l'invention - la figure 5 est un schéma illustant un quatrième exemple de réalisation du dispositif selon l'invention - la figure 6 est un schéma illustrant un cinquième exemple de réalisation du dispositif selon l'invention - la figure 7 est un schéma illustrant un sixième exemple de réalisation du dispositif selon l'invention. Sur les figures 1 à 7 les mêmes références ont été utilisées pour désigner les mêmes éléments. Sur les figures 1 à 7 les flèches désignent le sens de propagation des signaux. Sur la figure 1, on peut voir le principe d'un générateur de code pseudo-aléatoire. Ledit générateur comporte un registre à décalage 1 comportant n cellules référencées 11 à In, et un circuit logique 2. Le circuit 2 est, par exemple, une porte logique OUexclusif. Le registre à décalage 1 décale, à chaque impulsion d'horloge (non illustrée) l'information présente dans une cellule dans le sens des références décroissantes. Ainsi après n cycles d'horloge une information présentée à l'entrée de la cellule In est présente à la sortie de la cellule 11. La cellule 11 est reliée à une des entrées de la porte logique OU-exclusif 2 par une ligne 31. La sortie de la porte logique OU-exclusif 2 est reliée par une ligne 3 à la cellule ln. Certaines cellules du registre à décalage 1 sont reliées à des entrées de la porte logique OU-exclusif 2. Dans l'exemple, non optimisé, du registre illustré sur la figure la cellule 12 est reliée par la ligne 32 à une entrée de la porte logique OU-exclusif 2, la cellule 15 est reliée par la ligne 35 à une entrée de la porte logique OU-exclusif 2 ainsi que la cellule In qui est reliée par la ligne 3n à une entrée de la porte logique OU-exclusif 2. Le tableau I donne les puissances non triviales de polynomes générateurs permettant pour un registre à décalage 1 comportant n cellules d'obtenir 2n mots de n bits différents. TABLEAU I Polynomes générateurs Degré Puissances non triviales 16 9, 7, 4 20 3 21 2 22 1 23 5 24 24, 7 2 1 25 3 26 6 2 1 27 5 2 1 28 3 29 2 30 23 2 1 31 3 32 22 2 1 33 13 Ainsi si par exemple nous voulons utiliser le polynome générateur de degré 27: P27 (X) = X27 + X5 + x2 + X + 1 nous allons utiliser un registre à décalage 1 comportant 27 cellules. Dans ce cas en plus de la première cellule 11 toujours bouclée sur une entrée de la porte logique OU-exclusif 2 nous rebouclerons la seconde, la troisième et la sixième cellules référencées respectivement 12, 13 et 16 sur la figure 1. Pour des applications ne nécessitant pas de codes très longs il est possible d'utiliser des registres à décalage comportant des rebouclages triviaux. En effet, le nombre de codes différents, pour une longueur maximale n du registre à décalage 1 risque d'être trop limité si l'on élimine les solutions triviales. Les mots du code pseudo-aléatoire sont récupérés en sortie du registre à décalage 1 sur les lignes référencées 5. Le code généré est appelé pseulo-aléatoire car à chaque initialisation du système pour un câblage donné le système va délivrer exactement le même code. Sur la figure 2, on peut voir un exemple de réalisation des cartes de contrôle selon l'invention ne comportant que des connexions électriques permettant de faire générer un code pseudoaléatoire à un registre à décalage I rebouclé par une porte logique OU-exclusif 2 contenues dans le lecteur de la carte de contrôle. Le lecteur de carte comporte un registre à décalage 1 de n cellules connectées à une porte logique OU-exclusif 2. La cellule 11 du registre à décalage 1 étant toujours connectée à une des entrées de la porte logique OU-exclusif 2 cette connexion peut être réalisée à l'intérieur du lecteur des cartes de contrôle. De même la connexion de la sortie de la porte logique OU-exclusif 2 par la ligne 3 à la dernière cellule In du registre à décalage 1 peut aussi être interne aux lecteurs de cartes de contrôle selon l'invention. Les cellules 12 à In du registre à décalage I sont reliées par des lignes respectivement 312 à 31n aux contacts référencés respectivement 322 à 32n. De même les entrées de la porte logique OU-exclusif 2 sont reliées à un ensemble de contacts référencés 350.La carte de contrôle 4 comporte des contacts électriques permettant de relier certaines des cellules du registre à décalage 1 à des entrées de la porte logique 2. Dans les exemples illustrés sur les figures 1 à 7 tous les dispositifs génèrent les mêmes codes pseudo-aléatoires. Ainsi sur la figure 2 sont reliées, par l'intermédiaire de la carte de contrôle 4 à une entrée de la porte logique OU-exclusif 2, les cellules 12, 15 et In du registre à décalage 1. La cellule 4 comporte donc au moins des contacts 332, 335 et 33n reliés électriquement à des contacts 342, 345 et 34n. Les contacts 332, 335, 33n, 342, 345 et 34n sont disposés de telle manière qu'une fois la carte de contrôle 4 insérée dans le lecteur de carte lesdits contacts permettent la connexion électrique avec respectivement les contacts 322, 325, 32n ainsi que les contacts 350. Avantageusement, la carte de contrôle 4 comporte d'autres contacts électriques notamment 333, 334, 33(n-1) qui ne sont pas reliés à un quelconque des contacts susceptible d'être connecte au contact 350 relié aux entrées de la porte logique OU-exclusif 2. Ces contacts ont pour but de rendre plus difficile la fabrication de fausse carte de contrôle à partir d'une vraie carte de contrôle 4. Ces points sont par exemple en circuit ouvert ou reliés entre eux. La carte de contrôle illustrée sur la figure 2 présente l'avantage d'être d'un faible coût de revient. Elle est destinée notamment à permettre de distribuer à un grand nombre de personnes un même code pour une période de temps prédéterminée. Par exemple, une telle carte permettrait de décoder des émissions par exemple de télévision, des radios ou des transmissions d'informations par voie électromagnétique. Par exemple, les émissions sont réalisées en modulation de phase, le décriptage étant opéré à la réception par corrélation des données reçues par un code pseudo-aléatoire. Avantageusement, les informations codées permettent d'obtenir en pic de corrélation susceptible de synchroniser l'émission et la réception. Le prix modique de réalisation des cartes de contrôle 4 selon l'invention permet par exemple le changement fréquent de code, il est par exemple possible de changer de code pseudo-aléatoire tous les jours ou une fois par semaine. Les cartes seront vendues par exemple dans les bureaux de tabac ou les kiosques de journaux peu de temps avant le changement du codage de l'émission, laissant peu de temps aux gens désirant frauder pour réaliser des copies des cartes de contrôle 4. Dans une variante de réalisation non illustrée la ligne 3 permettant de relier la sortie de la porte logique 2 à la dernière cellule du registre à décalage 1 incluse dans la carte de contrôle 4. Ainsi, il est possible de changer le nombre p des cellules réellement utilisées p étant inférieur ou égal à n. Le dispositif selon l'invention présente l'avantage d'exiger pour fonctionner que les connexions entre les cellules du registre à décalage 1 et les entrées de la porte logique 2 soient toutes exactes. En effet la moindre différence dans la connexion provoquera la génération d'un code pseudo-aléatoire complètement différent. Ainsi, il est possible de générer un très grand nombre de codes. Pour changer de codes il suffit de changer une ou plusieurs connexions. Les mots du code sont lus en parallèle sur les lignes 5 reliées aux cellules 11 à in (ou 11 à lp) du registre à décalage 1. Sur la figure 3, on peut voir une carte de contrôle 4 comportant au moins une partie du registre à décalage 1. Par exemple illustrée sur la figure 3 la carte 4 comporte les trois dernières cellules l(n-2) à In du registre à décalage 1. Une telle carte présente un coût de revient plus élevé. Par contre elle est aussi beaucoup plus difficile à falsifier. Le lecteur de carte 6 comporte une porte logique OU-exclusif 2 et une partie du registre à décalage 1. Dans la variante de réalisation illustrée les connexions de la partie du registre à décalage 1 incluses dans le lecteur de carte 6 sont réalisées à l'intérieur dudit lecteur de carte par exemple par les lignes 31, 32 et 35. Dans cette variante de réalisation les divers codes pseudoaléatoires possibles sont obtenus en choisissant le nombre des cellules contenues dans la carte de contrôle 4 ainsi que par le choix des cellules reliées à l'une des entrées de la porte logique OUexclusif 2. Dans l'exemple illustré seule la cellule In appartenant à la carte de contrôle 4 est reliée à l'une des entrées de la porte logique OU-exclusif 2 par l'intermédiaire des contacts 33n et 32n. Dans une variante de réalisation, non illustrée, c'est la carte de contrôle 4 qui assure l'interconnexion des cellules du registre à décalage 1 appartenant au lecteur de carte 6 à des entrées de la porte logique OU-exclusif 2. Dans tous les cas, la carte de contrôle 4 comporte des contacts 36(n-2), 36(n-1) et 36n et les lecteurs de carte 6 comportent les contacts 37(n-2), 37(n- I) et 37n permettant de récupérer les bits du code pseudo-aléatoire générés par les cellules incluses dans la carte de contrôle 4. Une commande reset 7 permet la réinitialisation du générateur de code pseudo-aléatoire. Par exemple une réinitialisation périodique permet la limitation de la longueur du code généré. De plus, le lecteur de carte 6 fournit à la carte de contrôle 4 tous les signaux qui sont nécessaires à son fonctionnement comme par exemple l'alimentation électrique, les impulsions d'horloge et les commandes de réinitialisation. Sur la figure 4, on peut voir un exemple de réalisation du dispositif selon l'invention dans lequel la carte de contrôle 4 comporte une partie du registre à décalage 1 ainsi que la porte logique OU-exclusif 2. Sur la figure 5, on peut voir un exemple de réalisation du dispositif selon l'invention dans lequel la carte de contrôle 4 comporte uniquement la porte logique OU-exclusif 2 ainsi que les connexions nécessaires à son bon fonctionnement. Avantageusement, la carte de contrôle 4 comporte des contacts par exemple 33(n-3), 33(n-2) et 33(n-1) destinés à rendre plus difficile la falsification de la carte de contrôle. Sur la figure 6, on peut voir un exemple de réalisation de la carte de contrôle 4 comportant un registre à décalage 1, une porte OU-exclusif 2 ainsi que les connexions par exemple 31, 32, 35, 3n et 3 permettant de générer les codes pseudo-aléatoires. Dans cet exemple de réalisation de la carte 4 selon l'invention. le lecteur de carte 6 non représenté va récupérer directement les codes pseudoaléatoires générés sur les lignes 5 par l'intermédiaire des contacts non représentés. Dans un tel cas, la commande reset 7 permettant la réinitialisation du générateur est appliquée directement à la carte de contrôle 4. La carte 4 est susceptible de recevoir les alimentations électriques, les signaux d'horloge de synchronisation néces saires à son bon fonctionnement. Dans une variante de réalisation la carte de contrôle 4 selon l'invention comporte un compteur 60 placé par exemple à la sortie de la porte logique OU-exclusif 2. Ce compteur permet l'inhibition et/ou la destruction de la carte au bout d'une durée de fonctionnement prédéterminée. Par exemple, quand le compteur 60 arrive à la valeur maximale pour laquelle il a été conçu, la ligne 3 reliant la sortie de la porte logique 2 à l'entrée de la cellule in du registre à décalage 1 est coupée. Sur la figure 7 on peut voir une carte de contrôle 4, selon l'invention dont la copie et l'utilisation frauduleuse sont particulièrement difficiles. La carte" de contrôle de la figure 7 ne délivre le code pseudo-aléatoire vrai que si au préalable on lui a fourni un code secret. La carte de contrôle 4 comporte en plus du registre à décalage 1 de la porte logique OU-exclusif 2 et des connexions un microprocesseur 93 relié à une mémoire permanente 94 comportant les programmes de fonctionnement du microprocesseur 93. La mémoire 94 est par exemple une mémoire morte (ROM en terminologie anglosaxonne). Dans le cas où l'on n'a pas fourni le code secret au microprocesseur 93 celui-ci empêche la fourniture du code pseudoaléatoire prévu. Le code secret est un code court comportant par exemple entre 4 et 10 chiffres. Dans un premier exemple de réalisation du dispositif selon l'invention le microprocesseur 93 provoque la génération d'un code pseudo-aléatoire faux ne permettant pas le bon fonctionnement par exemple du décodage par corrélation. Par exemple la carte de contrôle 4 comporte un multiplexeur 91 commandé par le microprocesseur 93 permettant de modifier les connexions des cellules du registre à décalage 1 aux entrées de la porte logique OU-exclusif 2. Par exemple, sur commande du microprocesseur 93 le multiplexeur 91 connecte sur une entrée unique de la porte logique OU-exclusif 2 les lignes 31, 32 et 33. Cette modification de chemins de donnée modifie le code pseudo-aléatoire généré par la carte de contrôle 4. Le fait de générer un code pseudo-aléatoire, différent du code pseudo-aléatoire désiré rend plus difficile l'utilisation frauduleuse de la carte de contrôle 4. En effet, le fraudeur ne peut pas vérifier d'avance la faisabilité de la fraude. Ce n'est que lors d'une tentative de fraude que le fraudeur se rendra compte du non fonctionnement d'un appareil dont le contrôle est assuré par la carte de contrôle 4. Avantageusement, la carte de contrôle 4 génère des codes pseudo-aléatoires différents pour divers codes secrets présentés au microprocesseur 93. Ainsi il est possible d'utiliser une même carte pour générer des codes pseudo-aléatoires permettant de diverses fonctions d'exécution et/ou rend plus difficile la fraude. Par exemple, une même carte de contrôle 4 permet, sur présentation d'un premier code secret l'accès de locaux comportant un appareil d'émission et/ou de réception ; et sur présentation d'un second code secret le bon fonctionnement de l'appareil d'émission et/ou réception. Dans un second exemple de réalisation en l'absence d'un code secret valide la carte de contrôle selon l'invention ne génère pas le code aléatoire. Par exemple un dispositif 92 intercalé entre les lignes de sortie 5 et les cellules 11 à In du registre à décalage 1 empêche la transmission du code aléatoire désiré. Par exemple, sur commande du microprocesseur 93 le dispositif 92 effectue un collage à "0", un collage à "1" ou l'isolation par une impédance de sortie quasi infinie des lignes 5. Le collage à "0" correspond à la présence, de façon permanente, d'un niveau électrique correspondant à un "0". Le collage à "1" correspond à la présence, de façon permanente d'un niveau électrique correspondant à un "1". L'isolation électrique est obtenue en utilisant un dispositif 92 "trois états". Avantageusement, la carte de contrôle comporte une mémoire permanente programmable 95 par exemple du type EPROM. La mémoire permanente programmabe 95 stocke soit un enregistrement de toutes les utilisations de la carte, soit un enregistrement de toutes les tentatives d'utilisation frauduleuse de la carte. Avantageusement, la carte de contrôle 4 se verrouille, et ne fournit plus de code pseudo-aléatoire après la présentation par exemple de quatre faux codes secrets. Avantageusement, l'électronique de la carte de contrôle 4 est réalisée sous la forme d'un unique circuit intégré. Ainsi, il nlest pas possible de tester individuellement le comportement électrique et logique des divers composants comme par exemple le multiplexeur 91. Les cartes de contrôle 4 illustrées sur les figures 3 à 7 étant beaucoup plus difficiles à falsifier que par exemple la carte 4 illustrée sur la figure 2, sont susceptibles d'être utilisées pour le contrôle d'accès, la génération d'un code pseudo-aléatoire de validation, la reconnaissance des personnes ou la génération de code pseudo-aléatoire permettant de faire fonctionner des dispositifs comme par exemple des émetteurs et/ou récepteurs de télévision, de radio ou des transmissions numériques. L'invention s'applique principalement à la génération de code pseudo-aléatoire secret pour le traitement de l'information par corrélation. L'invention s'applique principalement à la télévision transmise en modulation de phase dont le décodage et/ou la synchronisation sont obtenus par corrélation avec un code pseudo-aléatoire. REVENDICATIONS 1. Carte de contrôle (4), caractérisée par le fait qu'associée à un lecteur de carte (6) elle est susceptible d'engendrer un code pseudo-aléatoire à partir d'un registre à décalage (1) dont une pluralité de cellules est connectée aux entrées d'un circuit logique (2), la sortie dudit circuit logique étant connectée sur l'entrée dudit registre à décalage (1). 2. Carte de contrôle (4) selon la revendication 1, caractérisée par le fait que le circuit logique (2) est une porte logique OUexclusif. 3. Carte selon la revendication 1 ou 2, caractérisée par le fait qu'elle contient les connexions permettant de relier certaines cellules du registre à décalage (1) aux entrées du circuit logique (2) permettant de déterminer le code pseudo-aléatoire susceptible d'être généré. 4. Carte selon la revendication 1, 2 ou 3, caractérisée par le fait qu'elle comporte au moins certaines cellules du registre à décalage (1). 5. Carte selon la revendication 1 ou 2, caractérisée par le fait qu'elle comporte le circuit logique (2). 6. Carte selon la revendication 4, caractérisée par le fait qu'elle comporte au moins certaines cellules du registre à décalage (1). 7. Carte selon la revendication 1, 2, 3, 4 ou 5, caractérisée par le fait qu'elle comporte le registre à décalage (1), le circuit logique (2) et les connexions entre certaines cellules du registre à décalage et ledit circuit logique (2), nécessaires à la génération d'un code pseudo-aléatoire. 8. Carte de contrôle (4) selon la revendication 1, 2, 3, 4, 5, 6 ou 7, caractérisée par le fait qu'elle comporte un microprocesseur (93) associé à une mémoire de programme (94 ou 95). 9. Carte de contrôle (4) selon la revendication 8, caractérisée par le fait qu'elle comporte une mémoire permanente programmable (95) susceptible de stocker l'historique partiel ou complet de la carte de contrôle (4). 10. Carte de contrôle (4) selon la revendication 8 ou 9, caractérisée par le fait qu'elle comporte au moins un multiplexeur (91) susceptible de modifier les connexions internes de ladite carte sur commande du microprocesseur (93). 11. Carte de contrôle selon la revendication 8, 9 ou 10, caractérisée par le fait qu'elle comporte des moyens (92) permettant de générer, de façon permanente, sur commande du microprocesseur (93), des "0" sur au moins certaines des connexions (5) de sortie de ladite carte. 12. Carte de contrôle selon la revendication 8, 9, 10 ou 11, caractérisée par le fait qu'elle comporte des moyens (92) permettant de générer, de façon permanente, sur commande du microprocesseur (93) des "1" sur au moins certaines des connexions (5) de sortie de ladite carte. 13. Carte de contrôle (4) selon la revendication 8, 9 ou 10, caractérisée par le fait qu'elle comporte des moyens (92) permettant d'isoler, sur commande du microprocesseur (93) au moins certaines des connexions de sortie (5) de ladite carte de contrôle. 14. Procédé de décriptage d'informations transmises par des ondes électromagnétiques modulées, caractérisée par le fait que l'on effectue la corrélation desdites ondes avec un code pseudo-aléatoire engendré par une carte de contrôle (4) selon l'une quelconque des revendications précédentes associée à un lecteur de cartes (6). 15. Procédé selon la revendication 14, caractérisé par le fait que lesdites ondes sont modulées en phase. 16. Procéde de décriptage selon la revendication 14 ou 15, caractérisé par le fait que les informations transmises sont des programmes de télévision. 17. Procédé de décriptage selon la revendication 14, caractérisé par le fait que les informations transmises sont des programmes radiophoniques. 18. Procédé de décriptage selon la revendication 14 ou 15, caractérisé par le fait que les informations transmises sont des données numériques.