Brevet FR2608338A1 — publié le 19880617

Dispositif pour l'échange de données confidentielles entre une série de terminaux et un concentrateur. L'invention concerne l'échange de données confidentielles, en milieu non protégé. Par milieu non protégé, on entend un endroit dont l'accès n'est pas restreint à un nombre limité de personnes, astreintes à des règles particulières de confidentialité ou de secret. Dans un tel milieu, la circulation de données sur des lignes informatiques entre des terminaux et un concentrateur comporte un risque d'interception de ces données, ce qui est bien entendu à éviter par principe. Par exemple, on envisage maintenant d'établir des systèmes de paiement électroniques comportant une série de terminaux de paiement électroniques reliés à un concentrateur. Le concentrateur a pour fonction de réunir des informations relatives à des transactions établies au niveau de chacun des terminaux, pour les transmettre à un organisme bancaire. Un terminal de paiement électronique est généralement assorti d'un boîtier de composition de code confidentiel. Différentes mesures ont déjà été proposées par la Demanderesse pour assurer que le code confidentiel ne puisse être intercepté au niveau du boitier de composition lui-même. Tout se passe bien, tant que l'exactitude du code confidentiel est vérifiée à l'intérieur même du boîtier où il est composé. Cependant, une installation possédant beaucoup de terminaux devra posséder autant de boîtiers de code confidentiel, dont chacun devra pouvoir assurer la fonction de contrôle du code confidentiel. Pour des raisons d'économie évidentes, il serait souhaitable de regrouper le contrôle des codes confidentiels au niveau du concentrateur. Mais on tombe alors sur le problème consistant à transmettre ce code confidentiel sur une ligne informatique dans un milieu non protégé. I1 est bien entendu possible de chiffrer le code confidentiel lors de sa transmission. Le problème ne fait alors que se déplacer. I1 est en effet nécessaire, dans cette nouvelle situation, que le mode de chiffrement/déchiffrement puisse être transmis entre le concentsateur et les terminaux, ou plus exactement les boîtiers de composition de code confidentiel, dans l'exemple choisi plus haut. C'est alors la sécurité des clés de chiffrement/déchiffrement qu'il faut assurer. Par ailleurs, à la différence du code confidentiel, les clés de chiffrement/déchiffrement doivent, d'une certaine manière, être définissables a priori tant par les terminaux que le concentrateur. Et il faut faire en sorte qu'elles ne puissent être déterminées par une personne qui disposerait par exemple d'un terminal, qu'elle se serait appropriée indûment. La présente invention a essentiellement pour but d'apporter une solution à ce problème. De façon générale, l'invention vient permettre l'échange de données confidentielles entre une série de terminaux et un concentrateur, en visant à conférer une sécurité maximale aux données confidentielles échangées entre ces différents appareils. Plus précisément, l'invention a aussi pour but de permettre, avec une grande sécurité, le passage d'un code confidentiel d'usager entre une série de terminaux et un concentrateur, de façon que la vérification du code puisse être conduite au sein de ce même concentrateur. Pour cela, l'invention part d'un dispositif pour l'échange de données confidentielles entre une série de terminaux et un concentrateur, comprenant tous des moyens de traitement de données, propres au chiffrement/déchiffrement, et des moyens d'entrée/sortie. Selon l'invention, le concentrateur comporte un circuit hautement protégé, en particulier un circuit hybride, contenant des moyens propres à exécuter un processus prédéterminé de calculs de clés à partir de nombres. Chaque terminal est muni d'une mémoire protégée, chargée initialement d'un couple de nombres dont l'un est un numéro d'identification et l'autre une clé de base, déterminés à partir du numéro d'identification selon ledit processus prédéterminé; cette mémoire protégée est associée, en particulier dans un même circuit intéqré monolithique, à une unité de traitement, et à des moyens pour autoriser seulement cette unité de traitement à accéder à la clé de codage de base, à l'exclusion de toute entrée/sortie. Le concentrateur acquiert le numéro d'identification des différents terminaux, d'où il peut déduire les clés de base respectivement associées. Enfin, certaines au moins des informations échangées entre le concentrateur et chacun des terminaux sont chiffrées selon la clé de base associée au terminal concerné. Les informations ainsi chiffrées pourraient être les données utiles elles-mêmes. Cependant, il est préféré que les informations codées selon la clé de base soient des clés secondaires, que le concentrateur établit par périodes ou par sessions, pour le chiffrement/déchiffrement des données confidentielles utiles qu'il doit échanger avec chaque terminal. Très avantageusement, le concentrateur envoie des clés secondaires différentes à chacun des terminaux. De préférence, ces clés secondaires sont des nombres pseudoaléatoires engendrées par le concentrateur. De leur côté, les numéros d'identification peuvent être tirés au sort à la fabrication des terminaux, tandis que les clés de codage associées sont calculées par une machine de protection au moins égale à celle du concentrateur. On observera qu'à ce niveau la machine peut être implantée en milieu protégé. Selon un autre aspect de l'invention, les mémoires protégées sont contenues dans des boîtiers de composition de code confidentiel, respectivement associés à chacun des terminaux, les données confidentielles comprenant alors principalement le code confidentiel de tout usager. En pratique, les mémoires protégées sont avantageusement composées d'une puce microcontrôleur avec mémoire programmable intégrée, dont l'accès depuis l'extérieur est interdit par au moins un bit de verrou incorporé à la puce microcontrôleur, qui est elle-même noyée dans une résine. De son côté, le circuit hautement protégé comprend, noyés dans une résine, un microprocesseur avec mémoire de travail sauvegardée et mémoire de programme. Le codage des données confidentielles peut s'effectuer selon le procédé dit DES ("Data Encryption Standard"). D'autres caractéristiques et avantages de l'invention apparaitront à l'examen de la description détaillée ci-après, et des dessins annexés, sur lesquels - la figure 1 est le schéma électrique général d'un mode de réalisation de 11 invention; et - la figure 2 est le schéma d'un dispositif selon l'invention, appliqué aux transactions par paiement électronique. Sur les dessins, la référence 1 désigne un concentrateur, qui est par exemple le modèle vendu sous la désignation C301 ou C302 par la Demanderesse. Ces deux modèles diffèrent par le fait que les transactions sont transmises à l'organisme bancaire en temps réel pour le premier, et en temps différé pour le second. La structure détaillée d'un tel appareil est considérée comme connue de l'homme de l'art, et ne sera pas décrite plus en détail. Les dessins montrent simplement que le concentrateur 1 comporte un organe 12 capable d'une part de traiter des données, ainsi que de gérer des entrées/sorties de données vis-à-vis de l'extérieur. Ces entrées/sorties concernent bien sûr les échanges avec les dispositif s connectés 3, mais aussi ceux, par une ligne téléphonique, avec l'organisme bancaire. Ces derniers échanges ne sont pas directement concernés par la présente invention, bien que les moyens de chiffrement/déchiffrement décrits puissent également s'y appliquer. La différence entre la figure 1 et la figure 2 réside en ce que les organes connectés sont illustrés par un seul boîtier 3 sur la figure 1, tandis qu'ils sont décomposés en deux boîtiers 2 et 3 sur la figure 2. Cette figure 2 concerne en effet le cas d'un terminal de paiement électronique, qui correspond donc au bloc 2, et auquel est associé un boîtier de composition de code confidentiel, qui correspond alors au bloc 3. Mais l'homme de l'art comprendra que l'invention peut également être mise en oeuvre avec des organes connectés monobloc, comme illustré sur la figure 1, et dans lequel seraient directement disponibles les données confidentielles à transmettre au concentrateur. Cette différence ayant été exposée, on poursuivra maintenant la description de l'invention en référence à la figure 2. Les organes 2 sont par exemple les terminaux de paiement électroniques de la famille E200 commercialisés par la Demanderesse. Ces terminaux de paiement électroniques peuvent se voir adjoindre des boîtiers de composition de code confidentiel dits "PIN-PAD". On notera incidemment que ces terminaux de paiement électroniques n'ont pas nécessairement l'architecture illustrée sur les dessins, c'est-à-dire que le rôle du concentrateur peut être joué par l'un des terminaux. Cela ne change rien à la mise en oeuvre de l'invention. La Demanderesse commercialise par ailleurs des circuits hybrides dits "de haute sécurité". Ces circuits sont agencés pour être pratiquement inviolables. Ils comprennent principalement, noyés dans une résine, un microprocesseur avec mémoire de travail sauvegardée et mémoire de programme. L'un des éléments de leur protection réside en ce que les données protégées peuvent être introduites dans la mémoire de travail sauvegardée, tandis que la sauvegarde est supprimée en cas de tentative d'effraction. Ces circuits sont capables d'opérations de chiffrement/déchiffrement. Ils sont également capables de mettre en oeuvre les processus des calculs complexes permettant de vérifier un code confidentiel bancaire d'un usager, par rapport aux données non confidentielles identifiant cet usager. La Demanderesse a observé que les fonctions disponibles dans un tel circuit lui permettent également d'exécuter un processus prédéterminé de calcul de clés à partir de nombres. Cette constatation constitue l'un des points de départ de l'invention. On va en effet incorporer un tel circuit hautement protégé dans le concentrateur 1 (ou dans le terminal de paiement électronique jouant le rôle de concentrateur). Les dessins montrent que le circuit hautement protégé 11 est capable de retrouver une clé KSx, suivant une lo-i A, à partir d'une information d'identification Sx. Il pourra alors traiter à l'aide de cette clé les informations reçues ou à transmettre. Le résultat de ce traitement sera aiguillé vers le ou les terminaux via l'unité de traitement 12 qui comprend les moyens d'entrées/sorties. Jusqu a présent, l'un des moyens utilisés pour protéger les boîtiers de composition de code confidentiel consistait à intégrer également dans ces boîtiers un circuit hautement protégé tel qu'on vient de- le définir. Mais, cette solution est évidemment onéreuse, surtout qu'elle introduit une duplication de moyens lorsqu'un nombre élevé de terminaux est relié à un même concentrateur. La présente invention vient proposer une solution différente. Selon l'invention, on incorpore aux terminaux (figure 1), ou dans l'exemple d'application choisi au boîtier de composition de code confidentiel 3 de la figure 2, des circuits 31 qui sont de simples mémoires protégées. De telles mémoires protégées peuvent être réalisées à partir d'une puce microcontrôleur comportant une mémoire programmable intégrée, dont l'accès depuis l'extérieur est interdit par au moins un bit de verrou incorporé à la puce microcontrôleur. Il est avantageux que cette puce soit elle-même noyée dans une résine. Un moyen pour améliorer la protection de telles puces est décrit dans la Demande de Brevet déposée conjointement par la Demanderesse et intitulée circuit intégré protégé par une résine". A la fabrication, ces mémoires protégées peuvent être personnalisées chacune avec un couple de deux nombres dont l'un S, avantageusement tiré au sort, est un numéro d'identification, tandis que l'autre KS est une clé de codage de base. Cette personnalisation s'effectue sur une machine spécifique, en milieu protégé. La machine peut engendrer des nombres aléatoires SX, par exemple en mode pseudo-aléatoire, ce que l'on sait faire à l'aide de registres à décalage convenablement bouclés sur eux-mêmes, ou encore de nombres véritablement aléatoires, par exemple à l'aide d'un générateur de bruit adéquat. Cette machine hautement protégée possède également le processus de calcul suivant la loi A qui est intégré au concentrateur. Après cela, seuls les numéros d'identification S pourront sortir des boîtiers 3. Par contre, les clés de codage de base KS n'en sortiront jamais. A chaque mise en service journalière du système, et aussi, de préférence, à intervalles choisis à l'intérieur d'une même journée de travail, le concentrateur acquiert les numéros d'identification ds différents terminaux, d'où il peut déduire les clés de base respectivement associées, à l'intérieur de son circuit ll Dès lors, on pourrait simplement faire transmettre les codes confidentiels des boîtiers 3 au concentrateur en chiffrant ces codes confidentiels par la clé de base propre à chaque boîtier 3, suivant un procédé de chiffrage de la clé secrète qui pourrait être par exemple le procédé DES déjà mentionné. Mais la Demanderesse estime actuellement qu'il est nettement préférable que ce soient des clés secondaires qui soient transmises par le concentrateur au boîtier 3, après codage selon la clé de base. Ainsi, le concentrateur établit des périodes ou sessions. Au début de chacune des sessions, il établit les clés secondaires, en particulier une clé secondaire pour chaque terminal. Il transforme cette clé secondaire par chiffrement selon la clé de base, qu'il connaît, de chaque terminal. Tout ceci se passe naturellement à l'intérieur du circuit 11. Ensuite, les données chiffrées qui' représentent les clés secondaires sont transmises par l'unité 12 à chacun des terminaux concernés. Les clés secondaires sont avantageusement des nombres pseudo-aléatoires engendrés par le concentrateur, à l'aide de registres à décalage comme déjà évoqué. Une variante consisterait à envoyer les clés de session à partir des unités 3 vers le concentrateur. (Dans ce cas le boîtier peut décider de changer sa clé de session à chaque transaction Pendant toute la session, les données confidentielles échangées entre le concentrateur et les boitiers 3, ou inversement, sont chiffrées à l'aide des clés secondaires, restées secrètes, le chiffrement se faisant par exemple par le procédé DES. Ceci s'applique tout particulièrement à la transmission du code confidentiel de chaque usager, au moment de la validation d'une transaction, entre l'un des boîtiers 3 et le concentrateur. Le concentrateur reçoit également les données identifiant l'usager, telles que contenues sur sa carte bancaire, et qui sont essentiellement les données de son relevé d'identité bancaire. A partir de là, le concentrateur contrôle que le code confidentiel composé par l'usager est bien acceptable. Il renvoie alors au terminal de paiement concerné (2) une information validant la transaction. Bien entendu, on procédera aussi au niveau du concentrateur aux autres contrôles habitues, notamment à partir des listes définissant les cartes bancaires invalides, volées, ou frauduleuses pour d'autres raisons. On observera que le circuit ll du concentrateur joue déjà le rôle d'une sorte de "coffre-fort électronique" à l'égard des informations qu'il contient. On peut envisager d'utiliser un circuit qui ne serait pas hautement protégé en lui-même, mais qui serait contenu à l'intérieur d'un coffre-fort physique, ou même de loger dans un coffre-fort physique un circuit hautement protégé par lui-même, électroniquement. Bien entendu, les clés secondaires seront mises à jour à chaque coupure de tension, en cas de mise en oeuvre de sécurité logicielle ou matérielle quant aux échanges de données entre le concentrateur et les terminaux, et de toute manière de façon cyclique, une périodicité convenable étant par exemple de l'ordre d'une demi-heure. Revendications. 1. Dispositif pour l'échange de données confidentielles entre une série de terminaux (3) et un concentrateur (l), comprenant tous des moyens de traitement de données, propres au chiffrement/déchiffrement, et des moyens d'entrée/sortie, caractérisé en ce que le concentrateur comporte un circuit hautement protégé (11), en particulier un circuit hybride, contenant des moyens propres à exécuter un processus prédéterminé de calcul de clefs à partir de nombres, en ce que chaque terminal (3) est muni d'une mémoire protégée (31), chargée initialement d'un couple de nombres dont l'un est un numéro d'identification (S), et l'autre une clef de base (KS), déterminée à partir du numéro d'identification selon ledit processus prédéterminé, cette mémoire protégée étant associée, en particulier dans un même circuit intégré monolithique, à une unité de traitement, et à des moyens pour autoriser seulement cette unité de traitement à accéder à la clef de codage de base, à l'exclusion de toute entrée/sortie, en ce que le concentrateur (1) acquiert les numéros d'identification des différents terminaux, d'où il peut déduire les clefs de base respectivement associées, et en ce que certaines au moins des informations échangées entre le concentrateur (1) et chacun des terminaux (3) sont chiffrées selon la clef de base associée au terminal concerné. 2. Dispositif selon la revendication 1, caractérisé en ce que les informations codées selon la clef de base sont des clefs secondaires, que le concentrateur (1) établit par périodes ou sessions, pour le chiffrement/déchiffrement des données confidentielles utiles qu'il doit échanger avec chaque terminal. 3. Dispositif selon la revendication 2, caractérisé en ce que le concentrateur (1) envoie des clefs secondaires différentes à chacun des terminaux. 4. Dispositif selon l'une des revendications 2 et 3, caractérisé en ce que les clefs secondaires sont des nombres pseudo-aléatoires engendrés par le concentrateur (1). 5. Dispositif selon l'une des revendications 1 à 4, caractérisé en ce que les numéros d'identification sont tirés au sort à la fabrication des terminaux, tandis que les clefs de codage associées sont calculées par une machine de protection au moins égale à celle du concentrateur. 6. Dispositif selon l'une des revendications 1 à 6, caractérisé en ce que les mémoires protégées (31) sont contenues dans des boîtiers de composition de code confidentiel (3), respectivement associés à chacun des terminaux (2), les données confidentielles comprenant le code confidentiel de tout usager 7. Dispositif selon l'une des revendications précédentes, caractérisé en ce que les mémoires protégées (31) sont composées d'une puce microcontrôleur avec mémoire programmable intégrée, dont l'accès depuis l'extérieur est interdit par au moins un Dit de verrou incorporé à la puce microcontrôleur, qui est elle-même noyée dans une résine. 8. Dispositif selon l'une des revendications précédentes, caractérisé en ce que le circuit hautement protégé (11) comprend, noyés dans une résine, un microprocesseur avec mémoire de travail sauvegardée et mémoire de programme. 9. Dispositif selon l'une des revendications précédentes, caractérisé en ce que le codage des données confidentielles s'effectue selon le procédé dit DES.