Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD, DEVICE AND COMPUTER PROGRAM FOR CARRYING OUT AN ELECTRONIC DRAW
Document Type and Number:
WIPO Patent Application WO/2024/023425
Kind Code:
A1
Abstract:
The invention relates in particular to a method for carrying out an electronic draw in a device, the device comprising a first and second part, the first part being secure. After having obtained (505, 530) at least one raw random number and at least one private signature key in the first part, said private key having been stored beforehand in the first part, said at least one obtained raw random number is signed, in the first part, using said at least one obtained private key, and transmitted (540) to a drawing module implemented in the second part.

Inventors:
RICHARD FRANCK (FR)
Application Number:
PCT/FR2023/051131
Publication Date:
February 01, 2024
Filing Date:
July 20, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
LA FRANCAISE DES JEUX (FR)
International Classes:
G07C15/00
Domestic Patent References:
WO2020177109A12020-09-10
Foreign References:
CN112767221A2021-05-07
CN111865587A2020-10-30
EP1260053A12002-11-27
Attorney, Agent or Firm:
SANTARELLI (FR)
Download PDF:
Claims:
Revendications

1. Procédé de tirage électronique dans un dispositif, le dispositif comprenant une première et une seconde parties, la première partie étant sécurisée, le procédé comprenant,

- obtention (505), dans la première partie, d’au moins un nombre aléatoire brut,

- obtention (530), dans la première partie, d’au moins une clé privée de signature, ladite clé privée ayant été préalablement mémorisée dans la première partie,

- signature (535), dans la première partie, dudit au moins un nombre aléatoire brut obtenu à l’aide de ladite au moins une clé privée obtenue, et

- transmission (540) des données signées à un module de tirage mis en oeuvre dans la seconde partie.

2. Procédé selon la revendication 1 , comprenant en outre une étape d’authentification (615), dans ledit module de tirage, des données signées reçues et, si les données reçues sont authentifiées, une étape de tirage à partir dudit au moins un nombre aléatoire brut compris dans les données signées reçues.

3. Procédé selon la revendication 1 ou la revendication 2, comprenant en outre l’obtention (515, 520, 525), dans la première partie, de données de validation additionnelles, ladite signature comprenant la signature dudit au moins un nombre aléatoire brut obtenu et desdites données de validation additionnelles obtenues à l’aide de ladite au moins une clé privée obtenue.

4. Procédé selon la revendication 3, selon lequel lesdites données de validation additionnelles comprennent un numéro de séquence, une information temporelle et/ou une référence matérielle de ladite première partie.

5. Procédé selon la revendication 3 ou la revendication 4, comprenant en outre, dans ledit module de tirage, une étape de validation (620) dudit au moins un nombre aléatoire brut reçu, ladite validation étant basée sur lesdites données de validation additionnelles.

6. Programme d’ordinateur comprenant des instructions pour la mise en oeuvre de chacune des étapes du procédé selon l’une des revendications 1 à 5, lorsque ce programme est exécuté par un processeur.

7. Système de tirage électronique comprenant un premier et un second dispositifs, le premier dispositif étant sécurisé et comprenant une unité de traitement de données configurée pour,

- obtenir (505) au moins un nombre aléatoire brut, - obtenir (530) au moins une clé privée de signature,

- signer (535) ledit au moins un nombre aléatoire brut obtenu à l’aide de ladite au moins une clé privée obtenue, et

- transmettre (540) les données signées à un module de tirage mis en oeuvre dans le second dispositif.

8. Système selon la revendication 7, selon lequel ledit second dispositif comprend une unité de traitement de données configurée pour authentifier (615) des données signées reçues et, si les données reçues sont authentifiées, pour effectuer un tirage à partir dudit au moins un nombre aléatoire brut compris dans les données signées reçues. 9. Système selon la revendication 7 ou la revendication 8, selon lequel l’unité de traitement de données dudit premier dispositif sécurisé est en outre configurée pour obtenir (515, 520, 525) des données de validation additionnelles, ladite signature comprenant la signature dudit au moins un nombre aléatoire brut obtenu et desdites données de validation additionnelles obtenues à l’aide de ladite au moins une clé privée obtenue. 10. Système selon la revendication 9, selon lequel l’unité de traitement de données dudit second dispositif est en outre configurée pour valider (620) ledit au moins un nombre aléatoire brut reçu, ladite validation étant basée sur lesdites données de validation additionnelles.

