WO2024023425A1 - Method, device and computer program for carrying out an electronic draw - Google Patents

Method, device and computer program for carrying out an electronic draw Download PDF

Info

Publication number
WO2024023425A1
WO2024023425A1 PCT/FR2023/051131 FR2023051131W WO2024023425A1 WO 2024023425 A1 WO2024023425 A1 WO 2024023425A1 FR 2023051131 W FR2023051131 W FR 2023051131W WO 2024023425 A1 WO2024023425 A1 WO 2024023425A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
random number
raw random
received
secure
Prior art date
Application number
PCT/FR2023/051131
Other languages
French (fr)
Inventor
Franck RICHARD
Original Assignee
La Française Des Jeux
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by La Française Des Jeux filed Critical La Française Des Jeux
Publication of WO2024023425A1 publication Critical patent/WO2024023425A1/en

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C15/00Generating random numbers; Lottery apparatus
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C15/00Generating random numbers; Lottery apparatus
    • G07C15/006Generating random numbers; Lottery apparatus electronically

Definitions

  • the invention relates to the field of electronic drawing, in particular electronic drawing for games of chance.
  • Figure 1 illustrates an example of a gaming environment, in which an electronic drawing is implemented according to a known embodiment.
  • the gaming environment 100 here comprises a gaming device 105 such as a computer or a set of computers and a server 110 on which an electronic drawing function is implemented.
  • the gaming device 105 and the server 110 are connected to each other by a communication network 115, for example an Internet or Ethernet type network.
  • the gaming device 105 allows the execution of game modules, for example a module allowing players to participate in a lottery game.
  • a request 120 is transmitted to the server 110 which responds with a draw result 125.
  • the server 110 includes a data processing system 130.
  • This data processing system comprises for example a microprocessor and an associated memory allowing the execution of computer programs, referenced 135, as well as a cryptographic card 140.
  • the cryptographic card 140 makes it possible to generate raw random numbers (seeds) in a secure manner.
  • the cryptographic card 140 also makes it possible to store data securely, for example cryptographic keys, in particular keys private cryptographic assets that can be used to sign and thus authenticate the origin of data such as draw results.
  • a computer program executed by the microprocessor and the associated memory 135 can request raw random numbers from the cryptographic card 140, generate drawing results from these raw random numbers , for example to provide sets of 5 numbers between 1 and 49, and sign these drawing results to allow their authentication.
  • Figure 2 illustrates the logical architecture of an electronic drawing system such as that described in Figure 1.
  • the cryptographic card 140 comprises a random number generator 200 which can, upon request, address a random number raw to a transformation algorithm 205 implemented in the microprocessor and the associated memory 135.
  • the transformation algorithm 205 then calculates a drawing result from the raw random number received (seed), for example 5 digits between 1 and 49
  • This drawing result is then sent to a signature module 210 which signs this result, as well as the raw random number used to calculate this result, for example using a private key obtained from a secure memory, referenced 215, of the cryptographic card 140.
  • the signed drawing result is then transmitted to the gaming device 105 which can use the drawing result after authentication.
  • This solution can also be the victim of a temporal attack according to which a legitimate seed at a given moment would be reused later.
  • the attacker would steal a seed at a given moment, study the results of a first draw, make a play for a second draw (knowing the results of the first draw), and reintroduce into the system the seed used for the first draw for the second draw.
  • the invention proposes a method, a device and an electronic printing computer program.
  • a method of electronic drawing in a device comprising a first and a second part, the first part being secure, the method comprising,
  • the method according to the invention thus makes it possible to improve the reliability of electronic prints by signing data used for the print in a secure environment and thus allow subsequent authentication of certain print parameters and their verification.
  • the method further comprises a step of authenticating, in said drawing module, the signed data received and, if the data received is authenticated, a step of drawing from said at least one raw random number included in the received signed data.
  • the method further comprises obtaining, in the first part, additional validation data, said signature comprising the signature of said at least one raw random number obtained and said additional validation data obtained using said at least one private key obtained.
  • said additional validation data comprise a sequence number, temporal information and/or a hardware reference of said first part.
  • the method further comprises, in said drawing module, a step of validating said at least one number raw random received, said validation being based on said additional validation data.
  • An electronic drawing system comprising a first and a second device, the first device being secure and comprising a data processing unit configured to,
  • the system according to the invention thus makes it possible to improve the reliability of electronic prints by signing data used for the print in a secure environment and thus allow subsequent authentication of certain print parameters and their verification.
  • said second device comprises a data processing unit configured to authenticate signed data received and, if the data received is authenticated, to carry out a draw from said at least one raw random number including in the received signed data.
  • the data processing unit of said first secure device is further configured to obtain additional validation data, said signature comprising the signature of said at least one raw random number obtained and said data additional validations obtained using said at least one private key obtained.
  • the data processing unit of said second device is further configured to validate said at least one raw random number received, said validation being based on said additional validation data.
  • a computer program implementing all or part of the process described above is in itself advantageous, since it allows the security of electronic prints.
  • the present invention also targets a computer program comprising instructions for implementing the method described above, when this program is executed by a processor.
  • This program can use any programming language (for example, an object language or other) and be in the form of an interpretable source code, a partially compiled code or a fully compiled code.
  • Another aspect concerns a non-transitory storage medium for a program executable by computer, comprising a set of data representing one or more programs, said one or more programs comprising instructions for, during the execution of said one or several programs by a computer comprising a processing unit operationally coupled to memory means and to an input/output interface module, to execute all or part of the method described above.
  • Figure 1 illustrates an example of a gaming environment, in which an electronic draw is implemented according to a known embodiment
  • Figure 2 illustrates the logical architecture of an electronic drawing system such as that described in Figure 1
  • Figure 3 illustrates an example of architecture of an electronic drawing system according to embodiments of the invention
  • Figure 4 illustrates an example of logical architecture of part of the electronic drawing system shown in Figure 3
  • Figure 5 illustrates an example of steps implemented in a secure device to securely generate and transmit a raw random number
  • Figure 6 illustrates an example of steps to obtain a raw random number and perform an electronic draw in a secure manner
  • Figure 7 illustrates an example of a device that can be used to implement, at least partially, embodiments of the invention.
  • the invention aims to execute a program embedded in a device having a high level of certification in terms of security, for example a device certified according to the common EAL4+ criteria (evaluation assurance level 4 acronym). + in Anglo-Saxon terminology), the embedded program, called a secure program, making it possible to carry out a digital signature of a set of data comprising for example a raw random number (seed) used for a draw and, preferably, temporal information, a sequence number and/or a number of series (or any other reference, unique or not) of the equipment used. After signing, this data set can be considered tamper-proof. The data contained in this set can then be authenticated and used throughout the drawing process, its integrity can be verified at any time. They can thus in particular be used in a drawing module which can for example be implemented in a server in which the secure hardware device used to generate and sign the raw random numbers and other parameters is connected.
  • a drawing module which can for example be implemented in a server in which the secure hardware device used to generate and sign the raw random
  • the secure device can be (or include) the device known as HSM nShield Connect from the company Entrust Datacard, which is certified FIPS 140-2 and Common Criteria EAL4+ (EN 419 221-5 ), meets the requirements of the European Union's elDAS (electronic Identification, Authetntification and Trust Services) regulation and provides scalable and highly available encryption key services.
  • HSM nShield Connect from the company Entrust Datacard, which is certified FIPS 140-2 and Common Criteria EAL4+ (EN 419 221-5 )
  • EAL4+ European Union's elDAS (electronic Identification, Authetntification and Trust Services) regulation and provides scalable and highly available encryption key services.
  • the draw module addresses a request to the secure program, executed inside the secure device (i.e. the secure program is embedded in the secure device), in order to obtain a raw random number.
  • the secure program responds with a set of signed data preferably comprising:
  • sequence number such as a seed generation order number, which makes it possible to avoid excessive firing attacks (noting that a large number of firings could be carried out in a few seconds),
  • this data can be authenticated according to a known process. For example, authentication can consist of compare a fingerprint of the data received with that obtained from the signature received after it has been decrypted using the public key corresponding to the private key used (if the two fingerprints are different, this means that the data has been modified).
  • the critical operations of this system are preferably carried out while respecting a separation of roles using bailiffs.
  • the loading of secure programs and/or data into the secure device can be carried out after authentication based on distributed secrets using, for example, Shamir secret key sharing.
  • the secret used for authentication can be divided into several parts, for example 8, distributed between several roles, for example 2.
  • the authentication is carried out with at least 5 parts (the authentication requiring a quorum greater than what one of the parties has alone, which makes it compulsory for both roles to intervene simultaneously).
  • Figure 3 illustrates an example of architecture of an electronic drawing system according to embodiments of the invention.
  • the gaming environment 300 here comprises a gaming device 305 such as a computer or a set of computers, a server 310, a third-party device 315 making it possible to carry out controls and a monitoring device.
  • a gaming device 305 such as a computer or a set of computers
  • server 310 a third-party device 315 making it possible to carry out controls
  • a monitoring device a monitoring device.
  • timestamp of game shots 320 also called PFH, acronym for PlateForme d’Horotatage.
  • the game device 305 allows the execution of game modules, for example a module allowing players to participate in a lottery game. When a draw needs to be performed, a request is sent to the server which responds with a draw result.
  • the gaming device 305 is an electronic drawing system where the drawing games are configured (for example the Keno and/or Euromillion games, Keno and Euromillion are registered trademarks). It may be a device accessible via a web-type interface, also known as EDS (acronym for Electronic Drawing Solution in Anglo-Saxon terminology), which allows any game to be configured according to its features.
  • the server 310 comprises a secure data processing device 325, for example the device known as HSM nShield Connect from the company Entrust Datacard, and a data processing device 330 comprising for example a microprocessor and a memory, or front-end server, as described with reference to Figure 7.
  • a secure data processing device 325 for example the device known as HSM nShield Connect from the company Entrust Datacard
  • a data processing device 330 comprising for example a microprocessor and a memory, or front-end server, as described with reference to Figure 7.
  • the secure data processing device 325 notably comprises a data processing module 335 comprising a microprocessor and a secure memory, a module 340 for generating raw random numbers and a secure memory 345.
  • the secure memory 345 also called HSM (acronym for Hardware Storage Module in Anglo-Saxon terminology) is a tamper-proof memory or electronic safe. It is impossible to output data from the outside.
  • the secure memory 345 is used in particular to store a private key used to sign a set of data as described previously.
  • the data processing module 335 includes the secure program used to obtain a raw random number (seed), temporal information, a sequence number and/or a serial number (or any other unique reference or not) of the hardware used in this way.
  • the raw random number is obtained (for example on request) from the module 340, the temporal information can be obtained from an internal clock of the secure device 325 and the sequence number, the serial number of the hardware used and the private key can be obtained from secure memory 345 (the sequence number being for example incremented as soon as a raw random number is generated).
  • the data processing device 330 makes it possible to execute a drawing module itself comprising several modules, for example a drawing management module 350, a seed request module 355, a security module 360, a transformation module (or scaling in Anglo-Saxon terminology) 365 and an interface 370, for example of the API type (acronym for Application Programming Interface in Anglo-Saxon terminology).
  • the transformation module here implements an algorithm for transforming a seed into a combination of numbers drawn according to predetermined parameters.
  • the interface 370 makes it possible in particular to receive drawing requests from a gaming device and to transmit drawing results.
  • the third-party device 315 can implement an independent control engine to carry out security checks in order to verify that there is no fraud or errors in the drawing system.
  • the input data of the control engine are for example execution data (or application logs) of the gaming device 305.
  • the control engine verifies the signatures, verifies that the timestamping platform has been requested, that the numbers drawn are the correct ones, etc.
  • This control engine is preferably executed at the end of the draw on an independent platform to verify all the draw information, in order to validate that the draw is legitimate and has integrity.
  • Figure 4 illustrates an example of logical architecture of part of the electronic drawing system shown in Figure 3.
  • the secure program implemented in the secure device 325 is configured to obtain a raw random number (seed) 400, temporal information 405, a sequence number 410 and/or a serial number (or any other unique reference or not) 415 of the material used as well as a private key 420 and to sign the data obtained (with the exception of the private key) with the private key obtained. All of the data obtained (seed, temporal information, sequence number and/or serial number) and the signature calculated on this set of data using the private key are then transmitted to the data processing device 330 for carry out the draw, preferably after authentication and validation of the data received.
  • Figure 5 illustrates an example of steps implemented in a secure device, for example the secure device 325 of Figure 3, to securely generate and transmit a raw random number.
  • a first step aims to receive a request to obtain a raw random number (seed).
  • This request is for example received from the data processing device 330 illustrated in Figure 3.
  • a raw random number is obtained (step 505).
  • This raw random number is for example obtained in response to a request transmitted to module 340 of FIG. 3.
  • a sequence number is then preferably incremented (step 510), for example by the value one.
  • the sequence number is for example stored in secure memory 345.
  • the initial value can be configured during installation of the system.
  • temporal information is obtained (step 515). As described previously, this information can correspond to the instant at which the raw random number is obtained. It can be obtained from an internal clock secure device 325 of Figure 3.
  • the sequence number, a serial number, for example that of the secure device 325, and a private key are here obtained (steps 520, 525 and 530, respectively), for example from the secure memory 325.
  • the raw random number, the temporal information, the sequence number and/or the serial number are signed using the private key obtained (step 535), for example using a known signature algorithm such as the signature algorithm known as RSA.
  • the set of signed data includes the raw random number and, optionally, one or more data from among the temporal information, the sequence number and the serial number .
  • this data set includes other data.
  • the signed data, including the requested raw random number, are then transmitted (step 540), for example to a drawing module.
  • Figure 6 illustrates an example of steps implemented in a drawing module executed, for example, in the data processing device 330 illustrated in Figure 3, to obtain a raw random number and carry out an electronic drawing securely.
  • a first step is to receive a pull request (step 600).
  • This request is, for example, received from a gaming device such as the gaming device 305 in Figure 3.
  • a request is addressed to a secure device, for example the secure device 325 of Figure 3, to obtain a raw or seed random number (step 605).
  • a set of signed data is received (step 610), that is to say a set of data and a signature calculated on this set of data using a private key.
  • This data set includes the requested raw random number as well as, for example, temporal information, a sequence number and/or a serial number (or any other unique or non-unique reference) of the hardware used to generate the raw random number.
  • an authentication test of the data received is carried out (step 615). This test consists, for example, of calculating a fingerprint from all the data received and comparing this fingerprint with that obtained from the signature received decrypted with the public key corresponding to the private key used. If the signatures are different, the data received is not authenticated and the pull request is rejected. Otherwise, if the data received is authenticated, a test is preferably carried out to check whether the raw random number received is valid (step 620). This test consists, for example, of comparing temporal information with the current date. If the temporal information is later than the current date, it can be considered that the raw random number received is invalid.
  • the pull request may be rejected.
  • Another test that can be performed to verify whether the raw random number received is valid consists of verifying the received serial number or any other device reference with corresponding data previously received to verify that the raw random number received was indeed generated by the secure device to which the request was sent.
  • Yet another test to check whether the raw random number received is valid consists of checking that the sequence number received is consistent in particular with the number of draws carried out and with the number of draw requests received.
  • tests can be implemented in a combined or targeted manner, for example depending on the circumstances or randomly.
  • Figure 7 illustrates an example of a device that can be used to implement, at least partially, embodiments of the invention, in particular steps described with reference to Figures 3 to 6. It can act, for example, of the game device 305 of Figure 3, of the data processing device 330 of the server 310 of Figure 3, of the third-party device 315 of Figure 3 or of the timestamping device 320 of Figure 3.
  • the device 700 is for example a server blade, a server, a computer or a terminal.
  • the device 700 preferably comprises a communication bus 702 to which are connected:
  • CPU Central Processing Unit in Anglo-Saxon terminology
  • ROM Read Only Memory
  • Prog Program Program
  • RAM Random Access Memory
  • cache memory 708 RAM, acronym for Random Access Memory in Anglo-Saxon terminology
  • communication interface 726 connected to a distributed communication network 728, for example a wireless communication network and/or a local communication network, the interface being capable of transmitting and receiving data, in particular to and from a other device.
  • the device 700 can also have the following elements:
  • hard disk 720 which can include the aforementioned "Prog" programs and data processed or to be processed according to the invention
  • a reader 710 of removable storage media 712 such as a memory card or a disk, for example a DVD disk;
  • the communication bus allows communication and interoperability between the different elements included in the device 700 or connected to it.
  • the representation of the bus is not restrictive and, in particular, the central unit is capable of communicating instructions to any element of the device 700 directly or via another element of the device 700.
  • the executable code of each program allowing the programmable device to implement the processes according to the invention can be stored, for example, in the hard disk 720 or in read only memory 706.
  • the executable code of the programs can be received via the communication network 728, via the interface 726, to be stored in a manner identical to that described previously.
  • the program(s) can be loaded into one of the storage means of the device 700 before being executed.
  • the central unit 704 will control and direct the execution of the instructions or portions of software code of the program(s) according to the invention, instructions which are stored in the hard disk 720 or in the read-only memory 706 or in the other aforementioned storage elements.
  • the program(s) which are stored in a non-volatile memory, for example the hard disk 720 or the read-only memory 706, are transferred to the RAM 708 which then contains the executable code of the or programs according to the invention, as well as registers for storing the variables and parameters necessary for implementing the invention.

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.

