Method, device and computer program for electronic printing

A secure device with high certification generates and signs random numbers with additional validation data, addressing vulnerabilities in electronic drawing systems and ensuring secure and authentic draws.

FR3138553B1Active Publication Date: 2025-01-17LA FR DES JEUX DIRECTION JURIDIQUE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
FR2022007730
Authority / Receiving Office
FR · FR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-07-27
Publication Date
2025-01-17
Estimated Expiration
2042-07-27

AI Technical Summary

Technical Problem

Existing electronic drawing systems are vulnerable to attacks such as 'man in the middle,' temporal reuse of seeds, and excessive replay, compromising the integrity and security of random number generation.

Method used

Implementing a secure device with a high certification level, such as HSM nShield Connect, to generate and sign raw random numbers with additional validation data like sequence and temporal information, ensuring tamper-proof integrity and authentication of drawing parameters.

Benefits of technology

Enhances the reliability and security of electronic draws by preventing manipulation and ensuring the authenticity of random number generation, thereby safeguarding against attacks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000015_0000
    Figure 00000015_0000
  • Figure 00000015_0001
    Figure 00000015_0001
  • Figure 00000015_0002
    Figure 00000015_0002
Patent Text Reader

Abstract

The invention relates in particular to an electronic drawing method in a device, the device comprising a first and a second part, the first part being secure. After obtaining, in the first part, at least one raw random number and at least one private signing key, said private key having been previously stored in the first part, said at least one raw random number obtained is signed, in the first part, using said at least one private key obtained, and transmitted to a drawing module implemented in the second part. Abbreviated figure: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Method, device and computer program for electronic printing

[0001] The invention relates to the field of electronic drawing, in particular electronic drawing for games of chance.

[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 have any bias, that is to say that, statistically, the number of occurrences of a result is constant over a very large number of draws. By way of illustration, it is necessary, in a lottery drawing system using balls associated with numbers, to use balls which are equivalent in terms of shape and weight. In the context of an electronic draw, specific devices offering very good qualities of chance 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] [Fig. 1] illustrates an example of a gaming environment, in which an electronic draw is implemented according to a known embodiment.

[0004] 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 gaming modules, for example a module allowing players to participate in a lottery game. When a draw is to 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 comprises 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 allows raw random numbers (seeds) to be generated securely. The cryptographic card 140 also allows data to be stored securely, for example cryptographic keys 145, including private cryptographic keys that can be used to sign and thus authenticate the origin of data such as results of . draw.

[0005] As illustrated with reference to [Fig. 2], a computer program executed by the microprocessor and associated memory 135 may request raw random numbers from the cryptographic card 140, generate draw results from these raw random numbers, for example to provide sets of 5 digits between 1 and 49, and sign these draw results to enable their authentication.

[0006] [Fig. 2] illustrates the logical architecture of an electronic drawing system such as that described in [Fig. 1]. As illustrated, the cryptographic card 140 comprises a random number generator 200 which can, upon request, send a raw random number 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 received raw random number (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] Although the solution described with reference to figures 1 and 2 makes it possible to obtain quality results, it nevertheless has drawbacks.

[0008] First, 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 any 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] This solution can also be the victim of a temporal attack whereby a legitimate seed at a given time would be reused later. Thus, the attacker would steal a seed at a given time, study the results of a first draw, make a bet 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] Finally, this solution can also be the victim of an excessive replay attack, in which an attacker plays a very large number of draws to find a suitable combination.

[0011] The present invention aims in particular to solve these problems. Statement of the invention

[0012] To this end, the invention proposes a method, a device and a computer program for electronic drawing.

[0013] There is thus proposed an electronic drawing method in a device, the device comprising a first and a second part, the first part being secure, the method comprising,

[0014] - obtaining, in the first part, at least one raw random number,

[0015] - obtaining, in the first part, at least one private signature key, said key private having been previously memorized in the first part,

[0016] - signature, in the first part, of said at least one raw random number obtained at using said at least one obtained private key, and

[0017] - transmission of the signed data to a drawing module implemented in the second part.

[0018] 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 allowing subsequent authentication of certain print parameters and their verification.

[0019] According to particular embodiments, the method further comprises a step of authenticating, in said drawing module, the received signed data and, if the received data is authenticated, a step of drawing from said at least one raw random number included in the received signed data.

[0020] 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.

[0021] Still according to particular embodiments, said additional validation data comprises a sequence number, time information and / or a material reference of said first part.

[0022] Still according to particular embodiments, the method further comprises, in said drawing module, a step of validating said at least one raw random number received, said validation being based on said additional validation data.