Description:
Procédé, dispositif et programme d’ordinateur de tirage électronique

[0001] L’ invention se rapporte au domaine du tirage électronique, notamment au tirage électronique pour des jeux de hasard.

[0002] Lorsqu’un jeu nécessite un résultat lié au hasard, il est important que le dispositif qui permet d’obtenir le résultat ne comporte aucun biais, c’est-à-dire que, statistiquement, le nombre d’occurrences d’un résultat est constant sur un très grand nombre de tirages. A titre d’illustration, il est nécessaire, dans un système de tirage de loto utilisant des boules associées à des chiffres, d’utiliser des boules équivalentes en termes de forme et de poids. Dans le cadre d’un tirage électronique, des dispositifs spécifiques offrant de très bonnes qualités de hasard sont généralement utilisés. Ces dispositifs mettent en oeuvre des fonctions de tirage qui sont basées sur l’utilisation de nombres aléatoires obtenus d’un module appelé « générateur de données aléatoires ». Ce module est généralement un module matériel qui produit une donnée aléatoire brute, généralement binaire, aussi appelée graine, qui permet, après transformation, de déterminer un résultat dans un intervalle donné défini par le tirage recherché, par exemple d’obtenir 5 chiffres entre 1 et 49.

[0003] La figure 1 illustre un exemple d’un environnement de jeu, dans lequel est mis en oeuvre un tirage électronique selon un mode de réalisation connu.

[0004] Comme illustré, l’environnement de jeu 100 comprend ici un dispositif de jeu 105 tel qu’un ordinateur ou un ensemble d’ordinateurs et un serveur 110 sur lequel est mise en oeuvre une fonction de tirage électronique. Le dispositif de jeu 105 et le serveur 110 sont connectés les uns aux autres par un réseau de communication 115, par exemple un réseau de type Internet ou Ethernet. Le dispositif de jeu 105 permet l’exécution de modules de jeu, par exemple un module permettant à des joueurs de participer à un jeu de loterie. Lorsqu’un tirage doit être effectué, une requête 120 est transmise au serveur 110 qui répond avec un résultat de tirage 125. Pour fournir un résultat de tirage, le serveur 110 comprend un système de traitement de données 130. Ce système de traitement de données comprend par exemple un microprocesseur et une mémoire associée permettant l’exécution de programmes d’ordinateur, référencés 135, ainsi qu’une carte cryptographique 140. La carte cryptographique 140 permet de générer des nombres aléatoires bruts (graines) de façon sécurisée. La carte cryptographique 140 permet également de stocker des données de façon sécurisée, par exemple des clés cryptographiques, notamment des clés cryptographiques privées pouvant être utilisées pour signer et ainsi authentifier l’origine de données telles que des résultats de tirage.

[0005] Comme illustré en référence à la figure 2, un programme d’ordinateur exécuté par le microprocesseur et la mémoire associée 135 peut demander des nombres aléatoires bruts à la carte cryptographique 140, générer des résultats de tirage à partir de ces nombres aléatoires bruts, par exemple pour fournir des ensembles de 5 chiffres entre 1 et 49, et signer ces résultats de tirage pour permettre leur authentification.

[0006] La figure 2 illustre l’architecture logique d’un système de tirage électronique tel que celui décrit sur la figure 1. Comme illustré, la carte cryptographique 140 comprend un générateur de nombres aléatoires 200 pouvant, sur requête, adresser un nombre aléatoire brut à un algorithme de transformation 205 mis en oeuvre dans le microprocesseur et la mémoire associée 135. L’algorithme de transformation 205 calcule alors un résultat de tirage à partir du nombre aléatoire brut reçu (graine), par exemple 5 chiffres entre 1 et 49. Ce résultat de tirage est alors adressé à un module de signature 210 qui signe ce résultat, ainsi que le nombre aléatoire brut ayant servi à calculer ce résultat, par exemple à l’aide d’une clé privée obtenue d’une mémoire sécurisée, référencée 215, de la carte cryptographique 140. Le résultat de tirage signé est alors transmis au dispositif de jeu 105 qui peut utiliser le résultat de tirage après authentification.

[0007] Bien que la solution décrite en référence aux figures 1 et 2 permet d’obtenir des résultats de qualité, elle présente néanmoins des inconvénients.