Description

Procédé, dispositif et programme d’ordinateur de tirage électronique Method, device and computer program for electronic printing
[0001] L’ invention se rapporte au domaine du tirage électronique, notamment au tirage électronique pour des jeux de hasard. [0001] The invention relates to the field of electronic drawing, in particular electronic drawing for games of chance.
[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. [0002] When a game requires a result linked to chance, it is important that the device which makes it possible to obtain the result does not include any bias, that is to say that, statistically, the number of occurrences of a result is constant over a very large number of prints. By way of illustration, it is necessary, in a lotto drawing system using balls associated with numbers, to use balls that are equivalent in terms of shape and weight. In the context of an electronic drawing, specific devices offering very good chance qualities are generally used. These devices implement drawing functions which are based on the use of random numbers obtained from a module called a “random data generator”. This module is generally a hardware module which produces raw random data, generally binary, also called seed, which allows, after transformation, to determine a result in a given interval defined by the desired draw, for example to obtain 5 digits between 1 and 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. [0003] Figure 1 illustrates an example of a gaming environment, in which an electronic drawing is implemented according to a known embodiment.
[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. As illustrated, the gaming environment 100 here comprises a gaming device 105 such as a computer or a set of computers and a server 110 on which an electronic drawing function is implemented. The gaming device 105 and the server 110 are connected to each other by a communication network 115, for example an Internet or Ethernet type network. The gaming device 105 allows the execution of game modules, for example a module allowing players to participate in a lottery game. When a draw must be performed, a request 120 is transmitted to the server 110 which responds with a draw result 125. To provide a draw result, the server 110 includes a data processing system 130. This data processing system comprises for example a microprocessor and an associated memory allowing the execution of computer programs, referenced 135, as well as a cryptographic card 140. The cryptographic card 140 makes it possible to generate raw random numbers (seeds) in a secure manner. The cryptographic card 140 also makes it possible to store data securely, for example cryptographic keys, in particular keys private cryptographic assets that can be used to sign and thus authenticate the origin of data such as draw results.
[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. [0005] As illustrated with reference to Figure 2, a computer program executed by the microprocessor and the associated memory 135 can request raw random numbers from the cryptographic card 140, generate drawing results from these raw random numbers , for example to provide sets of 5 numbers between 1 and 49, and sign these drawing results to allow their authentication.
[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. [0006] Figure 2 illustrates the logical architecture of an electronic drawing system such as that described in Figure 1. As illustrated, the cryptographic card 140 comprises a random number generator 200 which can, upon request, address a random number raw to a transformation algorithm 205 implemented in the microprocessor and the associated memory 135. The transformation algorithm 205 then calculates a drawing result from the raw random number received (seed), for example 5 digits between 1 and 49 This drawing result is then sent to a signature module 210 which signs this result, as well as the raw random number used to calculate this result, for example using a private key obtained from a secure memory, referenced 215, of the cryptographic card 140. The signed drawing result is then transmitted to the gaming device 105 which can use the drawing result after authentication.
[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. [0007] Although the solution described with reference to Figures 1 and 2 makes it possible to obtain quality results, it nevertheless has drawbacks.
[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. [0008] First of all, it does not exclude an attack known as “man in the middle” which can allow an attacker connected to the server 110 to manipulate the generated raw random number (the seed) before draw results are calculated and signed (with the raw random number used). Having information about the seed, the attacker can then play combinations that are known to him before the draw.
[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. [0009] This solution can also be the victim of a temporal attack according to which a legitimate seed at a given moment would be reused later. Thus, the attacker would steal a seed at a given moment, study the results of a first draw, make a play for a second draw (knowing the results of the first draw), and reintroduce into the system the seed used for the first draw for the second draw.
[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. [0010] Finally, this solution can also be the victim of an excessive replay attack, according to which an attacker plays a very large number of draws to find a suitable combination. [0011] The present invention aims in particular to resolve these problems.
Exposé de l’invention Presentation of the invention
[0012] A cet effet, l’invention propose un procédé, un dispositif et un programme d’ordinateur de tirage électronique. [0012] For this purpose, the invention proposes a method, a device and an electronic printing computer program.
[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, [0013] A method of electronic drawing in a device is thus proposed, the device comprising a first and a second part, the first part being secure, the method comprising,
- obtention, dans la première partie, d’au moins un nombre aléatoire brut, - obtaining, in the first part, at least one raw random number,
- 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, - obtaining, in the first part, at least one private signature key, said private key having been previously stored in the first part,
- 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 - signature, in the first part, of said at least one raw random number obtained using said at least one private key obtained, and
- transmission des données signées à un module de tirage mis en oeuvre dans la seconde partie. - transmission of signed data to a drawing module implemented in the second part.
[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. [0014] The method according to the invention thus makes it possible to improve the reliability of electronic prints by signing data used for the print in a secure environment and thus allow subsequent authentication of certain print parameters and their verification.
[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. [0015] According to particular embodiments, the method further comprises a step of authenticating, in said drawing module, the signed data received and, if the data received is authenticated, a step of drawing from said at least one raw random number included in the received signed data.
[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. [0016] Still according to particular embodiments, the method further comprises obtaining, in the first part, additional validation data, said signature comprising the signature of said at least one raw random number obtained and said additional validation data obtained using said at least one private key obtained.
[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. [0017] Still according to particular embodiments, said additional validation data comprise a sequence number, temporal information and/or a hardware reference of said first part.
[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. [0018] Still according to particular embodiments, the method further comprises, in said drawing module, a step of validating said at least one number raw random received, said validation being based on said additional validation data.
[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, [0019] An electronic drawing system is also proposed comprising a first and a second device, the first device being secure and comprising a data processing unit configured to,
- obtenir au moins un nombre aléatoire brut, - obtain at least one raw random number,
- obtenir au moins une clé privée de signature, - obtain at least one private signature key,
- signer ledit au moins un nombre aléatoire brut obtenu à l’aide de ladite au moins une clé privée obtenue, et - sign said at least one raw random number obtained using said at least one private key obtained, and
- transmettre les données signées à un module de tirage mis en oeuvre dans le second dispositif. - transmit the signed data to a drawing module implemented in the second device.
[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. [0020] The system according to the invention thus makes it possible to improve the reliability of electronic prints by signing data used for the print in a secure environment and thus allow subsequent authentication of certain print parameters and their verification.
[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. [0021] According to particular embodiments, said second device comprises a data processing unit configured to authenticate signed data received and, if the data received is authenticated, to carry out a draw from said at least one raw random number including in the received signed data.
[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. [0022] Still according to particular embodiments, the data processing unit of said first secure device is further configured to obtain additional validation data, said signature comprising the signature of said at least one raw random number obtained and said data additional validations obtained using said at least one private key obtained.
[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. [0023] According to particular embodiments, the data processing unit of said second device is further configured to validate said at least one raw random number received, said validation being based on said additional validation data.
[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. [0024] A computer program implementing all or part of the process described above is in itself advantageous, since it allows the security of electronic prints.
[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é. [0025] Thus, the present invention also targets a computer program comprising instructions for implementing the method described above, when this program is executed by a processor. This program can use any programming language (for example, an object language or other) and be in the form of an interpretable source code, a partially compiled code or a fully compiled code.
[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. [0027] Another aspect concerns a non-transitory storage medium for a program executable by computer, comprising a set of data representing one or more programs, said one or more programs comprising instructions for, during the execution of said one or several programs by a computer comprising a processing unit operationally coupled to memory means and to an input/output interface module, to execute all or part of the method described above.
Brève description des dessins Brief description of the drawings
[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. Other characteristics, details and advantages of the invention will appear on reading the detailed description below. This is purely illustrative and must be read with reference to the accompanying drawings, in which: Figure 1 illustrates an example of a gaming environment, in which an electronic draw is implemented according to a known embodiment; Figure 2 illustrates the logical architecture of an electronic drawing system such as that described in Figure 1; Figure 3 illustrates an example of architecture of an electronic drawing system according to embodiments of the invention; Figure 4 illustrates an example of logical architecture of part of the electronic drawing system shown in Figure 3; Figure 5 illustrates an example of steps implemented in a secure device to securely generate and transmit a raw random number; Figure 6 illustrates an example of steps to obtain a raw random number and perform an electronic draw in a secure manner; and Figure 7 illustrates an example of a device that can be used to implement, at least partially, embodiments of the invention.
Description détaillée detailed description
[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. [0029] According to particular embodiments, the invention aims to execute a program embedded in a device having a high level of certification in terms of security, for example a device certified according to the common EAL4+ criteria (evaluation assurance level 4 acronym). + in Anglo-Saxon terminology), the embedded program, called a secure program, making it possible to carry out a digital signature of a set of data comprising for example a raw random number (seed) used for a draw and, preferably, temporal information, a sequence number and/or a number of series (or any other reference, unique or not) of the equipment used. After signing, this data set can be considered tamper-proof. The data contained in this set can then be authenticated and used throughout the drawing process, its integrity can be verified at any time. They can thus in particular be used in a drawing module which can for example be implemented in a server in which the secure hardware device used to generate and sign the raw random numbers and other parameters is connected.
[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. [0030] By way of illustration, the secure device can be (or include) the device known as HSM nShield Connect from the company Entrust Datacard, which is certified FIPS 140-2 and Common Criteria EAL4+ (EN 419 221-5 ), meets the requirements of the European Union's elDAS (electronic Identification, Authetntification and Trust Services) regulation and provides scalable and highly available encryption key services.
[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 : [0031] To carry out a draw, the draw module addresses a request to the secure program, executed inside the secure device (i.e. the secure program is embedded in the secure device), in order to obtain a raw random number. As described previously, the secure program responds with a set of signed data preferably comprising:
- un nombre aléatoire brut (la graine) nécessaire au tirage, - a raw random number (the seed) necessary for the draw,
- 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, - temporal information such as the date and time at which the secure hardware device generated the raw random number, which makes it possible to subsequently control the age of the seed,
- 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), - a sequence number such as a seed generation order number, which makes it possible to avoid excessive firing attacks (noting that a large number of firings could be carried out in a few seconds),
- 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 - a serial number (or any other unique or non-unique reference) of the equipment used to, where applicable, carry out additional checks, and
- une signature de l’ensemble des données précédentes. - a signature of all previous data.
[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). [0032] After the signature has been calculated in the secure device (for example by encrypting a fingerprint of the data using a private key), this data can be authenticated according to a known process. For example, authentication can consist of compare a fingerprint of the data received with that obtained from the signature received after it has been decrypted using the public key corresponding to the private key used (if the two fingerprints are different, this means that the data has been modified).
[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). [0033] From an organizational point of view, the critical operations of this system (for example the creation of signatures, the compilation of the secure program, the loading of this program into the secure device, etc.) are preferably carried out while respecting a separation of roles using bailiffs. Thus, for example, the loading of secure programs and/or data into the secure device can be carried out after authentication based on distributed secrets using, for example, Shamir secret key sharing. As an illustration, the secret used for authentication can be divided into several parts, for example 8, distributed between several roles, for example 2. In this case, the authentication is carried out with at least 5 parts (the authentication requiring a quorum greater than what one of the parties has alone, which makes it compulsory for both roles to intervene simultaneously).
[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. [0034] Figure 3 illustrates an example of architecture of an electronic drawing system according to embodiments of the 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. [0035] As illustrated, the gaming environment 300 here comprises a gaming device 305 such as a computer or a set of computers, a server 310, a third-party device 315 making it possible to carry out controls and a monitoring device. timestamp of game shots 320 (also called PFH, acronym for PlateForme d’Horotatage). These devices are connected to each other by one or more communication networks, for example an Internet and/or Ethernet type network.
[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. Like the game device 105, the game device 305 allows the execution of game modules, for example a module allowing players to participate in a lottery game. When a draw needs to be performed, a request is sent to the server which responds with a draw result. The gaming device 305 is an electronic drawing system where the drawing games are configured (for example the Keno and/or Euromillion games, Keno and Euromillion are registered trademarks). It may be a device accessible via a web-type interface, also known as EDS (acronym for Electronic Drawing Solution in Anglo-Saxon terminology), which allows any game to be configured according to its features. [0037] As illustrated, the server 310 comprises a secure data processing device 325, for example the device known as HSM nShield Connect from the company Entrust Datacard, and a data processing device 330 comprising for example a microprocessor and a memory, or front-end server, as described with reference to 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é). [0038] The secure data processing device 325 notably comprises a data processing module 335 comprising a microprocessor and a secure memory, a module 340 for generating raw random numbers and a secure memory 345. The secure memory 345, also called HSM (acronym for Hardware Storage Module in Anglo-Saxon terminology) is a tamper-proof memory or electronic safe. It is impossible to output data from the outside. The secure memory 345 is used in particular to store a private key used to sign a set of data as described previously. The data processing module 335 includes the secure program used to obtain a raw random number (seed), temporal information, a sequence number and/or a serial number (or any other unique reference or not) of the hardware used in this way. as a private key and to sign the data obtained with the private key obtained. The raw random number is obtained (for example on request) from the module 340, the temporal information can be obtained from an internal clock of the secure device 325 and the sequence number, the serial number of the hardware used and the private key can be obtained from secure memory 345 (the sequence number being for example incremented as soon as a raw random number is generated).
[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. [0039] The data processing device 330 makes it possible to execute a drawing module itself comprising several modules, for example a drawing management module 350, a seed request module 355, a security module 360, a transformation module (or scaling in Anglo-Saxon terminology) 365 and an interface 370, for example of the API type (acronym for Application Programming Interface in Anglo-Saxon terminology). The transformation module here implements an algorithm for transforming a seed into a combination of numbers drawn according to predetermined parameters. The interface 370 makes it possible in particular to receive drawing requests from a gaming device and to transmit drawing results.
[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. [0040] The third-party device 315 can implement an independent control engine to carry out security checks in order to verify that there is no fraud or errors in the drawing system. The input data of the control engine are for example execution data (or application logs) of the gaming device 305. The control engine verifies the signatures, verifies that the timestamping platform has been requested, that the numbers drawn are the correct ones, etc. This control engine is preferably executed at the end of the draw on an independent platform to verify all the draw information, in order to validate that the draw is legitimate and has integrity.
[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. [0041] Figure 4 illustrates an example of logical architecture of part of the electronic drawing system shown in 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. [0042] As illustrated, the secure program implemented in the secure device 325 is configured to obtain a raw random number (seed) 400, temporal information 405, a sequence number 410 and/or a serial number (or any other unique reference or not) 415 of the material used as well as a private key 420 and to sign the data obtained (with the exception of the private key) with the private key obtained. All of the data obtained (seed, temporal information, sequence number and/or serial number) and the signature calculated on this set of data using the private key are then transmitted to the data processing device 330 for carry out the draw, preferably after authentication and validation of the data received.
[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. [0043] Figure 5 illustrates an example of steps implemented in a secure device, for example the secure device 325 of Figure 3, to securely generate and transmit a raw random number.
[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. As illustrated, a first step (step 500) aims to receive a request to obtain a raw random number (seed). This request is for example received from the data processing device 330 illustrated in 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. [0045] In a following step, a raw random number is obtained (step 505). This raw random number is for example obtained in response to a request transmitted to module 340 of FIG. 3. A sequence number is then preferably incremented (step 510), for example by the value one. The sequence number is for example stored in secure memory 345. The initial value can be configured during installation of the system. In a following step, in parallel or previously, temporal information is obtained (step 515). As described previously, this information can correspond to the instant at which the raw random number is obtained. It can be obtained from an internal clock secure device 325 of Figure 3. In subsequent steps, in parallel or previously, the sequence number, a serial number, for example that of the secure device 325, and a private key are here obtained (steps 520, 525 and 530, respectively), for example from the secure memory 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. [0046] After having been obtained, the raw random number, the temporal information, the sequence number and/or the serial number are signed using the private key obtained (step 535), for example using a known signature algorithm such as the signature algorithm known as 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. [0047] It is observed that according to other embodiments the set of signed data includes the raw random number and, optionally, one or more data from among the temporal information, the sequence number and the serial number . According to yet other embodiments, this data set includes other data.
[0048] Les données signées, comprenant le nombre aléatoire brut demandé, sont alors transmises (étape 540), par exemple à un module de tirage. The signed data, including the requested raw random number, are then transmitted (step 540), for example to a drawing module.
[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. [0049] Figure 6 illustrates an example of steps implemented in a drawing module executed, for example, in the data processing device 330 illustrated in Figure 3, to obtain a raw random number and carry out an electronic drawing securely.
[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. As illustrated, the purpose of a first step is to receive a pull request (step 600). This request is, for example, received from a gaming device such as the gaming device 305 in 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. [0051] In a following step, a request is addressed to a secure device, for example the secure device 325 of Figure 3, to obtain a raw or seed random number (step 605). In response to this request, a set of signed data is received (step 610), that is to say a set of data and a signature calculated on this set of data using a private key. This data set includes the requested raw random number as well as, for example, temporal information, a sequence number and/or a serial number (or any other unique or non-unique reference) of the hardware used to generate the raw random number.
[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. [0052] In a following step, an authentication test of the data received is carried out (step 615). This test consists, for example, of calculating a fingerprint from all the data received and comparing this fingerprint with that obtained from the signature received decrypted with the public key corresponding to the private key used. If the signatures are different, the data received is not authenticated and the pull request is rejected. Otherwise, if the data received is authenticated, a test is preferably carried out to check whether the raw random number received is valid (step 620). This test consists, for example, of comparing temporal information with the current date. If the temporal information is later than the current date, it can be considered that the raw random number received is invalid. Furthermore, if the difference is greater at a given threshold, it can be considered that the raw random number received is too old. In these cases, the pull request may be rejected. Another test that can be performed to verify whether the raw random number received is valid consists of verifying the received serial number or any other device reference with corresponding data previously received to verify that the raw random number received was indeed generated by the secure device to which the request was sent. Yet another test to check whether the raw random number received is valid consists of checking that the sequence number received is consistent in particular with the number of draws carried out and with the number of draw requests received. Of course, there are many other types of tests that can be performed. These tests can be implemented in a combined or targeted manner, for example depending on the circumstances or randomly.
[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. [0053] If it is considered that the raw random number received is valid, a draw is carried out from it, according to predetermined parameters or received from the gaming device at the origin of the draw request. Otherwise, the pull request is preferably rejected.
[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. [0054] Figure 7 illustrates an example of a device that can be used to implement, at least partially, embodiments of the invention, in particular steps described with reference to Figures 3 to 6. It can act, for example, of the game device 305 of Figure 3, of the data processing device 330 of the server 310 of Figure 3, of the third-party device 315 of Figure 3 or of the timestamping device 320 of Figure 3.
[0055] Le dispositif 700 est par exemple une lame de serveur, un serveur, un ordinateur ou un terminal. The device 700 is for example a server blade, a server, a computer or a terminal.
[0056] Le dispositif 700 comporte de préférence un bus de communication 702 auquel sont reliées : [0056] The device 700 preferably comprises a communication bus 702 to which are connected:
- une unité centrale de traitement ou microprocesseur 704 (CPU, sigle de Central Processing Unit en terminologie anglo-saxonne) ; - a central processing unit or microprocessor 704 (CPU, acronym for Central Processing Unit in Anglo-Saxon terminology);
- 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" ;- a read only memory 706 (ROM, acronym for Read Only Memory in English terminology) which can include an operating system and programs such as "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. - a RAM or cache memory 708 (RAM, acronym for Random Access Memory in Anglo-Saxon terminology) comprising registers adapted to record variables and parameters created and modified during the execution of the aforementioned programs; And - a communication interface 726 connected to a distributed communication network 728, for example a wireless communication network and/or a local communication network, the interface being capable of transmitting and receiving data, in particular to and from a other device.
[0057] Optionnellement, le dispositif 700 peut également disposer des éléments suivants :[0057] Optionally, the device 700 can also have the following elements:
- un disque dur 720 pouvant comporter les programmes "Prog" précités et des données traitées ou à traiter selon l’invention ; - a hard disk 720 which can include the aforementioned "Prog" programs and data processed or to be processed according to the 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 ; - a keyboard 722 and a mouse 724 or any other pointing device such as an optical pencil, a touch screen or a remote control allowing the user to interact with the programs according to the 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 - a reader 710 of removable storage media 712 such as a memory card or a disk, for example a DVD disk; And
- une carte graphique 714 reliée à un écran 716. - a graphics card 714 connected to a screen 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. The communication bus allows communication and interoperability between the different elements included in the device 700 or connected to it. The representation of the bus is not restrictive and, in particular, the central unit is capable of communicating instructions to any element of the device 700 directly or via another element of the device 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. The executable code of each program allowing the programmable device to implement the processes according to the invention can be stored, for example, in the hard disk 720 or in read only memory 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. [0060] According to a variant, the executable code of the programs can be received via the communication network 728, via the interface 726, to be stored in a manner identical to that described previously.
[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. [0061] More generally, the program(s) can be loaded into one of the storage means of the device 700 before being executed.
[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. [0062] The central unit 704 will control and direct the execution of the instructions or portions of software code of the program(s) according to the invention, instructions which are stored in the hard disk 720 or in the read-only memory 706 or in the other aforementioned storage elements. When powering up, the program(s) which are stored in a non-volatile memory, for example the hard disk 720 or the read-only memory 706, are transferred to the RAM 708 which then contains the executable code of the or programs according to the invention, as well as registers for storing the variables and parameters necessary for implementing the 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. [0063] Depending on the chosen embodiment, certain acts, actions, events or functions of each of the methods described in this document may be carried out or occur in an order different from that in which they were described, or may be added, merged or not carried out or not occurring, as the case may be. Furthermore, in some embodiments, certain acts, actions or events are performed or occur concurrently and not successively.
[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. [0064] Although described through a certain number of detailed exemplary embodiments, the proposed method and the equipment for implementing the method include different variants, modifications and improvements which will be obvious to those skilled in the art. art, it being understood that these different variants, modifications and improvements form part of the scope of the invention, as defined by the claims which follow. Additionally, different aspects and features described above may be implemented together, or separately, or substituted for each other, and all of the different combinations and sub-combinations of the aspects and features are within the scope of the application. 'invention. Additionally, some systems and equipment described above may not incorporate all of the modules and functions described for the preferred embodiments.

Claims

Revendications Claims
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,1. Electronic drawing method in a device, the device comprising a first and a second part, the first part being secure, the method comprising,
- obtention (505), dans la première partie, d’au moins un nombre aléatoire brut, - obtaining (505), in the first part, of at least one raw random number,
- 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, - obtaining (530), in the first part, at least one private signature key, said private key having been previously stored in the first part,
- 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 - signature (535), in the first part, of said at least one raw random number obtained using said at least one private key obtained, and
- transmission (540) des données signées à un module de tirage mis en oeuvre dans la seconde partie. - transmission (540) of the signed data to a drawing module implemented in the second part.
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. 2. Method according to claim 1, further comprising an authentication step (615), in said drawing module, of the signed data received and, if the data received is authenticated, a step of drawing from said at least one number raw random included in the received signed data.
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. 3. Method according to claim 1 or claim 2, further comprising obtaining (515, 520, 525), in the first part, additional validation data, said signature comprising the signature of said at least one raw random number obtained and said additional validation data obtained using said at least one private key obtained.
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. 4. Method according to claim 3, according to which said additional validation data comprises a sequence number, temporal information and/or a hardware reference of said first part.
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. 5. Method according to claim 3 or claim 4, further comprising, in said drawing module, a step of validating (620) said at least one raw random number received, said validation being based on said additional validation data.
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. 6. Computer program comprising instructions for implementing each of the steps of the method according to one of claims 1 to 5, when this program is executed by a processor.
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, 7. Electronic drawing system comprising a first and a second device, the first device being secure and comprising a data processing unit configured to,
- obtenir (505) au moins un nombre aléatoire brut, - obtenir (530) au moins une clé privée de signature, - obtain (505) at least one raw random number, - obtain (530) at least one private signature key,
- signer (535) ledit au moins un nombre aléatoire brut obtenu à l’aide de ladite au moins une clé privée obtenue, et - sign (535) said at least one raw random number obtained using said at least one private key obtained, and
- transmettre (540) les données signées à un module de tirage mis en oeuvre dans le second dispositif. - transmit (540) the signed data to a drawing module implemented in the second device.
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. 8. System according to claim 7, wherein said second device comprises a data processing unit configured to authenticate (615) received signed data and, if the received data is authenticated, to perform a draw from said at least one number raw random included in the received signed data.
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. 9. System according to claim 7 or claim 8, according to which the data processing unit of said first secure device is further configured to obtain (515, 520, 525) additional validation data, said signature comprising the signature of said at least one raw random number obtained and said additional validation data obtained using said at least one private key obtained.
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. 10. System according to claim 9, according to which the data processing unit of said second device is further configured to validate (620) said at least one raw random number received, said validation being based on said additional validation data.
PCT/FR2023/051131 2022-07-27 2023-07-20 Method, device and computer program for carrying out an electronic draw WO2024023425A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FRFR2207730 2022-07-27
FR2207730A FR3138553A1 (en) 2022-07-27 2022-07-27 Method, device and computer program for electronic printing

Publications (1)

Publication Number Publication Date
WO2024023425A1 true WO2024023425A1 (en) 2024-02-01

Family

ID=84331138

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2023/051131 WO2024023425A1 (en) 2022-07-27 2023-07-20 Method, device and computer program for carrying out an electronic draw

Country Status (2)

Country Link
FR (1) FR3138553A1 (en)
WO (1) WO2024023425A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1260053A1 (en) * 2000-02-15 2002-11-27 Silverbrook Research Pty. Limited Consumable authentication protocol and system
WO2020177109A1 (en) * 2019-03-07 2020-09-10 北京建极练科技有限公司 Lot-drawing processing method, trusted chip, node, storage medium and electronic device
CN111865587A (en) * 2020-08-07 2020-10-30 腾讯科技(深圳)有限公司 Data processing method, block link point device, electronic device, and computer program
CN112767221A (en) * 2021-02-02 2021-05-07 深圳市易讯天空网络技术有限公司 Block chain lottery drawing method, terminal device and computer readable storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1260053A1 (en) * 2000-02-15 2002-11-27 Silverbrook Research Pty. Limited Consumable authentication protocol and system
WO2020177109A1 (en) * 2019-03-07 2020-09-10 北京建极练科技有限公司 Lot-drawing processing method, trusted chip, node, storage medium and electronic device
CN111865587A (en) * 2020-08-07 2020-10-30 腾讯科技(深圳)有限公司 Data processing method, block link point device, electronic device, and computer program
CN112767221A (en) * 2021-02-02 2021-05-07 深圳市易讯天空网络技术有限公司 Block chain lottery drawing method, terminal device and computer readable storage medium

Also Published As

Publication number Publication date
FR3138553A1 (en) 2024-02-02

Similar Documents

Publication Publication Date Title
EP3590223B1 (en) Integrated method and device for storing and sharing data
EP2688010B1 (en) Update of an operating system for a secure element
EP1964307B1 (en) Method for creating a secure counter on an on-board computer system comprising a chip card
EP3547270B1 (en) Method for verifying a biometric authentication
EP1570648B1 (en) Method of securing software updates
EP3665609B1 (en) Method and server for certifying an electronic document
FR2911419A1 (en) OPTIMIZED INTEGRITY VERIFICATION PROCEDURES
FR2658375A2 (en) ELECTRONIC DEVICE FOR ENABLING THE PARTICIPATION OF AN INDIVIDUAL TO A BROADCAST PROGRAM.
EP3803670A1 (en) A software application and a computer server for authenticating the identity of a digital content creator and the integrity of the creator's published content
EP3334121A1 (en) Process of generating an electronic signature of a document associated to a digest
EP3767876A1 (en) Method for verifying a transaction in a blockchain type database
CA2969495A1 (en) Method implemented in an identity document and associated identity document
WO2024023425A1 (en) Method, device and computer program for carrying out an electronic draw
WO2017220899A1 (en) Method for authenticating with a password comprising a salt
EP1436792B1 (en) Authentication protocol with memory integrity verification
WO2009138641A1 (en) Method of use of a host terminal by an external device connected to the terminal
CN117349895B (en) Block chain-based automobile financial digital archive management method and device
FR3073111A1 (en) METHOD AND DEVICE FOR STORING AND SHARING INTEGRATED DATA
EP3391265A1 (en) Method for generating a challenge word, electronic device, set value peripheral, and system implementing said method
EP3232365A1 (en) Automated verification method of a target computer file compared to a reference computer file
EP3284209B1 (en) Methods of generating and verifying a security key of a virtual monetary unit
CH716293A2 (en) Decentralized signature process, under biometric control and subject to personal identification, of a transaction intended for a blockchain.
CH716296A2 (en) A method of multiple signature of a transaction intended for a blockchain, subject to geolocation, by means of cryptographic keys distributed among the nodes of a peer-to-peer network.
FR3131409A1 (en) Method and device for secure booting a client operating system on a remote computer system
FR3121240A1 (en) Process for guaranteeing the integrity of the computer data managed by an application while preserving their confidentiality

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23755126

Country of ref document: EP

Kind code of ref document: A1