[0023] There is also provided an electronic drawing system comprising a first and a second device, the first device being secure and comprising a data processing unit configured to,

[0024] - obtain at least one raw random number,

[0025] - obtain at least one private signature key,

[0026] - sign said at least one raw random number obtained using said at least a private key obtained, and

[0027] - transmit the signed data to a draw module implemented in the second device.

[0028] 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 allowing subsequent authentication of certain print parameters and their verification.

[0029] According to particular embodiments, said second device comprises a data processing unit configured to authenticate received signed data and, if the received data is authenticated, to perform a draw from said at least one raw random number included in the received signed data.

[0030] 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 additional validation data obtained using said at least one private key obtained.

[0031] According to particular embodiments, the data processing unit of said second device is further configured to validate said at least one received raw random number, said validation being based on said additional validation data.

[0032] A computer program, implementing all or part of the method described above is in itself advantageous, since it allows the security of electronic prints.

[0033] Thus, the present invention also relates to a computer program comprising instructions for implementing the method described above, when this program is executed by a processor.

[0034] This program may use any programming language (for example, an object language or other) and be in the form of interpretable source code, partially compiled code or fully compiled code.

[0035] Another aspect relates to a non-transitory storage medium for a computer-executable program, comprising a data set representing one or more programs, said one or more programs comprising instructions for, upon execution of said one or more programs by a computer comprising a processing unit operatively coupled to memory means and to an input / output interface module, to execute all or part of the method described above. Brief description of the drawings

[0036] Other characteristics, details and advantages of the invention will appear on reading the detailed description below. This is purely illustrative and must be read in conjunction with the appended drawings, in which: Fig. 1

[0037] [Fig-1] illustrates an example of a gaming environment, in which an electronic draw is implemented according to a known embodiment; Fig. 2

[0038] [Fig.2] illustrates the logical architecture of an electronic drawing system such as that described in [Fig.l]; Fig. 3

[0039] [Fig.3] illustrates an example of architecture of an electronic drawing system according to embodiments of the invention; Fig. 4

[0040] [Fig.4] illustrates an example of logical architecture of a part of the drawing system electronics shown in [Fig.3]; Fig. 5

[0041] [Fig.5] illustrates an example of steps implemented in a secure device for securely generate and transmit a raw random number; Fig. 6

[0042] [Fig.6] illustrates an example of steps to obtain a raw random number and perform a secure electronic draw; and Fig. 7

[0043] [Fig.7] illustrates an example of a device that can be used to implement, at at least partially, embodiments of the invention. Detailed description

[0044] According to particular embodiments, the invention aims to execute an embedded program in a device having a high level of certification in terms of security, for example a device certified according to the common criteria EAL4+ (acronym for Evaluation Assurance Level 4+ in English terminology), the embedded program, called 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, time information, a sequence number and / or a serial number (or any other unique or non-unique reference) of the hardware used. After signing, this set of data can be considered as tamper-proof. The data contained in this set can then be authenticated and used throughout the draw process, their integrity being able to be verified at any time.They can therefore 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.

[0045] For illustration purposes, the secure device may be (or include) the device known as HSM nShield Connect from Entrust Datacard (HSM nShield Connect and Entrust Datacard are registered trademarks), which is FIPS 140-2 and Common Criteria EAL4+ (EN 419 221-5) certified, meets the requirements of the European Union's elDAS (electronic Identification, Authentication and Trust Services) regulation, and provides scalable and highly available cryptographic key services.

[0046] To perform a draw, the draw module sends 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:

[0047] - a raw random number (the seed) required for the draw,

[0048] - time information such as the date and time at which the device secure hardware generated the raw random number, which allows the seed's age to be checked later,

[0049] - a sequence number such as a seed generation order number, which helps to avoid excessive firing attacks (observing that a large number of shots could be made in a few seconds),

[0050] - a serial number (or any other unique or non-unique reference) of the equipment used for where appropriate, carry out additional checks, and

[0051] - a signature of all the preceding data.

[0052] 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 may consist of comparing a fingerprint of the received data 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).

[0053] 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 secrets distributed in using for example Shamir's secret key sharing. As an illustration, the secret used for authentication can be divided into several parts, for example 8, distributed among several roles, for example 2. In this case, authentication is performed with at least 5 parties (authentication requires a quorum greater than what any one of the parties has alone, which makes it mandatory for both roles to intervene simultaneously).

[0054] [Fig.3] illustrates an example of architecture of an electronic drawing system according to embodiments of the invention.

[0055] 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 for performing checks and a game time stamping device 320 (also called PFH, acronym for Time Stamping Platform). These devices are connected to each other by one or more communication networks, for example an Internet and / or Ethernet type network.

