Electronic security technique for gaming software
First Claim
1. A method of authenticating a suspect computer file in a gaming device comprising:
- computing a verification code for a trusted computer file containing a game program code or a game-related code external to said gaming device;
storing said verification code in a first unalterable memory device in said gaming device, said game program code or said game-related code being stored in other than said first unalterable memory device;
on loading of said suspect computer file into an alterable memory in said gaming device, computing a live code from said suspect computer file in said gaming device;
comparing said live code to said verification code from said first unalterable memory device in said gaming device; and
permitting operation of said suspect computer file if said live code is equal to said verification code.
18 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for securing the game program software and related data files used by a gaming device and for authenticating such files during game startup and play. In one embodiment of the present invention, a verification code is generated by the manufacturer for each software file and data file used by the game. The verification codes are stored in a non-volatile, tamper-proof, read-only memory device, which is (in some embodiments) securely attached to the gaming device. On some or every download of the game software and/or related data files into the gaming device, commencement of a game, or on the occurrence of certain pre-defined events, the stored verification code is used to validate the game software and data files. In some embodiments, verification is performed automatically on a periodic basis without operator or player action. Verification consists of calculating a live verification code for some or all of the software and data files present in the alterable random access memory using the same method chosen to create the stored verification code. In some embodiments of the present invention, the verification code is the result of a hash function of trusted copies of each software and related data file. If the live code matches the stored code for every suspect file, then operation and play proceeds normally. If, however, one or more codes do not match, an error condition is declared, operation is halted, and notification of the error condition follows.
230 Citations
36 Claims
-
1. A method of authenticating a suspect computer file in a gaming device comprising:
-
computing a verification code for a trusted computer file containing a game program code or a game-related code external to said gaming device;
storing said verification code in a first unalterable memory device in said gaming device, said game program code or said game-related code being stored in other than said first unalterable memory device;
on loading of said suspect computer file into an alterable memory in said gaming device, computing a live code from said suspect computer file in said gaming device;
comparing said live code to said verification code from said first unalterable memory device in said gaming device; and
permitting operation of said suspect computer file if said live code is equal to said verification code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
said computing the verification code comprises hashing said trusted computer file; and
said computing the live code comprises hashing said suspect computer file.
-
-
3. The method of claim 2, wherein said hashing uses a Panama hash code.
-
4. The method of claim 1, wherein said unalterable memory device comprises a read-only memory.
-
5. The method of claim 1, further comprising prohibiting play if the live code is not equal to the verification code.
-
6. The method of claim 5, further comprising alerting an operator.
-
7. The method of claim 1, further comprising:
-
computing a second live code in said gaming device from said alterable memory on a designated event;
comparing said second live code to said verification code; and
permitting operation of said computer file if said second live code is equal to said verification code.
-
-
8. The method of claim 1, further comprising:
-
computing a second live code in said gaming device from said alterable memory on elapse of a defined time interval;
comparing said second live code to said verification code; and
permitting operation of said computer file if said second live code is equal to said verification code.
-
-
9. The method of claim 1, wherein said verification code stored in said first unalterable memory is unencrypted.
-
10. An apparatus for authenticating a suspect computer file in a gaming device, comprising:
-
circuitry external to said gaming device for computing a verification code for a trusted computer file containing a game program code or a game-related code;
a first unalterable memory device in said gaming device adapted to being configured by said external circuitry to store said verification code and storing said verification code, said game program code or said game-related code being stored in other than said first unalterable memory device;
circuitry in said gaming device for computing a live code from said suspect computer file on loading of said suspect computer file into an alterable memory in said gaming device; and
circuitry in said gaming device for comparing said live code to said verification code from said first unalterable memory device and permitting operation of said suspect computer file if said live code is equal to said verification code. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
said circuitry for computing the verification code hashes said trusted computer file; and
said circuitry for computing the live code hashes said suspect computer file.
-
-
12. The apparatus of claim 11, wherein said circuitry for computing said verification code and said circuitry for computing said live code use a Panama hash code.
-
13. The apparatus of claim 10, wherein said unalterable memory device comprises a read-only memory.
-
14. The apparatus of claim 10 wherein said circuitry for comparing further comprises circuitry prohibiting play if the live code is not equal to the verification code.
-
15. The apparatus of claim 14, wherein said circuitry for comparing further comprises circuitry alerting an operator.
-
16. The apparatus of claim 10, further comprising:
-
circuitry for computing a second live code in said gaming device from said alterable memory on a designated event; and
circuitry for comparing said second live code to said verification code stored in said unalterable memory device and permitting operation of said computer file if said second live code is equal to said verification code.
-
-
17. The apparatus of claim 10, further comprising:
-
circuitry for computing a second live code in said gaming device from said alterable memory on elapse of a defined time interval; and
circuitry for comparing said second live code to said verification code stored in said unalterable memory device and permitting operation of said computer file if said second live code is equal to said verification code.
-
-
18. The apparatus of claim 10, wherein said verification code stored in said first unalterable memory is unencrypted.
-
19. A computer system for authenticating a suspect computer file in a gaming device, comprising computer instructions for:
-
computing a verification code for a trusted computer file containing a game program code or a game-related code external to said gaming device;
storing said verification code in a first unalterable memory device in said gaming device, said game program code or said game-related code being stored in other than said first unalterable memory device;
on loading of said suspect computer file into an alterable memory in said gaming device, computing a live code from said suspect computer file in said gaming device;
comparing said live code to said verification code from said first unalterable memory device in said gaming device; and
permitting operation of said suspect computer file if said live code is equal to said verification code. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
said computing the verification code comprises hashing said trusted computer file; and
said computing the live code comprises hashing said suspect computer file.
-
-
21. The computer system of claim 20, wherein said hashing uses a Panama hash code.
-
22. The computer system of claim 19, wherein said unalterable memory device comprises a read-only memory.
-
23. The computer system of claim 19, further comprising prohibiting play if the live code is not equal to the verification code.
-
24. The computer system of claim 23, further comprising alerting an operator.
-
25. The computer system of claim 19, further comprising:
-
computing a second live code in said gaming device from said alterable memory on a designated event;
comparing said second live code to said verification code; and
permitting operation of said computer file if said second live code is equal to said verification code.
-
-
26. The computer system of claim 19, further comprising:
-
computing a second live code in said gaming device from said alterable memory on elapse of a defined time interval;
comparing said second live code to said verification code; and
permitting operation of said computer file if said second live code is equal to said verification code.
-
-
27. The computer system of claim 19, wherein said verification code stored in said first unalterable memory is unencrypted.
-
28. A computer-readable storage medium, comprising computer instructions for:
-
computing a verification code for a trusted computer file containing a game program code or a game-related code external to said gaming device;
storing said verification code in a first unalterable memory device in said gaming device, said game program code or said game-related code being stored in other than said first unalterable memory device;
on loading of said suspect computer file into an alterable memory in said gaming device, computing a live code from said suspect computer file in said gaming device;
comparing said live code to said verification code from said first unalterable memory device in said gaming device; and
permitting operation of said suspect computer file if said live code is equal to said verification code. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
said computing the verification code comprises hashing said trusted computer file; and
said computing the live code comprises hashing said suspect computer file.
-
-
30. The computer-readable storage medium of claim 29, wherein said hashing uses a Panama hash code.
-
31. The computer-readable storage medium of claim 28, wherein said unalterable memory device comprises a read-only memory.
-
32. The computer-readable storage medium of claim 28, further comprising prohibiting play if the live code is not equal to the verification code.
-
33. The computer-readable storage medium of claim 32, further comprising alerting an operator.
-
34. The computer-readable storage medium of claim 28, further comprising:
-
computing a second live code in said gaming device from said alterable memory on a designated event;
comparing said second live code to said verification code; and
permitting operation of said computer file if said second live code is equal to said verification code.
-
-
35. The computer-readable storage medium of claim 28, further comprising:
-
computing a second live code in said gaming device from said alterable memory on elapse of a defined time interval;
comparing said second live code to said verification code; and
permitting operation of said computer file if said second live code is equal to said verification code.
-
-
36. The computer-readable storage medium of claim 28, wherein said verification code stored in said first unalterable memory is unencrypted.
Specification