[0008] Tout d’abord, elle n’exclut pas une attaque connue sous le nom de « man in the middle » qui peut permettre à un attaquant connecté au serveur 110 de manipuler le nombre aléatoire brut généré (la graine) avant que des résultats de tirage ne soient calculés et signés (avec le nombre aléatoire brut utilisé). Ayant des informations sur la graine, l’attaquant peut alors jouer des combinaisons qui lui sont connues avant le tirage.

[0009] Cette solution peut par ailleurs être victime d’une attaque temporelle selon laquelle une graine légitime à un instant donné serait réutilisée ultérieurement. Ainsi, l’attaquant subtiliserait une graine à un instant donné, étudierait les résultats d’un premier tirage, effectuerait une prise de jeu pour un second tirage (en connaissant les résultats du premier tirage), et réintroduirait dans le système la graine utilisée pour le premier tirage en vue du second tirage.

[0010] Enfin, cette solution peut également être victime d’une attaque par rejeu excessif, selon laquelle un attaquant joue un très grand nombre de tirages pour trouver une combinaison complaisante. [0011] La présente invention vise notamment à résoudre ces problèmes.

Exposé de l’invention

[0012] A cet effet, l’invention propose un procédé, un dispositif et un programme d’ordinateur de tirage électronique.

[0013] Il est ainsi proposé un procédé de tirage électronique dans un dispositif, le dispositif comprenant une première et une seconde parties, la première partie étant sécurisée, le procédé comprenant,

- obtention, dans la première partie, d’au moins un nombre aléatoire brut,

- obtention, dans la première partie, d’au moins une clé privée de signature, ladite clé privée ayant été préalablement mémorisée dans la première partie,

- signature, dans la première partie, dudit au moins un nombre aléatoire brut obtenu à l’aide de ladite au moins une clé privée obtenue, et

- transmission des données signées à un module de tirage mis en oeuvre dans la seconde partie.

[0014] Le procédé selon l’invention permet ainsi d’améliorer la fiabilité des tirages électroniques en signant des données utilisées pour le tirage dans un environnement sécurisé et permettre ainsi une authentification ultérieure de certains paramètres de tirages et leur vérification.

[0015] Selon des modes de réalisation particuliers, le procédé comprend en outre une étape d’authentification, dans ledit module de tirage, des données signées reçues et, si les données reçues sont authentifiées, une étape de tirage à partir dudit au moins un nombre aléatoire brut compris dans les données signées reçues.

[0016] Toujours selon des modes de réalisation particuliers, le procédé comprend en outre l’obtention, dans la première partie, de données de validation additionnelles, ladite signature comprenant la signature dudit au moins un nombre aléatoire brut obtenu et desdites données de validation additionnelles obtenues à l’aide de ladite au moins une clé privée obtenue.

[0017] Toujours selon des modes de réalisation particuliers, lesdites données de validation additionnelles comprennent un numéro de séquence, une information temporelle et/ou une référence matérielle de ladite première partie.

[0018] Toujours selon des modes de réalisation particuliers, le procédé comprend en outre, dans ledit module de tirage, une étape de validation dudit au moins un nombre aléatoire brut reçu, ladite validation étant basée sur lesdites données de validation additionnelles.

[0019] Il est également proposé un système de tirage électronique comprenant un premier et un second dispositifs, le premier dispositif étant sécurisé et comprenant une unité de traitement de données configurée pour,

- obtenir au moins un nombre aléatoire brut,

- obtenir au moins une clé privée de signature,

- signer ledit au moins un nombre aléatoire brut obtenu à l’aide de ladite au moins une clé privée obtenue, et

- transmettre les données signées à un module de tirage mis en oeuvre dans le second dispositif.

[0020] Le système selon l’invention permet ainsi d’améliorer la fiabilité des tirages électroniques en signant des données utilisées pour le tirage dans un environnement sécurisé et permettre ainsi une authentification ultérieure de certains paramètres de tirages et leur vérification.

[0021] Selon des modes de réalisation particuliers, ledit second dispositif comprend une unité de traitement de données configurée pour authentifier des données signées reçues et, si les données reçues sont authentifiées, pour effectuer un tirage à partir dudit au moins un nombre aléatoire brut compris dans les données signées reçues.

[0022] Toujours selon des modes de réalisation particuliers, l’unité de traitement de données dudit premier dispositif sécurisé est en outre configurée pour obtenir des données de validation additionnelles, ladite signature comprenant la signature dudit au moins un nombre aléatoire brut obtenu et desdites données de validation additionnelles obtenues à l’aide de ladite au moins une clé privée obtenue.