[0056] Like the gaming device 105, the gaming device 305 allows the execution of gaming modules, for example a module allowing players to participate in a lottery game. When a draw is to be made, a request is transmitted to the server which responds with a draw result. The gaming device 305 is an electronic drawing system where the draw games are configured (for example the games Keno and / or Euromillion, 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 English terminology), which allows any game to be configured according to its characteristics.

[0057] 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 [Fig.7].

[0058] The secure data processing device 325 comprises in particular a data processing module 335 comprising a secure microprocessor and 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 English terminology) is a tamper-proof memory or electronic safe. It is impossible to remove data from it from the outside. The secure memory 345 is in particular used to store a private key used to sign a set of data as described above. The data processing module 335 comprises the secure program used to obtain a raw random number (seed), time information, a sequence number and / or a serial number (or any other unique or non-unique reference) of the hardware used as well as a private key and to sign the data obtained with the obtained private key. The raw random number is obtained (for example on request) from the module 340, the time 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 the secure memory 345 (the sequence number being for example incremented as soon as a raw random number is generated).

[0059] 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 English terminology) 365 and an interface 370, for example of the API type (acronym for Application Programming Interface in English 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.

[0060] The third-party device 315 may implement an independent control engine to perform security checks 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 timestamp platform has been requested, that the numbers drawn are the correct ones, etc. This control engine is preferably executed at the end of the drawing on an independent platform to verify all the information in the drawing, in order to validate that the drawing is legitimate and complete.

[0061] [Fig.4] illustrates an example of the logical architecture of a part of the electronic drawing system shown in [Fig.3].

[0062] As illustrated, the secure program 425 implemented in the secure device 325 is configured to obtain a raw random number (seed) 400, time information 405, a sequence number 410 and / or a serial number (or any other unique or non-unique reference) 415 of the hardware used as well as a private key 420 and to sign the data obtained (except for the private key) with the private key obtained. All of the data obtained (seed, time 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 to perform the draw, preferably after authentication and validation of the data received.

[0063] [Fig.5] illustrates an example of steps implemented in a secure device, for example the secure device 325 of [Fig.3], to generate and transmit securely a raw random number.

[0064] As illustrated, a first step (step 500) has the purpose of receiving a request to obtain a raw random number (seed). This request is for example received from the data processing device 330 illustrated in [Fig.3].

[0065] 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 the 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 the secure memory 345. The initial value can be configured during the installation of the system. In a following step, in parallel or previously, time 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 of the secure device 325 of [Fig. 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 obtained here (steps 520, 525 and 530, respectively), for example from the secure memory 325.

[0066] After being obtained, the raw random number, the time information, the sequence number and / or the serial number are signed using the obtained private key (step 535), for example using a known signature algorithm such as the signature algorithm known as RSA.

[0067] It is observed that according to other embodiments the signed data set comprises the raw random number and, optionally, one or more of the time information, the sequence number and the serial number. According to still other embodiments, this data set comprises other data.

[0068] The signed data, including the requested raw random number, is then transmitted (step 540), for example to a draw module.

[0069] [Fig. 6] illustrates an example of steps implemented in a draw module executed, for example, in the data processing device 330 illustrated in [Fig. 3], to obtain a raw random number and perform an electronic draw securely.

[0070] As illustrated, a first step involves receiving a draw request (step 600). This request is, for example, received from a gaming device such as the gaming device 305 in [Fig. 3].

[0071] In a next step, a request is addressed to a secure device, for example the secure device 325 of [Fig. 3], to obtain a raw random number or seed (step 605). In response to this request, a signed data set is received (step 610), i.e. a data set and a signature calculated on this dataset using a private key. This dataset includes the requested raw random number as well as, for example, time 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.

[0072] In a following step, an authentication test of the received data is performed (step 615). This test consists, for example, in calculating a fingerprint from all the received data and comparing this fingerprint with that obtained from the received signature decrypted with the public key corresponding to the private key used. If the signatures are different, the received data are not authenticated and the draw request is rejected. Otherwise, if the received data are authenticated, a test is preferably performed to check whether the received raw random number is valid (step 620). This test consists, for example, in comparing the time information with the current date. If the time information is later than the current date, it may be considered that the received raw random number is not valid. Furthermore, if the difference is greater than a given threshold, it may be considered that the received raw random number is too old.In these cases, the pull request may be rejected. Another test that can be performed to verify whether the received raw random number is valid is to check the received serial number or other device reference with a corresponding data previously received to verify that the received raw random number was indeed generated by the secure device to which the request was addressed. Yet another test to verify whether the received raw random number is valid is to verify that the received sequence number is consistent, in particular, with the number of pulls performed and with the number of pull requests received. Of course, there are many other types of tests that can be performed. These tests can be implemented in a combined manner or in a targeted manner, for example, according to the circumstances or randomly.

[0073] If the received raw random number is considered valid, a draw is made from it (step 625), according to predetermined parameters or parameters received from the gaming device originating the draw request. Otherwise, the draw request is preferably rejected.

[0074] [Fig. 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 FIGS. 3 to 6. It can be, for example, the gaming device 305 of [Fig. 3], the data processing device 330 of the server 310 of [Fig. 3], the third-party device 315 of [Fig. 3] or the timestamping device 320 of [Fig. 3].

[0075] The device 700 is for example a server blade, a server, a computer or a terminal.

[0076] The device 700 preferably comprises a communication bus 702 to which are connected:

[0077] - a central processing unit or microprocessor 704 (CPU, acronym for Central Processing Unit in Anglo-Saxon terminology);

[0078] - a 706 read-only memory (ROM, acronym for Read Only Memory in terminology Anglo-Saxon) which may include an operating system and programs such as "Prog";

[0079] - a random access memory 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

[0080] - 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 another device.

[0081] Optionally, the device 700 may also have the following elements:

[0082] - a hard disk 720 which can contain the aforementioned "Prog" programs and data processed or to be processed according to the invention;

[0083] - a keyboard 722 and a mouse 724 or any other pointing device such as a light pen, a touch screen or a remote control allowing the user to interact with the programs according to the invention;

[0084] - a reader 710 of removable storage media 712 such as a memory card or a disc, for example a DVD disc; and

[0085] - a graphics card 714 connected to a screen 716.

[0086] 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 limiting 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.

[0087] 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.

[0088] According to a variant, the executable code of the programs may be received via the communication network 728, via the interface 726, to be stored in a manner identical to that described previously.

[0089] More generally, the program(s) may be loaded into one of the storage means of the device 700 before being executed.

[0090] 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 the power is switched on, 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 into the random access memory 708 which then contains the executable code of the program(s) according to the invention, as well as registers for storing the variables and parameters necessary for implementing the invention.

[0091] Depending on the embodiment chosen, certain acts, actions, events or functions of each of the methods described herein may be performed or occur in a different order than that in which they were described, or may be added, merged or not performed or not occur, as the case may be. Furthermore, in some embodiments, certain acts, actions or events are performed or occur concurrently and not successively.

[0092] Although described through a number of detailed exemplary embodiments, the proposed method and the equipment for implementing the method include various variations, modifications and improvements which will be apparent to those skilled in the art, it being understood that these various variations, modifications and improvements are part of the scope of the invention, as defined by the claims which follow. In addition, different aspects and features described above may be implemented together, or separately, or substituted for each other, and all of the various combinations and sub-combinations of the aspects and features are part of the scope of the invention. Furthermore, some systems and equipment described above may not incorporate all of the modules and functions described for the preferred embodiments.

Claims

Claims

1. Method for electronic drawing in a device, the device comprising a first and a second part, the first part being secure, the method comprising, - obtaining (505), in the first part, at least one raw random number, - obtaining (530), in the first part, at least one private signature key, said private key having been previously stored in the first part, - signing (535), in the first part, said at least one raw random number obtained using said at least one private key obtained, and - transmitting (540) the signed data to a drawing module implemented in the second part.

2. Method according to claim 1, further comprising a step of authenticating (615), in said drawing module, the received signed data and, if the received data is authenticated, a step of drawing from said at least one raw random number included in the received signed data.

3. The method of claim 1 or claim 2, further comprising obtaining (515, 520, 525), in the first part, additional validation data, said signature comprising signing said at least one obtained raw random number and said additional validation data obtained using said at least one obtained private key.

4. The method of claim 3, wherein said additional validation data comprises a sequence number, time information and / or a hardware reference of said first part.

5. A method according to claim 3 or claim 4, further comprising, in said drawing module, a step of validating (620) said at least one received raw random number, said validation being based on said additional validation data.

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. An electronic drawing system comprising a first and a second dis- positive, the first device being secure and comprising a data processing unit configured to, - obtain (505) at least one raw random number, - obtain (530) at least one private signature key, - sign (535) said at least one raw random number obtained using said at least one private key obtained, and - transmit (540) the signed data to a draw module implemented in the second device.

8. The system of 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 raw random number included in the received signed data.

9. The system of claim 7 or claim 8, wherein 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 obtained raw random number and said additional validation data obtained using said at least one obtained private key.

10. The system of claim 9, wherein the data processing unit of said second device is further configured to validate (620) said at least one received raw random number, said validation being based on said additional validation data.