Brevet FR2658375A2 — publié le 19910816

FR 2658375 A2 19910816 FR 9001512 A 19900209 La présente addition a pour objet des perfectionnements apportés au brevet principal de manière à permettre de créditer directement dans un dispositif dont est titulaire un individu au moins une partie des gains réalisés par ce dernier à l'occasion d'un pari, d'une loterie ou autre jeu interactif. Selon le brevet principal, la participation d'un individu à un programme est certifiée, soit dans le dispositif, soit dans un serveur, grâce à une datation permettant de vérifier que l'individu a bien parié, joué ou participé d'une autre manière quelconque à un programme, avant une heure limite Cette participation n'est validée que si elle satisfait également à une procédure d'authentification mettant en oeuvre conjointement le dispositif et le serveur Si la participation est effectivement validée, le résultat ou gain obtenu par l'individu est affecté à celui-ci dans le serveur. Ce processus implique donc une gestion centralisée au niveau du serveur des résultats ou gains obtenus par leurs bénéficiaires Une telle gestion est relativement lourde et n'offre pas la même souplesse que si les gains obtenus sont crédités à un individu directement dans une mémoire protégée de son dispositif En effet, ce dernier étant de préférence portable, son titulaire pourra exploiter aisément le crédit dont il dispose pour participer à de nouveaux jeux ou en tout lieu (point de vente par exemple) équipé d'une borne ou terminal capable d'authentifier le dispositif et de lire et débiter la mémoire protégée de crédit Cette borne ou terminal n'est pas nécessairement connecté au serveur si le gain crédité dans le dispositif a été préalablement validé. Dans la suite, on supposera par conséquent que le microcalculateur du dispositif comporte ou est associé à une ou des mémoires protégées conventionnelles que l'on rencontre, par exemple, dans le domaine des cartes bancaires à microcircuit De telles cartes sont décrites, par exemple, dans l'ouvrage intitulé "Les cartes à microcircuit" de F Guez et C Robert publié en 1988 chez MASSON (France). Cependant, la sécurité contre les fraudes offerte par les moyens de validation du dispositif décrit au brevet principal peut s'avérer insuffisante dans l'hypothèse retenue o les gains sont affectés au bénéficiaire directement dans son dispositif portable. L'invention vise à résoudre ce problème et, selon une première forme de réalisation de l'invention, elle a pour objet un dispositif selon les revendications 3 et 7 du brevet principal, caractérisé en ce que les moyens de validation dudit dispositif comprennent: des moyens pour élaborer un certificat contenant ledit temps relatif mesuré, des moyens de chiffrement dudit certificat, des moyens pour transmettre ledit certificat chiffré audit serveur, des moyens pour recevoir dudit serveur un code de validation chiffré comprenant une clé de validation calculée en réponse à ladite certification du résultat, par ledit serveur en fonction d'une information connue desdits moyens de traitement, des moyens de déchiffrement dudit code de validation, des moyens pour calculer dans le dispositif une clé de validation en fonction de ladite information connue des moyens de traitement, des moyens pour comparer lesdites clés de validation calculées respectivement dans le serveur et le dispositif, des moyens pour valider ledit résultat lorsqu'il y a cohérence entre lesdites clés de validation, et des moyens pour stocker ledit résultat dans lesdits moyens de mémorisation. Selon une seconde forme de réalisation, l'invention a pour objet un dispositif selon les revendications 3 et 4 du brevet principal, caractérisé en ce que les moyens de validation dudit dispositif comprennent: des moyens de temporisation initialisés en réponse à une demande de validation d'un résultat, des moyens pour élaborer un message caractéristique d'une demande de validation, des moyens pour chiffrer ledit message, des moyens pour transmettre ledit message chiffré audit serveur, des moyens pour recevoir dudit serveur un certificat chiffré comprenant ledit temps relatif de référence, des moyens de déchiffrement dudit certificat, des moyens pour valider ledit résultat, en réponse à ladite certification par lesdits moyens de comparaison, si le temps mesuré par lesdits moyens de temporisation est inférieur à une durée limite prédéterminée, et des moyens pour stocker ledit résultat validé dans lesdits moyens de mémorisation. De préférence, ledit certificat ou ledit message transmis par le dispositif au serveur comprend une information secrète connue desdits moyens de traitement et ledit code de validation ou ledit certificat transmis du serveur au dispositif est chiffré en fonction de ladite information secrète. D'autres caractéristiques et avantages de l'invention ressortiront de la description qui va suivre de deux modes de réalisation donnés à titre d'exemple et illustrés par les dessins annexés sur lesquels: La figure 1 est un schéma illustrant la fonction de validation mise en oeuvre avec un dispositif selon une première forme de réalisation de l'invention; et La figure 2 est un schéma illustrant la fonction de validation mise en oeuvre avec un dispositif selon une seconde forme de réalisation de l'invention. Le dispositif objet de la présente addition a la même structure matérielle que celle du dispositif décrit au brevet principal et la description n'en sera pas reprise Comme indiqué précédemment, le microcalculateur est cependant pourvu de ou associé à une ou plusieurs mémoires dont l'accès en lecture et écriture est protégé par des moyens conventionnels de manière à interdire toute intervention frauduleuse sur le contenu de cette ou ces mémoires. Le microcalculateur est programmé de façon à mettre en oeuvre, d'une part la procédure de certification par datation décrite au brevet principal, d'autre part une nouvelle procédure d'authentification formant ensemble une procédure de validation décrite ci-après en se référant à la figure 1 illustrant un premier mode de réalisation de l'invention. Sur la figure 1, la partie située à droite du trait mixte correspond à un automate de communication d'un serveur S La partie située à gauche du trait mixte (lequel schématise la ou les interfaces entre le dispositif et le serveur S) illustre les fonctions mises en oeuvre par le dispositif 1, lequel est supposé portable. Le titulaire du dispositif 1, ci-après également appelé le joueur, est supposé avoir participé à un programme (pari, loterie, jeu interactif) comme décrit au brevet principal et obtenu un certain gain qu'il veut faire valider dans son dispositif. Pour ce faire, la procédure de validation doit être déclenchée dans le dispositif 1 par actionnement d'une touche ou d'une combinaison de touches (étape 100) De préférence, le dispositif comporte une touche "validation", remplaçant par exemple la touche "ID" du dispositif décrit au brevet principal Le déclenchement de la procédure de validation peut être subordonnée ou non, après l'actionnement de la touche "validation", à l'entrée par l'utilisateur d'un code confidentiel d'identification. L'actionnement de la touche "validation", suivi ou non de l'entrée du code confidentiel d'identification, génère dans le microcalculateur une interruption ayant pour effet d'entamer le déroulement d'un programme de validation A la première étape 101 de ce programme le microcalculateur détermine le temps relatif ôti t qui s'est écoulé entre la date absolue de l'événement caractéristique de la participation du joueur au programme (pari, réponse à une question, etc) et la date absolue à laquelle la procédure de validation a été déclenchée comme décrit ci-dessus. Le microcalculateur génère ensuite un certificat (étape 102) comprenant: une en-tête, à savoir des données de formatage du certificat; une donnée secrète a, qui peut être par exemple un nombre aléatoire ou pseudoaléatoire engendré par le microcalculateur, dont le rôle sera explicité dans la suite; le temps tin; un code de contrôle de cohérence CCC. Le certificat peut également comporter d'autres informations telles que le code d'identification interne NII du dispositif afin de parfaire son authentification par le serveur, le gain G contenu dans le dispositif, etc Le certificat est ensuite chiffré à l'étape 103 au moyen d'une clé variable connue du serveur S, clé qui peut être calculée par exemple à partir de la date en cours et/ou d'une information variable faisant partie des données téléchargées dans le dispositif pour la participation au programme Un code de contrôle d'erreur CRC est ensuite associé au certificat chiffré à l'étape 104 Ainsi le certificat transmis au serveur varie avec chaque programme (jeu, pari, etc) et à chaque opération de validation. Le certificat chiffré est transmis au serveur S par des moyens appropriés symbolisés sous forme d'une interface Il Si la longueur du certificat le permet, le certificat chiffré sera affiché sous forme alphanumérique sur l'écran du dispositif et introduit dans le serveur, soit par le joueur sur le clavier d'un terminal, soit par une opératrice en liaison téléphonique avec le joueur, soit par tout autre moyen approprié En variante, le certificat chiffré peut être transmis au serveur par une liaison numérique entre le dispositif et le terminal du serveur, par exemple du type modem acoustique, le dispositif comportant alors un transducteur acoustique. A l'étape 105, le serveur S procède à un contrôle du certificat reçu au moyen du code de contrôle d'erreur CRC que comporte ce certificat L'étape suivante 106 consiste à déchiffrer le certificat et l'étape 107 est un test opéré sur le certificat pour en vérifier la cohérence en fonction du code de contrôle de cohérence CCC qu'il comporte. Si le certificat reçu est jugé non cohérent il est rejeté Dans le cas contraire, le serveur S extrait du certificat l'information secrète a (étape 108) et le temps 8 T int (étape 109) et calcule un temps ôTre f (étape 110) correspondant au temps ôTémis du brevet principal. L'étape suivante 111 est une comparaison entre les temps 8 T N t et 8 Tr e f Suivant que l'écart entre 8 Tr e f et ôTi N t est inférieur ou supérieur à une tolérance définie, la procédure de validation en cours est poursuivie ou rejetée (étape 112). A ce stade, ou à d'autres moments du déroulement de la procédure de validation dans le serveur, ce dernier peut procéder à d'autres opérations telles que le contrôle du numéro d'identification interne NII ou la mémorisation du gain si le certificat contient de telles informations. Si la réponse au test 112 est positive, le serveur procède en 113 à l'élaboration d'un code de validation contenant une clé de validation destinée à être reconnue par le dispositif Cette clé de validation peut être fixe mais elle est de préférence variable: par exemple, elle peut être fonction d'une donnée fournie au dispositif lors du téléchargement du programme qui a généré le gain en cours de validation, elle peut être fonction de la date instantanée, etc Le code de validation peut également contenir d'autres informations liées à l'exploitation du dispositif, par exemple le montant du gain qui sera affecté dans le dispositif à l'utilisateur, une règle pour le calcul de ce gain dans le dispositif, etc A la clé de validation est associé un code de contrôle de cohérence CCC et l'ensemble est chiffré à l'étape 114 au moyen de l'information secrète a, laquelle peut également faire partie du code de validation A l'étape 115 un code de contrôle d'erreur CRC est associé au code de validation chiffré. Ce code est transmis au dispositif 1 par des moyens symbolisés par une interface I 2 qui peut consister, soit en l'affichage ou la transmission par une opératrice de ce code sous forme de caractères alphanumériques que l'utilisateur n'a plus qu'à introduire dans son dispositif au moyen du clavier, soit en une liaison numérique de type acoustique, lumineuse ou autre Le code de validation chiffré peut par exemple être transmis du serveur S au dispositif 1 par génération d'une séquence lumineuse susceptible d'être lue par les phototransistors dont est muni le dispositif. A l'étape 116, le microcalculateur du dispositif procède à un contrôle du message reçu en fonction du code de contrôle d'erreur CRC associé à celuici et procède ensuite au déchiffrement du code de validation en fonction de l'information secrète a que le microcalculateur connaît puisqu'elle a été générée et mémorisée par celui-ci Les opérations de chiffrement et déchiffrement mises en oeuvre aux étapes 103, 106, 114 et 117 font appel à des logiciels conventionnels bien connus des spécialistes de cette technique. La cohérence du code de validation est testée à l'étape 118 en fonction du code de contrôle de cohérence CCC associé et, en cas de défaut de cohérence, la procédure de validation en cours est rejetée. Dans le cas contraire, le microcalculateur procède en 119 au calcul de la clé de validation à partir du même paramètre (par exemple date instantanée, information fournie au dispositif lors du téléchargement du programme, etc) que celle qui a servi au serveur pour calculer la clé de validation transmise au dispositif. Le microcalculateur du dispositif procède en 120 à un test pour déterminer si les clés de validation calculées d'une part par le serveur, d'autre part par le dispositif, sont égales ou cohérentes Dans la négative, la procédure de validation en cours est rejetée, dans le cas contraire, la participation au jeu est validée en 121, le gain qui en est issu est calculé en 122 et le montant de ce gain est crédité en 123 dans la mémoire protégée dont est équipé le dispositif. Selon cette première forme de réalisation de l'invention, le gain est crédité directement dans le dispositif au moyen duquel il a été obtenu, mais la certification que ce gain a bien été réalisé en jouant avec le dispositif avant une heure limite autorisée est effectuée dans le serveur. En variante, la certification peut être opérée directement dans le dispositif comme représenté à la figure 2 à laquelle on se reportera. Comme dans le cas de la figure 1, le processus de validation est déclenché par l'actionnement de la touche validation ou d'une combinaison de plusieurs touches (étape 200) Cette action a pour effet de déclencher une temporisation (étape 201) pour mesurer le temps qui s'écoule entre le début de la procédure de validation et la réception par le dispositif d'un certificat émis par le serveur comme cela sera décrit dans la suite. A l'étape 202, le microcalculateur engendre un message analogue à celui de l'étape 102 de la figure 1, hormis le fait que ce message ne contient pas le temps 8 Tint Le message élaboré à l'étape 202 est chiffré en 203 comme décrit à propos de l'étape 103, puis affecté d'un code de contrôle d'erreur CRC en 204. Ce message est alors transmis au serveur S par l'intermédiaire de l'interface Il comme décrit à propos de la figure 1. Dans le serveur S, un contrôle d'erreur est effectué en 205 au moyen du code CRC et le message est déchiffré en 206 La cohérence du message déchiffré est testée à l'étape 207 au moyen du code de contrôle de cohérence CCC contenu dans le message Si le message n'apparaît pas cohérent, la procédure de validation en cours est abandonnée. Dans le cas contraire, le serveur S détermine à l'étape 208 le temps 8 Tref qui s'est écoulé entre la date limite de participation au programme (date qui est naturellement connue du serveur) et la date instantanée, c'est-à-dire la date à laquelle le serveur est saisi d'un message cohérent représentatif d'une demande de validation. Après cette étape 208, le serveur procède en 209 à l'extraction de l'information secrète a du message reçu et élabore en 210 un certificat contenant le temps &Tre f obtenu à l'étape 208. De même que pour le code de validation élaboré à l'étape 113 de la figure 1, le certificat de l'étape 210, outre un code de contrôle de cohérence CCC, peut contenir d'autres informations (montant du gain, règle de calcul du gain, etc) liées à l'exploitation du dispositif Le serveur peut également procéder à une authentification du dispositif sur la base, par exemple, du numéro d'identification interne NII de celui-ci, s'il est contenu dans le message transmis du dispositif au serveur Par contre, dans ce second mode de réalisation, le gain ne peut pas, à ce stade, être mémorisé dans le serveur à des fins statistiques ou de contrôle comme dans le cas de la figure 1, car la certification n'intervient pas dans le serveur mais, dans un deuxième stade, dans le dispositif. Le certificat élaboré à l'étape 210 est chiffré en 211 au moyen de l'information secrète a (information qui peut faire partie ou non du certificat), puis le certificat chiffré est doté en 212 d'un code de contrôle d'erreur CRC Le certificat chiffré est transmis au dispositif 1 par les moyens d'interface I 2 qui ont été décrits à propos de la figure 1. Le microcalculateur du dispositif procède en 213 au contrôle du certificat au moyen du code CRC, à son déchiffrement en 214 au moyen de l'information secrète a élaborée à l'étape 202 et mémorisée par le microcalculateur, et détermine en 215 le temps 8 Ti nt' L'étape suivante 216 est un test permettant de déterminer s'il y a cohérence entre le temps ôTint mesuré dans le dispositif et le temps 8 Tref élaboré par le serveur Dans la négative, la procédure de validation en cours est rejetée. Dans l'affirmative, le microcalculateur examine en 217 si le temps qui s'est écoulé depuis le déclenchement de la temporisation à l'étape 201 est supérieur ou non à une durée prédéterminée mémorisée dans le microcalculateur Cette temporisation et ce test ont pour but d'empêcher les fraudes qui pourraient consister, après l'étape 212, à retarder l'introduction dans le dispositif du certificat élaboré par le serveur et à augmenter ainsi artificiellement le temps 8 Ti t Si le temps écoulé depuis le déclenchement de la temporisation en 201 est supérieur à la durée prédéterminée précitée, la procédure de validation est abandonnée. il Dans le cas contraire, le microcalculateur valide en 218 la participation au programme, calcule le gain obtenu en 219 et le crédite dans la mémoire protégée réservée à cet effet en 220. Il va de soi que les modes de réalisation décrits ne sont que des exemples et l'on pourrait les modifier, notamment par substitution d'équivalents techniques, sans sortir pour cela du cadre de l'invention. REVENDICATIONS 1 Dispositif selon les revendications 3 et 7 du brevet principal, caractérisé en ce que les moyens de validation ( 4) dudit dispositif comprennent: des moyens ( 4) pour élaborer un certificat contenant ledit temps relatif (ôTint) mesuré, des moyens ( 4) de chiffrement dudit certificat, des moyens (Il) pour transmettre ledit certificat chiffré audit serveur, des moyens (I 2) pour recevoir dudit serveur un code de validation chiffré comprenant une clé de validation calculée, en réponse à ladite certification du résultat, par ledit serveur en fonction d'une information connue desdits moyens de traitement, des moyens ( 4) de déchiffrement dudit code de validation, des moyens ( 4) pour calculer dans le dispositif une clé de validation en fonction de ladite information connue des moyens de traitement, des moyens pour comparer lesdites clés de validation calculées respectivement dans le serveur (S) et le dispositif ( 1), des moyens ( 4) pour valider ledit résultat lorsqu'il y a cohérence entre lesdites clés de validation, et des moyens ( 4) pour stocker ledit résultat dans lesdits moyens de mémorisation. 2 Dispositif selon les revendications 3 et 4 du brevet principal, caractérisé en ce que les moyens de validation ( 4) dudit dispositif comprennent: des moyens ( 4) de temporisation initialisés en réponse à une demande de validation d'un résultat, des moyens ( 4) pour élaborer un message caractéristique d'une demande de validation, des moyens pour chiffrer ledit message, des moyens (Il) pour transmettre ledit message chiffré audit serveur (S), des moyens (I 2) pour recevoir dudit serveur (S) un certificat chiffré comprenant ledit temps relatif de référence ( 8 Tre f) des moyens ( 4) de déchiffrement dudit certificat, des moyens ( 4) pour valider ledit résultat, en réponse à ladite certification par lesdits moyens de comparaison, si le temps mesuré par lesdits moyens de temporisation est inférieur à une durée limite prédéterminée, et des moyens ( 4) pour stocker ledit résultat validé dans lesdits moyens de mémorisation. 3 Dispositif selon la revendication 1 et 2 de l'addition, caractérisé en ce que ledit certificat ou ledit message transmis par le dispositif au serveur comprend une information secrète (a) connue desdits moyens de traitement et en ce que ledit code de validation ou ledit certificat transmis du serveur (S) au dispositif ( 1) est chiffré en fonction de ladite information secrète. 4 Dispositif selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ledit certificat ou ledit message transmis par le dispositif au serveur est chiffré en fonction d'une information connue du serveur.