[0023] Selon des modes de réalisation particuliers, l’unité de traitement de données dudit second dispositif est en outre configurée pour valider ledit au moins un nombre aléatoire brut reçu, ladite validation étant basée sur lesdites données de validation additionnelles.

[0024] Un programme informatique, mettant en oeuvre tout ou partie du procédé décrit ci- dessus est en lui-même avantageux, dès lors qu’il permet la sécurité des tirages électroniques.

[0025] Ainsi, la présente invention vise également un programme informatique comportant des instructions pour la mise en oeuvre du procédé précédemment décrit, lorsque ce programme est exécuté par un processeur. [0026] Ce programme peut utiliser n’importe quel langage de programmation (par exemple, un langage objet ou autre) et être sous la forme d’un code source interprétable, d’un code partiellement compilé ou d’un code totalement compilé.

[0027] Un autre aspect concerne un support de stockage non-transitoire d’un programme exécutable par ordinateur, comprenant un ensemble de données représentant un ou plusieurs programmes, lesdits un ou plusieurs programmes comprenant des instructions pour, lors de l’exécution desdits un ou plusieurs programmes par un ordinateur comprenant une unité de traitement couplée de manière opérationnelle à des moyens mémoires et à un module d’interface entrées/sorties, pour exécuter tout ou partie du procédé décrit ci-dessus.

Brève description des dessins

[0028] D’autres caractéristiques, détails et avantages de l’invention apparaîtront à la lecture de la description détaillée ci-après. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés, dans lesquels : la figure 1 illustre un exemple d’un environnement de jeu, dans lequel est mis en oeuvre un tirage électronique selon un mode de réalisation connu ; la figure 2 illustre l’architecture logique d’un système de tirage électronique tel que celui décrit sur la figure 1 ; la figure 3 illustre un exemple d’architecture d’un système de tirage électronique selon des modes de réalisation de l’invention ; la figure 4 illustre un exemple d’architecture logique d’une partie du système de tirage électronique représenté sur la figure 3 ; la figure 5 illustre un exemple d’étapes mises en oeuvre dans un dispositif sécurisé pour générer et transmettre de façon sécurisée un nombre aléatoire brut ; la figure 6 illustre un exemple d’étapes pour obtenir un nombre aléatoire brut et effectuer un tirage électronique de façon sécurisée ; et la figure 7 illustre un exemple de dispositif pouvant être utilisé pour mettre en oeuvre, au moins partiellement, des modes de réalisation de l’invention.

Description détaillée

[0029] Selon des modes de réalisation particuliers, l’invention vise à exécuter un programme embarqué dans un dispositif ayant un haut niveau de certification en termes de sécurité, par exemple un dispositif certifié selon les critères communs EAL4+ (sigle de Evaluation Assurance Level 4+ en terminologie anglo-saxonne), le programme embarqué, appelé programme sécurisé, permettant d’effectuer une signature numérique d’un ensemble de données comprenant par exemple un nombre aléatoire brut (graine) utilisé pour un tirage et, de préférence, une information temporelle, un numéro de séquence et/ou un numéro de série (ou toute autre référence unique ou non) du matériel utilisé. Après signature, cet ensemble de données peut être considéré comme infalsifiable. Les données contenues dans cet ensemble peuvent alors être authentifiées et utilisées tout au long du processus de tirage, leur intégrité pouvant être vérifiée à tout moment. Elles peuvent ainsi notamment être utilisées dans un module de tirage pouvant par exemple être mis en oeuvre dans un serveur dans lequel est connecté le dispositif matériel sécurisé utilisé pour générer et signer les nombres aléatoires bruts et d’autres paramètres.

[0030] A titre d’illustration, le dispositif sécurisé peut être (ou comprendre) le dispositif connu sous le nom HSM nShield Connect de la société Entrust Datacard, qui est certifié FIPS 140-2 et Critères Communs EAL4+ (EN 419 221-5), répond aux exigences de la réglementation elDAS (sigle de electronic Identification, Authetntification and Trust Services) de l’Union européenne et fournit des services de clés de chiffrement évolutifs et hautement disponibles.

[0031] Pour effectuer un tirage, le module de tirage adresse une requête au programme sécurisé, exécuté à l’intérieur du dispositif sécurisé (i.e. le programme sécurisé est embarqué dans le dispositif sécurisé), afin d’obtenir un nombre aléatoire brut. Comme décrit précédemment, le programme sécurisé répond avec un ensemble de données signées comprenant de préférence :

