Method and apparatus for software authentication
First Claim
1. A method of installing application data including a software application program for generating a game on a gaming machine, the method comprising:
- providing the gaming machine, said gaming machine comprising a) a processor, b) a main memory coupled to the processor configured to store the application data wherein during operation of the gaming machine the application data is loaded from a fixed media to the main memory to generated the game, c) the fixed media configured to store the application data wherein the fixed media is installed on the gaming machine, d) a secure memory including authentication software and e) a removable media reader configured to read data from a removable media when the removable media is communicatively coupled to the removable media reader;
detecting the removable media is coupled to the removable media reader;
reading first authentication data from said removable media, the first authentication data comprising a file verification table (FVT) comprising an entry for each application file of the application data and a first hash value for each application file, the FVT also comprising an encrypted file signature, the encrypted file signature obtained by performing a hash function on the FVT, the reading of the first authentication data comprising decrypting the encrypted file signature to provide a decrypted file signature;
executing the authentication software on to perform calculations on said application data to obtain second authentication data based on said application data on said removable media, the second authentication data comprising application files stored on the removable media and a re-calculated file signature obtained by performing another hash function on the FVT;
comparing said first authentication data to said second authentication data, the comparing of the first and second authentication data comprising comparing the decrypted and re-calculated file signatures and, if they match, performing a hash function on each application file of the removable media to obtain a second hash value for each application file on the removable media, and one file at a time, comparing the first and second hash values;
installing said application data including the software application program from said removable media to said fixed media if said first authentication data is identical to said second authentication data; and
configuring the software application program installed on said fixed media for generating the game on said gaming machine.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for authenticating gaming machine software is disclosed. In one embodiment the method and apparatus is used to authenticate the contents of a removable media. Use of a removable media provides means to store large amounts of software on a single media to install software, perform software updates, diagnose gaming machines, authenticate software, or configure gaming machines. An authentication file may contain a listing of each file on the removable media and an associated hash value calculated with a hash function. The hash values are calculated and stored in an authentication file and encryption of the one or more hash values may occur. A hash value re-calculation is performed on each file at a later time to determine the hash value at the time of use. The re-calculated hash values are compared to the decrypted hash values stored in the authentication file.
-
Citations
14 Claims
-
1. A method of installing application data including a software application program for generating a game on a gaming machine, the method comprising:
-
providing the gaming machine, said gaming machine comprising a) a processor, b) a main memory coupled to the processor configured to store the application data wherein during operation of the gaming machine the application data is loaded from a fixed media to the main memory to generated the game, c) the fixed media configured to store the application data wherein the fixed media is installed on the gaming machine, d) a secure memory including authentication software and e) a removable media reader configured to read data from a removable media when the removable media is communicatively coupled to the removable media reader; detecting the removable media is coupled to the removable media reader; reading first authentication data from said removable media, the first authentication data comprising a file verification table (FVT) comprising an entry for each application file of the application data and a first hash value for each application file, the FVT also comprising an encrypted file signature, the encrypted file signature obtained by performing a hash function on the FVT, the reading of the first authentication data comprising decrypting the encrypted file signature to provide a decrypted file signature; executing the authentication software on to perform calculations on said application data to obtain second authentication data based on said application data on said removable media, the second authentication data comprising application files stored on the removable media and a re-calculated file signature obtained by performing another hash function on the FVT; comparing said first authentication data to said second authentication data, the comparing of the first and second authentication data comprising comparing the decrypted and re-calculated file signatures and, if they match, performing a hash function on each application file of the removable media to obtain a second hash value for each application file on the removable media, and one file at a time, comparing the first and second hash values; installing said application data including the software application program from said removable media to said fixed media if said first authentication data is identical to said second authentication data; and configuring the software application program installed on said fixed media for generating the game on said gaming machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
Specification