Encryption in a secure computerized gaming system
First Claim
1. A method of authenticating a game data set used in a computerized gaming apparatus, the method comprising:
- providing the game data set including a set of program files;
providing a random seed value;
providing an order for a set of original program files wherein the set of program files are nominally duplicate copies of the original program files;
providing an original message authentication code set for the original game data set, wherein the original message authentication code set includes a message authentication code for each original program file in a set of original program files and wherein the message authentication code generated for each original program file is dependent on the random seed value, the message authentication code generated for at least one other original program file and the order for the set of program files;
storing a file identifier for each original program file in the set of the original program files corresponding to a file in the set of program files, the order for the set of the original program files, the original message authentication code set, and the random seed value as a control file in a nonvolatile memory wherein the control file is encrypted;
receiving the control file from the nonvolatile memory;
decrypting the control file to provide the file identifier for each original program file in the set of the original program files corresponding to a file in the set of program files, the order for the set of the original program files, the original message authentication code set, the message authentication code for each program file, and the random seed value;
when the computerized gaming apparatus is operational, determining a complementary message authentication code set including a complementary message authentication code for each program file in the set of program files wherein the complementary message authentication code for each program file is dependent on the random seed value, the complimentary message authentication code for at least one other program file and the order for the set of the original program files and wherein each program file is located using the file identifier stored in the control file; and
comparing the original message authentication code set to the complementary message authentication code set to verify authentication of the game data set.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides an architecture and method for a gaming-specific platform that features secure storage and verification of game code and other data, provides the ability to securely exchange data with a computerized wagering gaming system, and does so in a manner that is straightforward and easy to manage. Some embodiments of the invention provide the ability to identify game program code as certified or approved, such as by the Nevada Gaming Regulations Commission or other regulatory agency. The invention provides these and other functions by use of encryption, including digital signatures and hash functions as well as other encryption methods.
252 Citations
13 Claims
-
1. A method of authenticating a game data set used in a computerized gaming apparatus, the method comprising:
-
providing the game data set including a set of program files; providing a random seed value; providing an order for a set of original program files wherein the set of program files are nominally duplicate copies of the original program files; providing an original message authentication code set for the original game data set, wherein the original message authentication code set includes a message authentication code for each original program file in a set of original program files and wherein the message authentication code generated for each original program file is dependent on the random seed value, the message authentication code generated for at least one other original program file and the order for the set of program files; storing a file identifier for each original program file in the set of the original program files corresponding to a file in the set of program files, the order for the set of the original program files, the original message authentication code set, and the random seed value as a control file in a nonvolatile memory wherein the control file is encrypted; receiving the control file from the nonvolatile memory; decrypting the control file to provide the file identifier for each original program file in the set of the original program files corresponding to a file in the set of program files, the order for the set of the original program files, the original message authentication code set, the message authentication code for each program file, and the random seed value; when the computerized gaming apparatus is operational, determining a complementary message authentication code set including a complementary message authentication code for each program file in the set of program files wherein the complementary message authentication code for each program file is dependent on the random seed value, the complimentary message authentication code for at least one other program file and the order for the set of the original program files and wherein each program file is located using the file identifier stored in the control file; and comparing the original message authentication code set to the complementary message authentication code set to verify authentication of the game data set. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A casino computerized wagering gaming system comprising:
-
a nonvolatile memory storing a complimentary game data set and an encrypted control file; a volatile memory providing executable space for a game controller; the encrypted control file including file identifiers corresponding to files in the complementary game data set, an order for the file identifiers, an original message authentication code set, and a random seed value wherein the original message authentication code set includes a message authentication code for each original program file in an original game data set and wherein the message authentication code generated for each original program file is dependent on the random seed value, the message authentication code generated for at least one other original program file and the order for the file identifiers and wherein the files in the complementary game data set nominally correspond to the original program files in the original game data set; the game controller, wherein the game controller operates to authenticate a the complimentary game data set against the original game data set by i) determining a complementary message authentication code set including a complementary message authentication code for one or more files in the complementary game data set wherein the complementary message authentication code for each file is dependent on the random seed value, the complimentary message authentication code generated for at least one other file in the complementary data set and the order of the file identifiers wherein each file is located using the file identifier stored in the control file; and
ii) comparing the original message authentication code set to the complementary message authentication code set to verify authentication of the complimentary game data set.
-
-
7. A casino based computerized game system comprising:
-
a nonvolatile memory storing a complimentary game data set, an encrypted control file and a message authentication code process; a volatile memory for providing an executable space for a game controller; the encrypted control file including file identifiers corresponding to files in the complementary game data set, an order for the file identifiers, an original message authentication code set, and a random seed value wherein the original message authentication code set includes a message authentication code for each original program file in an original game data set and wherein the message authentication code generated for each original program file is dependent on the random seed value, the message authentication code generated for at least one other original program file and the order for the file identifiers and wherein the files in the complementary game data set nominally correspond to the original program files in the original game data set; a the game controller, wherein the gaming controller operates to decrypt the encrypted control file and authenticate the complementary game data set during operation of the gaming system and during play of a game on the gaming system;
wherein the game controller operates to authenticate the complimentary game data set by executing the message authentication code process, said message authentication code process comprising, i) determining a complementary message authentication code set including a complementary message authentication code for one or more files in the complementary game data set wherein the complementary message authentication code for each file is dependent on the random seed value, the complimentary message authentication code generated for at least one other file in the complementary data set and the order of the file identifiers wherein each file is located using the file identifier stored in the control file; and
ii) comparing the original message authentication code set to the complementary message authentication code set to verify authentication of the complimentary game data set;gaming system devices in communication with the game controller via a gaming system interface. - View Dependent Claims (8, 9, 10)
-
-
11. A method of continuously verifying a game played on a gaming system comprising:
-
receiving a game data set comprising a plurality of files; determining an order of the plurality of files; storing the determined order of the plurality of files; determining a hashed output unique to the game data set using a random seed value and the determined order of the plurality of files wherein the hashing of each file is different from the other files; storing the hashed output in a nonvolatile memory; transferring the game data set to the volatile memory for use during play of the game; each time the game data set is transferred from the nonvolatile memory to the volatile memory during play of the game, determining a complementary hashed output unique to the transferred game data set using the random seed value, the game data set located in the volatile memory and the stored order of the plurality of files; comparing the stored hashed output to the complementary hashed output. - View Dependent Claims (12, 13)
-
Specification