- un nombre aléatoire brut (la graine) nécessaire au tirage,

- une information temporelle telle que la date et l’heure auxquelles le dispositif matériel sécurisé a généré le nombre aléatoire brut, qui permet de contrôler ultérieurement l’âge de la graine,

- un numéro de séquence tel qu’un numéro d’ordre de génération de graines, qui permet d’éviter des attaques de tirs excessifs (étant observé qu’un grand nombre de tirs pourraient être effectués en quelques secondes),

- un numéro de série (ou toute autre référence unique ou non) du matériel utilisé pour le, cas échéant, effectuer des vérifications complémentaires, et

- une signature de l’ensemble des données précédentes.

[0032] Après que la signature a été calculée dans le dispositif sécurisé (par exemple en chiffrant une empreinte des données à l’aide d’une clé privée), ces données peuvent être authentifiées selon un processus connu. Par exemple l’authentification peut consister à comparer une empreinte des données reçues avec celle obtenue à partir de la signature reçue après qu’elle ait été déchiffrée à l’aide de la clé publique correspondant à la clé privée utilisée (si les deux empreintes sont différentes, cela signifie que les données ont été modifiées).

[0033] D’un point de vue organisationnel, les opérations critiques de ce système (par exemple la création de signatures, la compilation du programme sécurisé, le chargement de ce programme dans le dispositif sécurisé, etc.) sont de préférence opérées en respectant une séparation des rôles faisant appel à des huissiers. Ainsi, par exemple, le chargement de programmes sécurisés et/ou de données dans le dispositif sécurisé peut être effectué après une authentification basée sur des secrets répartis en utilisant par exemple le partage de clés secrètes de Shamir. A titre d’illustration, le secret utilisé pour l’authentification peut être divisé en plusieurs parties, par exemple 8, réparties entre plusieurs rôles, par exemple 2. Dans ce cas, l’authentification est effectuée avec au moins 5 parties (l’authentification demandant un quorum supérieur à ce qu’une des parties dispose seule, ce qui rend obligatoire l’intervention des deux rôles de manières simultanée).

[0034] La figure 3 illustre un exemple d’architecture d’un système de tirage électronique selon des modes de réalisation de l’invention.

[0035] Comme illustré, l’environnement de jeu 300 comprend ici un dispositif de jeu 305 tel qu’un ordinateur ou un ensemble d’ordinateurs, un serveur 310, un dispositif tiers 315 permettant d’effectuer des contrôles et un dispositif d’horodatage de prises de jeu 320 (aussi appelé PFH, sigle de PlateForme d’Horodatage). Ces dispositifs sont connectés les uns aux autres par un ou plusieurs réseaux de communication, par exemple un réseau de type Internet et/ou Ethernet.

[0036] Comme le dispositif de jeu 105, le dispositif de jeu 305 permet l’exécution de modules de jeu, par exemple d’un module permettant à des joueurs de participer à un jeu de loterie. Lorsqu’un tirage doit être effectué, une requête est transmise au serveur qui répond avec un résultat de tirage. Le dispositif de jeu 305 est un système de tirage électronique où sont paramétrés les jeux de tirage (par exemple les jeux Keno et/ou Euromillion, Keno et Euromillion sont des marques déposées). Il peut s’agir d’un dispositif accessible via une interface de type web, aussi connue sous le nom de EDS (sigle de Electronic Drawing Solution en terminologie anglo-saxonne), qui permet de paramétrer n’importe quel jeu en fonction de ses caractéristiques. [0037] Comme illustré, le serveur 310 comprend un dispositif de traitement de données sécurisé 325, par exemple le dispositif connu sous le nom HSM nShield Connect de la société Entrust Datacard, et un dispositif de traitement de données 330 comprenant par exemple un microprocesseur et une mémoire, ou serveur frontal, comme décrit en référence à la figure 7.

