Brevet FR2549989A1 — publié le 19850201

"Système d'authentification entre un lecteur de carte et une carte de paiement échangeant des informations". L'objet de la présente invention concerne un système d'authentification réciproque et d'échange d'informations comportant un premier ensemble de lecteurs, un deuxième ensemble de cartes connectables indifféremment à chaque lecteur, 5 chaque carte et chaque lecteur comportant des moyens de traitement et de mémorisation pour, dans l'état connecté, mémoriser, traiter et générer chacun des données dans la carte et des données dans le lecteur, pour modifier des données, pour transférer des données à destination respectivement du 1.0 lecteur et de la carte, et pour vérifier les données reçues après transfert, le dit système comportant de plus des moyens de détection de cohérence pour tester la cohérence des signaux générés après la dite vérification et, le cas échéant, permettre d'autres échanges d'informations entre la carte et le lecteur connectés dont la connexion est ainsi authentifiée. Un tel système est connu par le Brevet US 3 806 874; il est destiné à authentifier une connexion par exemple d'une carte de crédit bancaire avec un lecteur 20 de carte de crédit avant de procéder à des échanges d'informations ou de services qui ne sont accessibles qu'après une vérification mutuelle: la carte est-elle une "bonne" carte pour le lecteur ? le lecteur est-il un "bon" lecteur pour la carte ? Cette vérification est destinée à éviter qu'un fraudeur ne réussisse soit à 'faire parler' une vraie carte avec un faux lecteur, soit à 'faire parler' un vrai lecteur avec une fausse carte, ce qui lui permettrait de fabriquer frauduleusement des cartes ayant les caractéristiques adéquates. Ce système met en oeuvre des moyens de traitement électroniques tels que ceux utilisés dans l'industrie de l'informatique et son utilisation n'est pas limitée aux transactions bancaires; n'importe quel échange entre des moyens de traitement informatique peut être contrôlé par un tel système d'authentification. Dans le brevet cité, le système d'authentification utilise, dans une de ses variantes, un générateur ( 51) de nombre aléatoire situé dans le lecteur; d'o il résulte que la tâche d'un éventuel fraudeur, observant les échanges d'authentification sur les lignes 37 et 45, est rendue plus complexe; mais les échanges d'information ultérieurs, du genre service de paiement ou autre, ne sont pas protégés de telle sorte qu'un fraudeur pourrait, après authentifica10 tion d'une bonne carte, substituer celleci par une autre et ainsi frauder le système; de plus, dans le brevet cité un mode de protection cité -figure 12 implique que les circuits secrets de la carte soient d'une taille relativement petite ce qui constitue une limitation incompatible avec l'extension de la notion de carte à la notion système informatique au sens général tel qu'indiqué ci-dessus. La présente invention a pour but de remédier à ces inconvénients. A cet effet un système d'authentification et d'échange 20 d'information est particulièrement remarquable en ce que dans chaque carte, les dites données mémorisées comportent notamment un premier code secret (S) spécifique à chaque carte et un deuxième code secret (s) lié au premier (S) par une première fonction (F 1) de transformation bi-univoque et 25 réversible (Fl-1) non spécifique à chaque carte, les dits moyens de traitement comportent une deuxième (F 2), une troisième (F 3) et une quatrième (F 4) fonctions de transformation non-spécifiques à chaque carte, en ce que dans chaque lecteur, les dits moyens de traitement comportent une premiè30 re fonction de transformation identique à la dite première fonction (F 1) de transformation qui lie les deux codes secrets (S et s) de chaque carte, un générateur aléatoire (GEN) pour générer, lors de chaque connexion d'une carte, un premier (RT) et un deuxième (QT) nombres aléatoires, une deuxième, une troisième et une quatrième fonctions de transformation identiques respectivement à la dite deuxième (F 2), à la dite troisième (F 3) et à la dite quatrième (F 4) fonctions de transformation non-spécifiques à chaque carte, en ce que, après réception par la carte d'un signal de départ (TO) provenant du lecteur, le dit premier code secret (S) est trans5 féré (T 1) de la carte au lecteur, la dite fonction de transformation (F 1) du lecteur transforme le dit premier code secret (S) y transféré en un code secret (sl), puis, après transfert (T 2) des dits premier et deuxième nombres aléatoires du lecteur à la carte, les dits moyens de traitement de la 10 carte et du lecteur appliquent, localement, en parallèle, et respectivement, la dite deuxième fonction (F 2) de transformation: d'une part à RT et S pour obtenir une clé de session de la carte KSC, d'autre part à RT et sl pour obtenir une clé de session du lecteur KSL, ensuite la dite troisième 15 fonction (F 3) de transformation est appliquée: d'une part à QT et KSC pour obtenir une première donnée de comparaison dans la carte DCC 1 d'autre part à QT et KSL pour obtenir une première donnée de comparaison dans le lecteur DCL 1, ensuite la dite quatrième fonction (F 4) de transformation 20 est appliquée d'une part à DCC 1 et KSC pour obtenir une deuxième donnée de comparaison dans la carte DCC 2, d'autre part à DCL 1 et KSL pour obtenir une deuxième donnée de comparaison dans le lecteur DCL 2, en ce que, après transfert (T 4) de DCL 2 du lecteur à la carte, les dits moyens de véri25 fication de la carte vérifiant que DCL 2 et DCC 2 sont égaux (LOK) et, dans ce cas, autorisent le transfert (T 5) de DCC 1 de la carte ou lecteur, en ce que les dits moyens de vérification du lecteur vérifient que DCC 1 et DCL 1 sont égaux (COK), et, dans ce cas, autorisent d'autres échanges d'in30 formations entre la carte et le lecteur, et en ce que une clé de session KS ainsi authentifiée puisque identique à celle du lecteur KSL et à celle de la carte KSC, est mémorisée et donc disponible pour assurer, par cryptage la confidentialité des dits échanges d'informations. Ainsi le générateur de nombres aléatoires est-il pleinement utilisé pour élaborer une clé de session qu'un fraudeur ne pourra jamais observer telle quelle sur la/les ligne(s) de transfert; de plus la clé de session n'étant pas la même d'une authentification à l'autre, et les fonctions Fi, F 2, F 3, F 4 pouvant être suffisamment complexes, le frau5 deur ne pourra ni tirer parti de la connaissance du premier code secret S, qu'il pourrait obtenir en 'faisant parler' une bonne carte, ni tirer parti de la connaissance des nombres aléatoires RT et QT et/ou de la deuxième donnée de comparaison du lecteur DCL 2 qu'il pourrait obtenir en 'faisant 10 parler' un bon lecteur; en effet il lui sera impossible de trouver, à partir de ces observations, la clé de session dont il aurait besoin pour poursuivre le dialogue d'échange d'information. L'implémentation d'un tel système peut comporter 15 des variantes avantageuses. Par exemple pour réaliser un système économique, mais peut être moins efficace, un système d'authentification réciproque selon l'invention est particulièrement remarquable en ce que les quatre fonctions de transformation (Fl, F 2, F 3, 20 F 4) peuvent être toutes identiques les unes aux autres, ou encore identiques deux à deux ou trois à trois. Dans ce cas les moyens de traitement tant du lecteur que de la carte sont plus simples et donc moins cher mais aussi malheureusement la/les fonction(s) est(sont) plus 25 facile(s) à découvrir; le choix de la(des) fonction(s) s'effectue selon le degré de sécurité désiré. Un autre mode d'implémentation d'un système d'authentification réciproque est particulièrement remarquable en ce que le dit générateur aléatoire (GEN) est situé dans la carte, 30 en ce que le transfert (T 2) du premier (RT) et du deuxième (Qr) nombres aléatoires s'effectue alors de la carte vers le lecteur, et en ce que les transferts T 1 et T 2 peuvent alors ne constituer qu'un seul transfert T 12. Dans ce cas les moyens de traitement de la carte sont un peu plus élaborés donc peut être plus chers et plus encombrants mais du fait du regroupement de deux transferts en un seul un gain de rapidité est obtenu. La présente invention comporte d'autres avantages et d'autres variantes ci-dessous décrits en regard des dessins annexés donnés à titre d'exemple non limitatifs: La figure 1 montre la version de base-du système d'authentification. La figure 2 montre, en cumulé, des versions dérivées de ce système. Les éléments analogues des deux figures portent les 10 mêmes références; les fonctions de transformation sont représentées par des demi-cercles; les données mémorisées, transférées ou résultantes des fonctions sont représentées par des rectangles; les traits continus représentent les cheminements logiques des données, par opposition aux che15 minements physiques des conducteurs électriques dont la description détaillée n'est pas nécessaire à la compréhension de l'invention. La figure 1 représente un lecteur, cadre pointillé L, et une carte, cadre pointillé C, dans l'état connec20 té par des connexions non représentées, par exemple des connexions conformes au projet de norme AFNOR CF/TC 97/SC 17/GT 4. Au moment de l'introduction de la carte dans le lecteur, un détecteur de présence de carte, par exemple un interrupteur de fin de course, génère un signal D qui est transféré 25 (TO) à la carte; par construction chaque carte contient en mémoire permanente un premier code secret S et un deuxième code secret s, l'un et l'autre sont spécifiques à chaque carte qui est ainsi individualisée; S et S sont liés par la fonction Fl-1 soit: S = F-1 (s) c'est à dire que S est calculé à partir de S au moment de la fabrication de la carte; la fonction Fl-1 est une fonction dont on connait la fonction inverse F 1, elle est la même pour toutes les cartes et tous les lecteurs. Le signal D est le signal de départ du système d'authen35 tification réciproque, à la réception de ce signal la carte transfère le code S aux moyens de traitement du lecteur qui lui appliquent la fonction Fl pour obtenir un résultat sl qui doit être égal au code secret S lorsque une bonne carte et un bon lecteur sont connectés ensemble; la notation si est utilisée pour souligner les différences pouvant provenir d'une fraude ou d'une erreur éventuelle En supposant que le générateur GEN de nombres aléatoires est indépendant des moyens de traitement du lecteur, ce qui n'est pas une obligation, le générateur génère deux nombres aléatoires RT et QT qui sont mémorisés par le lecteur et transférés tels quels T 2 à la carte o ils sont également mémorisés tels quels. Ainsi la carte et le lecteur disposent en mémoire de trois informations identiques, RT, QT et S = sl. Les moyens de traitement de la carte et du lecteur comportent, par construction, les mêmes fonctions de transformation F 2, F 3, F 4, qui sont appliquées aux mêmes données de la manière suivante comme indiqué sur la figure 1: 25 F 2, dans la carte, appliquée à donnée appelée clé de session F 2, dans le lecteur, appliquée donnée appelée clé de session F 3, dans la carte, appliquée à première donnée de comparaison F 3, dans le lecteur, appliquée première donnée de comparaison F 4, dans la carte, appliquée à deuxième donnée de comparaison RT et S fournit une carte KSC. à RT et sl fournit une lecteur KSL. QT et KSC fournit une dans la carte DCC 1. à QT et KSL fournit un E dans le lecteur DCL 1. DCC 1 et KSC fournit ur dans la carte DCC 2. à DCL 1 et KSL fournit te F 4, dans le lecteur, appliquée une deuxième donnée de comparaison dans le lecteur DCL 2. La carte et le lecteur ont donc en mémoire chacun trois données, KSC, DCC 1, DCC 2 et KSL, DCL 1, DCL 2 qui doivent normalement être identiques deux à deux; la plus complexe, puisqu'elle résulte de l'application du plus grand 35 nombre de fonctions, étant la deuxième donnée de comparaison celle-ci est transférée T 4 du lecteur à la carte; si la comparaison entre DCL 2 et DCC 2 n'est pas satisfaisante, la carte reste muette et l'authentification ne peut avoir lieu, sinon l'égalité indique que la carte reconnait le lecteur comme bon (= LOK) et alors la clé de session de la carte est validée pour les échanges ultérieurs (KS = KSC) et la première donnée de comparaison (DCC 1) est transférée (T 5) au lecteur qui, en cas d'égalité avec DCL 1, reconnait à son tour la carte comme bonne ( = C OK) et valide la clé de session (KS = KSL); ainsi le système est prêt pour les 10 dialogues ultérieurs entre la carte et le lecteur ainsi mutuellement authentifiés avec l'avantage considérable que les messages du dialogue seront cryptés avec une clé KS qui n'aura jamais fait l'objet d'un transfert (T?) sur une connexion et qui sera variable d'une authentification à l'autre. 15 Le fait que ni S ni KS ne soient jamais transférés permet d'admettre que les connexions soient relativement observables par un fraudeur; ainsi les dimensions physiques des moyens de traitement et de mémorisation de la carte ne sont pas limitées de ce fait. Toutefois il peut être souhaitable, pour des raisons de prix par exemple, de limiter le nombre de fonctions; ceci ne peut se faire qu'au détriment de la sécurité mais dans certains cas il est avantageux de n'implémenter des moyens de traitement que pour une seule fonction F qui serait 25 toujours appliquée: F = F 1 = F 2 = F 3 = F 4; il est aussi possible de n'en retenir que deux comme représenté dans la figure 2 o F 3 utilise les mêmes moyens de traitement que F 2 soit F 3 = F 2, et o F 4 utilise les mêmes moyens de traitement que F 1 soit F 4 = F 1; d'autres combinaisons sont également 30 possibles A l'inverse on peut compliquer le système en implémentant le générateur (GEN) de nombre aléatoire dans la carte toujours comme indiqué sur la figure 2 mais sans qu'il y ait nécessairement simultanéité avec la réduction du nombre de fonctions; 35 quand le générateur GEN est dans la carte, il faut trans- mettre les nombres aléatoires QT et RT au lecteur et le transfert T 2 s'effectue en sens inverse de la figure 1; mais ce transfert peut être simultané avec le transfert (T 1) de S ainsi que représenté dans la figure 2 par le transfert T 12; 5 ainsi un transfert est économisé et l'authentification est plus rapide. De même, dans une variante non représentée, le signal de départ peut provenir de la carte et, dans ce cas, les transferts TO, T 1 et T 2 peuvent ne constituer qu'un seul transfert T 012; cela pourra notamment être le cas avec des systèmes informatiques plus importants que des cartes et donc qui peuvent comporter un détecteur D. Dans le cas de cartes de paiement ou autre, de taille relativement modeste, les moyens de traitement de la carte 15 peuvent être plus lents que ceux du lecteur; dans ce cas il est avantageux que le lecteur attende dans une boucle d'attente (W) que la carte envoie un signal d'achèvement (T 3) pour effectuer le transfert (T 4) de la dite deuxième donnée de comparaison du lecteur DCL 2; il est avantageux que ce 20 soit le lecteur qui 'parle' le premier -T 4 avant T 5 car un fraudeur éventuel aura ainsi une tâche plus complexe; bien entendu l'ordre des transferts -T 5 avant T 4 peut être inversé sans inconvénients majeurs. Ainsi que susdit, c'est un avantage qui résulte de 25 l'invention que de pouvoir connecter et authentifier non seulement des cartes relativement petites mais aussi des systèmes plus importants; pour prendre en compte cette nouvelle possibilité, et aussi la multiplication des différents usages des cartes dites à mémoire, il est avantageux 30 que la fonction F 1 qui lie S à S soit spécifique à deux sous-ensembles connectables entre eux; ainsi par exemple une carte émise par la banque A ne pourra être authentifiée avec un lecteur émis par la banque B: F 1 $ F Il' F 1 " Dans le cas o le dialogue, qui suit l'authentifica35 tion et qui utilise la clé de session pour le cryptage, est particulièrement long et/ou confidentiel, il peut être avan- tageux de changer la clé périodiquement sans pour autant être obligé de procéder à une déconnexion; à cet effet il est prévu que, soit le lecteur, soit la carte, prenne l'initiative, sur base du temps écoulé ou d'un nombre de messages transmis ou autre, de simuler le signal de départ TO susdit pour provoquer de nouvelles authentifications qui génèrent à chaque fois une nouvelle clé de session et de cryptage pour la poursuite du même dialogue du même couple qui reste connecté, ainsi le fraudeur éventuel verra sa tâche rendue quasiment 10 impossible car le changement de clé se fera à son insu. REVENDICATIONS: 1 Système d'authentification réciproque et d'échange d'informations comportant un premier ensemble de lecteurs, un deuxième ensemble de cartes connectables indifféremment à chaque lecteur, chaque carte et chaque lecteur comportant des moyens de traitement et de mémorisation pour, dans l'état connecté, mémoriser, traiter et générer chacun des données dans la carte et des données dans le lecteur, pour modifier des données, pour transférer des données à destination respectivement du lecteur et de-la carte, et pour vérifier les 10 données reçues après transfert, le dit système comportant de plus des moyens de détection de cohérence pour tester la cohérence des signaux générés après la dite vérification et, le cas échéant, permettre d'autres échanges d'informations entre la carte et le lecteur connectés dont la connexion 15 est ainsi authentifiée, caractérisé en ce que dans chaque carte, les dites données mémorisées comportent notamment un premier code secret (S) spécifique à chaque carte et un deuxième code secret (s) lié au premier (S) par une première fonction (F 1) de transformation bi-univoque et réversible (Fl -1) non spécifique à chaque carte, les dits moyens de traitement comportent une deuxième (F 2), une troisième (F 3) et une quatrième (F 4) fonctions de transformation non-spécifiques à chaque carte, en ce que dans chaque lecteur, les dits moyens de traitement comportent une première fonction de transformation identique à la dite première fonction (F 1) de transformation qui lie les deux codes secrets (S et s) de chaque carte, un générateur aléatoire (GEN) pour générer, lors de chaque connexion d'une carte, un premier (RT) et un deuxième (QT) nombres aléatoires, une deuxième, une troi30 sième et une quatrième fonctions de transformation identiques respectivement à la dite deuxième (F 2), à la dite troisième (F 3) et à la dite quatrième (F 4) fonctions de transformation non-spécifiques à chaque carte, en ce que, après réception par la carte d'un signal de départ (TO) pro- venant du lecteur, le dit premier code secret (S) est transféré (T 1) de la carte au lecteur, la dite fonction de transformation (F 1) du lecteur transforme le dit premier code secret (S) y transféré en un code secret (sl), puis, après transfert (T 2) des dits premier et deuxième nombres aléatoires du lecteur à la carte, les dits moyens de traitement de la carte et du lecteur appliquent, localement, en parallèle, et respectivement, la dite deuxième fonction (F 2) de transformation: d'une part à RT et S pour obtenir une 10 clé de session de la carte KSC, d'autre part à RT et sl pour obtenir une clé de session du lecteur KSL, ensuite la dite troisième fonction (F 3) de transformation est appliquée: d'une part à QT et KSC pour obtenir une première donnée de comparaison dans la carte DCC 1 d'autre part à QT et KSL pour 15 obtenir une première donnée de comparaison dans le lecteur DCL 1, ensuite la dite quatrième fonction (F 4) de transformation est appliquée d'une part à DCC 1 et KSC pour obtenir une deuxième donnée de comparaison dans la carte DCC 2, d'autre part à DCL 1 et KSL pour obtenir une deuxième donnée 20 de comparaison dans le lecteur DCL 2, en ce que, après transfert (T 4) de DCL 2 du lecteur à la carte, les dits moyens de vérification de la carte vérifiant que DCL 2 et DCC 2 sont égaux (LOK) et, dans ce cas, autorisent le transfert (T 5) de DCC 1 de la carte au lecteur, en ce que les dits moyens de vérification du lecteur vérifient que DCC 1 et DCL 1 sont égaux (COK), et, dans ce cas, autorisent d'autres échanges d'informations entre la carte et le lecteur, et en ce que une clé de session KS ainsi authentifiée puisque identique à celle du lecteur KSL et à celle de la carte KSC, 30 est mémorisée et donc disponible pour assurer, par cryptage la confidentialité des dits échanges d'informations. 2 Système d'authentification réciproque selon la revendication 1 caractérisé en ce que les quatre fonctions de transformation (F 1, F 2, F 3, F 4) peuvent être toutes identiques les unes aux autres, ou encore identiques deux à deux ou trois à trois. 3 Système d'authentification réciproque selon les revendications 1 ou 2 caractérisé en ce que le dit générateur aléatoire (GEN) est situé dans la carte, en ce que le transfert (T 2) du premier (RT) et du deuxième (RT) nombres aléa5 toires s'effectue alors de la carte vers le lecteur, et en ce que les transferts T 1 et T 2 peuvent alors ne constituer qu'un seul transfert T 12. 4 Système d'authentification réciproque selon les revendications 1, 2 ou 3 caractérisé en ce que le signal de départ TO provient de la carte et peut alors ne constituer qu'un seul transfert (TO 1) avec T 1 et même un seul transfert (T 012) avec T 1 et T 2. Système d'authentification réciproque selon les revendications 1, 2, 3 ou 4 caractérisé en ce que les moyens 15 de traitement du lecteur étant plus rapides que les moyens de traitement de la carte, le lecteur se met en position d'attente (W), en ce que les moyens de traitement de la carte comportent des moyens de signalement pour signaler (T 3) au lecteur que l'accomplissement des dites fonctions de trans20 formation est achevé dans la carte, et en ce que, après réception de ce signal d'achèvement, les moyens de transfert du lecteur et de la carte initialisent le protocole d'échange (T 4) des dites données de comparaison du lecteur vers la carte et vice-versa (T 5). 6 Système d'authentification réciproque selon les revendications 1, 2, 3, 4 ou 5 caractérisé en ce que la dite fonction (F 1) non-spécifique à chaque carte, est spécifique à un couple sous-ensemble de lecteurs et sous-ensemble de cartes connectables entre eux, de telle sorte que d'autres 30 échanges d'informations ne soient pas autorisés entre un élément d'un des sous-ensemblesde ce couple et un élément d'un autre couple ayant une fonction spécifique différente (FI', Fi",). 7 Système d'authentification réciproque selon l'une quelconque des revendications précédentes caractérisé en ce que le signal de départ TO est renouvelé, au cours des échanges d'information entre une carte et un lecteur restant connectés,ce renouvellement s'effectuant autant de fois que jugé nécessaire pour assurer la confidentialité des dits échanges vu qu'à chaque renouvellement une nouvelle clé de 5 session KS est générée pour le cryptage des dits échanges. 8 Système d'authentification réciproque selon l'une quelconque des revendications précédentes utilisé pour tout dialogue entre des systèmes informatiques comportant des moyens de traitement et des mémoires.