[0038] Le dispositif de traitement de données sécurisé 325 comprend notamment un module de traitement de données 335 comprenant un microprocesseur et une mémoire sécurisés, un module 340 pour générer des nombres aléatoires bruts et une mémoire sécurisée 345. La mémoire sécurisée 345, aussi appelée HSM (sigle de Hardware Storage Module en terminologie anglo-saxonne) est une mémoire inviolable ou coffre-fort électronique. Il est impossible d’en sortir des données depuis l’extérieur. La mémoire sécurisée 345 est notamment utilisée pour stocker une clé privée utilisée pour signer un ensemble de données comme décrit précédemment. Le module de traitement de données 335 comprend le programme sécurisé utilisé pour obtenir un nombre aléatoire brut (graine), une information temporelle, un numéro de séquence et/ou un numéro de série (ou toute autre référence unique ou non) du matériel utilisé ainsi qu’une clé privée et pour signer les données obtenues avec la clé privée obtenue. Le nombre aléatoire brut est obtenu (par exemple sur requête) du module 340, l’information temporelle peut être obtenue d’une horloge interne du dispositif sécurisé 325 et le numéro de séquence, le numéro de série du matériel utilisé et la clé privée peuvent être obtenus de la mémoire sécurisée 345 (le numéro de séquence étant par exemple incrémenté dès qu’un nombre aléatoire brut est généré).

[0039] Le dispositif de traitement de données 330 permet d’exécuter un module de tirage comprenant lui-même plusieurs modules, par exemple un module de gestion de tirage 350, un module de requête de graines 355, un module de sécurité 360, un module de transformation (ou scaling en terminologie anglo-saxonne) 365 et une interface 370, par exemple de type API (sigle de Application Programming Interface en terminologie anglo- saxonne). Le module de transformation met ici en oeuvre un algorithme de transformation d’une graine en une combinaison de numéros tirés selon des paramètres prédéterminés. L’interface 370 permet notamment de recevoir des requêtes de tirage d’un dispositif de jeu et de transmettre des résultats de tirage.

[0040] Le dispositif tiers 315 peut mettre en oeuvre un moteur de contrôle indépendant pour réaliser des contrôles de sécurité afin de vérifier qu’il n’y a pas de fraudes ni d’erreurs dans le système de tirage. Les données d’entrée du moteur de contrôle sont par exemple des données d’exécution (ou logs applicatives) du dispositif de jeu 305. Le moteur de contrôle vérifie les signatures, vérifie que la plateforme d’horodatage a bien été sollicitée, que les numéros tirés sont les bons, etc. Ce moteur de contrôle est de préférence exécuté en fin de tirage sur une plateforme indépendante pour vérifier toutes les informations du tirage, afin de valider que le tirage est légitime et intègre.

[0041] La figure 4 illustre un exemple d’architecture logique d’une partie du système de tirage électronique représenté sur la figure 3.

[0042] Comme illustré, le programme sécurisé mis en oeuvre dans le dispositif sécurisé 325 est configuré pour obtenir un nombre aléatoire brut (graine) 400, une information temporelle 405, un numéro de séquence 410 et/ou un numéro de série (ou toute autre référence unique ou non) 415 du matériel utilisé ainsi qu’une clé privée 420 et pour signer les données obtenues (à l’exception de la clé privée) avec la clé privée obtenue. L’ensemble des données obtenues (graine, information temporelle, numéro de séquence et/ou numéro de série) et la signature calculée sur cet ensemble de données à l’aide de la clé privée sont alors transmis au dispositif de traitement de données 330 pour effectuer le tirage, de préférence après authentification et validation des données reçues.

[0043] La figure 5 illustre un exemple d’étapes mises en oeuvre dans un dispositif sécurisé, par exemple le dispositif sécurisé 325 de la figure 3, pour générer et transmettre de façon sécurisée un nombre aléatoire brut.

[0044] Comme illustré, une première étape (étape 500) a pour objet la réception d’une requête d’obtention d’un nombre aléatoire brut (graine). Cette requête est par exemple reçue du dispositif de traitement de données 330 illustré sur la figure 3.

[0045] Dans une étape suivante, un nombre aléatoire brut est obtenu (étape 505). Ce nombre aléatoire brut est par exemple obtenu en réponse à une requête transmise au module 340 de la figure 3. Un numéro de séquence est alors, de préférence, incrémenté (étape 510), par exemple de la valeur un. Le numéro de séquence est par exemple mémorisé dans la mémoire sécurisée 345. La valeur initiale peut être configurée lors de l’installation du système. Dans une étape suivante, en parallèle ou précédemment, une information temporelle est obtenue (étape 515). Comme décrit précédemment, cette information peut correspondre à l’instant auquel le nombre aléatoire brut est obtenu. Elle peut être obtenue d’une horloge interne dispositif sécurisé 325 de la figure 3. Dans des étapes suivantes, en parallèle ou précédemment, le numéro de séquence, un numéro de série, par exemple celui du dispositif sécurisé 325, et une clé privée sont ici obtenus (étapes 520, 525 et 530, respectivement), par exemple de la mémoire sécurisée 325.

[0046] Après avoir été obtenus, le nombre aléatoire brut, l’information temporelle, le numéro de séquence et/ou le numéro de série sont signés à l’aide de la clé privée obtenue (étape 535), par exemple en utilisant un algorithme de signature connu tel que l’algorithme de signature connu sous le nom RSA.

[0047] Il est observé que selon d’autres modes de réalisation l’ensemble de données signées comprend le nombre aléatoire brut et, de façon optionnelle, une ou plusieurs données parmi l’information temporelle, le numéro de séquence et le numéro de série. Selon d’autres modes de réalisation encore, cet ensemble de données comprend d’autres données.

[0048] Les données signées, comprenant le nombre aléatoire brut demandé, sont alors transmises (étape 540), par exemple à un module de tirage.

[0049] La figure 6 illustre un exemple d’étapes mises en oeuvre dans un module de tirage exécuté, par exemple, dans le dispositif de traitement de données 330 illustré sur la figure 3, pour obtenir un nombre aléatoire brut et effectuer un tirage électronique de façon sécurisée.

[0050] Comme illustré, une première étape a pour objet la réception d’une requête de tirage (étape 600). Cette requête est, par exemple, reçue d’un dispositif de jeu tel que le dispositif de jeu 305 sur la figure 3.

[0051] Dans une étape suivante, une requête est adressée à un dispositif sécurisé, par exemple le dispositif sécurisé 325 de la figure 3, pour obtenir un nombre aléatoire brut ou graine (étape 605). En réponse à cette requête, un ensemble de données signées est reçu (étape 610), c’est-à-dire un ensemble de données et une signature calculée sur cet ensemble de données à l’aide d’une clé privée. Cet ensemble de données comprend le nombre aléatoire brut demandé ainsi que, par exemple, une information temporelle, un numéro de séquence et/ un numéro de série (ou toute autre référence unique ou non) du matériel utilisé pour générer le nombre aléatoire brut.

[0052] Dans une étape suivante, un test d’authentification des données reçues est effectué (étape 615). Ce test consiste par exemple à calculer une empreinte à partir de l’ensemble des données reçues et à comparer cette empreinte avec celle obtenue à partir de la signature reçue déchiffrée avec la clé publique correspondant à la clé privée utilisée. Si les signatures sont différentes, les données reçues ne sont pas authentifiées et la requête de tirage est rejetée. Dans le cas contraire, si les données reçues sont authentifiées, un test est, de préférence, effectué pour vérifier si le nombre aléatoire brut reçu est valide (étape 620). Ce test consiste par exemple à comparer l’information temporelle avec la date actuelle. Si l’information temporelle est postérieure à la date actuelle, il peut être considéré que le nombre aléatoire brut reçu n’est pas valide. En outre, si la différence est supérieure à un seuil donné, il peut être considéré que le nombre aléatoire brut reçu est trop âgé. Dans ces cas, la requête de tirage peut être rejetée. Un autre test pouvant être effectué pour vérifier si le nombre aléatoire brut reçu est valide consiste à vérifier le numéro de série reçu ou toute autre référence de dispositif avec une donnée correspondante préalablement reçue pour vérifier que le nombre aléatoire brut reçu a bien été généré par le dispositif sécurisé auquel la requête a été adressée. Un autre test encore pour vérifier si le nombre aléatoire brut reçu est valide consiste à vérifier que le numéro de séquence reçu est cohérent notamment avec le nombre de tirages effectués et avec le nombre de requêtes de tirage reçues. Bien entendu, il existe de nombreux autres types de tests pouvant être effectués. Ces tests peuvent mis en oeuvre de façon combinée ou de façon ciblée, par exemple selon les circonstances ou de façon aléatoire.

[0053] S’il est considéré que le nombre aléatoire brut reçu est valide, un tirage est effectué à partir de celui-ci, selon des paramètres prédéterminés ou reçus du dispositif de jeu à l’origine de la requête de tirage. Dans le cas contraire, la requête de tirage est de préférence rejetée.

[0054] La figure 7 illustre un exemple de dispositif pouvant être utilisé pour mettre en oeuvre, au moins partiellement, des modes de réalisation de l’invention, notamment des étapes décrites en référence aux figures 3 à 6. Il peut d’agir, par exemple, du dispositif de jeu 305 de la figure 3, du dispositif de traitement de données 330 du serveur 310 de la figure 3, du dispositif tiers 315 de la figure 3 ou du dispositif d’horodatage 320 de la figure 3.

[0055] Le dispositif 700 est par exemple une lame de serveur, un serveur, un ordinateur ou un terminal.

[0056] Le dispositif 700 comporte de préférence un bus de communication 702 auquel sont reliées :

- une unité centrale de traitement ou microprocesseur 704 (CPU, sigle de Central Processing Unit en terminologie anglo-saxonne) ;

- une mémoire morte 706 (ROM, acronyme de Read Only Memory en terminologie anglo- saxonne) pouvant comporter un système d’exploitation et des programmes tels que "Prog" ;

- une mémoire vive ou mémoire cache 708 (RAM, acronyme de Random Access Memory en terminologie anglo-saxonne) comportant des registres adaptés à enregistrer des variables et paramètres créés et modifiés au cours de l'exécution des programmes précités ; et - une interface de communication 726 reliée à un réseau de communication distribué 728, par exemple un réseau de communication sans fil et/ou un réseau de communication local, l'interface étant apte à transmettre et à recevoir des données, notamment vers et depuis un autre dispositif.

[0057] Optionnellement, le dispositif 700 peut également disposer des éléments suivants :

- un disque dur 720 pouvant comporter les programmes "Prog" précités et des données traitées ou à traiter selon l’invention ;

- un clavier 722 et une souris 724 ou tout autre dispositif de pointage comme un crayon optique, un écran tactile ou une télécommande permettant à l’utilisateur d’interagir avec les programmes selon l'invention ;

- un lecteur 710 de support amovible de stockage 712 tel qu’une carte mémoire ou un disque, par exemple un disque DVD ; et

- une carte graphique 714 reliée à un écran 716.

[0058] Le bus de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans le dispositif 700 ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité centrale est susceptible de communiquer des instructions à tout élément du dispositif 700 directement ou par l'intermédiaire d'un autre élément du dispositif 700.

[0059] Le code exécutable de chaque programme permettant à l'appareil programmable de mettre en oeuvre les processus selon l'invention peut être stocké, par exemple, dans le disque dur 720 ou en mémoire morte 706.

[0060] Selon une variante, le code exécutable des programmes pourra être reçu par l'intermédiaire du réseau de communication 728, via l'interface 726, pour être stocké de façon identique à celle décrite précédemment.

[0061] De manière plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage du dispositif 700 avant d'être exécutés.

[0062] L'unité centrale 704 va commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur 720 ou dans la mémoire morte 706 ou bien dans les autres éléments de stockage précités. Lors de la mise sous tension, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple le disque dur 720 ou la mémoire morte 706, sont transférés dans la mémoire vive 708 qui contient alors le code exécutable du ou des programmes selon l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en oeuvre de l'invention.

[0063] En fonction du mode de réalisation choisi, certains actes, actions, évènements ou fonctions de chacune des méthodes décrites dans le présent document peuvent être effectués ou se produire selon un ordre différent de celui dans lequel ils ont été décrits, ou peuvent être ajoutés, fusionnés ou bien ne pas être effectués ou ne pas se produire, selon le cas. En outre, dans certains modes de réalisation, certains actes, actions ou évènements sont effectués ou se produisent concurremment et non pas successivement.

[0064] Bien que décrits à travers un certain nombre d’exemples de réalisation détaillés, le procédé proposé et l’équipement pour la mise en oeuvre du procédé comprennent différentes variantes, modifications et perfectionnements qui apparaîtront de façon évidente à l’homme de l’art, étant entendu que ces différentes variantes, modifications et perfectionnements font partie de la portée de l’invention, telle que définie par les revendications qui suivent. De plus, différents aspects et caractéristiques décrits ci-dessus peuvent être mis en oeuvre ensemble, ou séparément, ou bien substitués les uns aux autres, et l’ensemble des différentes combinaisons et sous combinaisons des aspects et caractéristiques font partie de la portée de l’invention. En outre, il se peut que certains systèmes et équipements décrits ci-dessus n’incorporent pas la totalité des modules et fonctions décrits pour les modes de réalisation préférés.